首页 > 其他分享 >软件测试理论知识

软件测试理论知识

时间:2024-10-15 19:22:51浏览次数:1  
标签:sit 冒烟 用例 开发 理论知识 测试 bug 软件测试

软件测试知识:

1、为什么要测试?

(1)代码是人写的,难免会出错

(2)软件本身就会存在问题,非正常运行也会问题

(3)环境会影响软件出现问题

(4)软件测试活动是保证软件测试质量之一

2、测试的定义什么?(重点)

制造业定义:以检验产品是否满足需求为目标

软件行业定义:

a、验证软件的正确性

b、发现软件中的缺陷(找bug)

3、软件生命周期?

指的是软件从产生到报废的整个过程,是一种时间的概念。

4、软件生命周期包括哪些阶段?
(1)问题引入或定义
(2)可行性分析(涉及经济,政治,法律,技术)
(3)项目招投标
(4)项目立项
(5)需求分析
(6)开发阶段(设计,编码,测试)
(7)维护

5、软件什么周期模型有些?
• --瀑布模型(waterfall) 目前已经淘汰
• --V模型(重点讲解)
• --W模型
• --H模型 (重点讲解)
• --敏捷开发模型 (重点讲解)
• --迭代开发模型
• --增量开发模型

6、v模型

需求(简称:srs) 产品输出

全称:软件需求规格说明书

1、用户需求

类型:一个文档;

内容:对整个项目的设计、框架、功能、模块的描述

2、概要设计 (开发输出)

简称:(HLD)

类型:文档

内容:架构的初步设计文档,使用说明什么类型数据库,架构的描述,设计,模块的名称

(可理解为:盖房子的大概设计,基本框架结构)

3、详细设计

简称(LLD)

类型:也是一个文档

内容:针对功能具体的实现,模块的具体实现,具体设计,架构的具体描述,

(可理解为:房子的具体的装饰设计)

v模型的四个阶段:

(1)单元测试

单元测试:

是指验证软件单元是否满足详细设计文档的规格,能正确的执行,主要是对代码的测试.

单元测试也是最小的测试单位;
在工作中单元测试一般情况是开发自测,如果需要测试进行单元测试,对测试的技术要求非常高,必须要懂开发语言;

理解:单元测试,课本上有10个单元一本书(一单元测试)

(2)集成测试

集成测试是指多个单元组合验证软件是否满足概要设计文档的规格,能正常执行,主要是模块与模块之间的数据交互。

理解:课本上有10个单元(有2个单元或2个单元模块以上测试,比如期中考试1-6单元)

(3)系统测试

系统测试是指把软件进行正常运行,对整个软件系统进行测试,验证这个系统能正常的运行,主要是测试一个整体业务的流程。

理解:课本上有10个单元(测试1-10 单元综合测试)

(4)验收测试

验收测试是指:站在用户角度去对软件进行测试,验证系统满足用户需求;

验收测试测试分为两种:alpha测试(α) 和 bete测试(β)

α测试是内部验收测试
β测试是客户方测试

α测试和β测试区别:

1、α测试测试地点:是在自己公司 ;β测试一般在客户方

2、α测试都是内部人员进行测试,开发在现场及时发现问题,及时解决;

   β测试是在客户方的员工测试,发现问题在反馈给开发在解决

3、α测试测试时间短,技术人员比较集中;

  β测试测试时间较长,测试人员不集中;

============================

备注:

(1)集成测试(it)和系统测试(st) 合并成(sit测试)

(2)sit测试(系统集成测试), 技术测试 ;uat测试(验收测试)

(3)sit环境 (sit1环境,sit2环境,sit3环境);uat环境(专门用来验收环境)

(4)环境:

a.线上环境(也叫生成环境)

b.测试环境:测试人员使用

c、开发环境:开发人员使用

============================

H模型(重点)

测试线:

(1)需求澄清会议(产品经理会组织需求会议)

(2)拿到需求,深入分析和了解需求文档

(3)测试经理编写测试计划 (重点)

测试计划:(内容:测试目的,背景,范围,测试准入,测试准出,环境和资源,测试任务和测试进度,风险及风险管理,测试交付文档)

准入:

开发:需求分析报告,需求规格说明书,概要设计说明书,详细设计说明书,版本说明书及开发自测报告;

测试:写好测试计划,测试用例通过,测试环境搭建好

准出:

a.用例100%执行

b.0bug

c.输出测试报告

(4)安排任务,测试分析需求,编写用例

(5)评审用例(测试人员:组内评审(项目评审人员:开发,测试,产品都参加),交叉评审(测试人员之间评审:测试a、测试b、测试c))

(6)用例评审通过以后导入到用例管理工具中;如:禅道.testlink

(7) 搭建测试环境(运维搭建,自己搭建,测试管理搭建)

(8)开发提交代码包,提测(也叫转测) 要达到准入要求;

(9)测试将代码包部署到环境,

(10)进行冒烟测试,冒烟测试通过,进入sit测试,如果,冒烟测试不通过,就把版本打回给开发,开发修改,在提测。

冒烟测试(也叫版本验证测试)定义:指对新版本的主要功能,基本功能进行测试。

如果通过,那么冒烟测试通过,如果冒烟测试失败,那么就把版本打回给开发进行修改,直到冒烟测试通过

(11)sit系统集成测试(一般一个项目有3次系统集成测试,有些项目周期长也有4次,5次)

(12)第一次sit测试也叫全量测试(把前面写的所有用例都要进行测试),测试出来的bug,指派给开发(通过bug工具如:禅道),测试小结

(13)开发修改bug,在提交代码

(14)测试在第二次部署项目包,在进行第二次sit测试前也要进行冒烟测试,冒烟测试通过以后才能进行第二次sit测试;

第二sit测试和第三sit测试都叫做回归测试

回归测试:是系统维护阶段进行的验证测试

区别:测试阶段不同

冒烟测试是版本提交时第一个测试,回归测试是在维护阶段测试

(14)第二次sit测试,在将bug提交给开发,开发修改,

(15)第三sit测试,先冒烟测试,在去测试,验证。。。。。。以此类推,

备注:测试用例的来源:

a、冒烟测试用例

b、验证上一个版本提交bug的用例

c、测试与bug有关联的模块用例

d、你认为可疑的测试场景和测试用例

e、测试补充的测试用例和测试场景

(16)直到达到准出:用例100%执行,0bug,

(17)输出测试报告=========================说明sit测试测完(表示技术测完)

测试报告:

内容:测试目的,测试范围,测试背景,测试实施日期,测试人员,bug 清单,用例清单,测试结果,

(18)sit测完通知 uat 测试,uat验收通过,

(19)封板(封装版本)

(20)等待上线

(21)上线前准备线上数据

(22)上线后在线上测试,

(23)测试没有bug,如有bug就要分析bug,bug影响程度,影响大,就回退版本,如果影响小就备注下次版本修改

(24)上线成功

================================================

主流程:

产品开需求会议测试和开发拿到需求分析需求=编写测试计划(测试经理)编写测试用例=评审用例,评审通过将用例导入用例管理工具=搭建环境开发提测,达到准入要求部署项目包到环境中=开始冒烟测试sit1系统集成测试有bug提交给开发开发修改好提交第二次代码包=部署项目包到环境中在冒烟测试sit2测试=以此类推直到达到准出要求0bug,用例100%执行输出测试报告通知uat测试=uat验收通过封装版本=等待上线=准备线上数据=上线==线上测试=测试无bug表示上线成功。

================================================

根据讲解的H模型:梳理(重点记)

产品拿出需求规格说明书(srs);召开需求会议,分析需求,熟悉需求;测试负责人拿到需求开始编写测试计划;安排测试任务,各自编写测试用例;编写完用例后在对用例进行评审(有组内评审,有交叉评审);评审通过以后,导入到用例管理工具中;在搭建好环境(运维或测试人员);开发开发完也要进行提测(达到准入);测试将代码包部署到环境中;在进行冒烟测试,冒烟测试通过(如果冒烟失败,就打回版本),就进行sit1系统集成测试,将所有测试用例都执行一遍;有bug提交给开发,开发修改,再提交代码包;进行第二次sit系统集成测试,也要冒烟测试,冒烟测试以后就开始进行sit2系统集成测试,测试中发现的bug,提交给开发,开发修改,再提交第三次代码包,进行第三sit系统集成,以此类推,直到测试用例100%执行,0bug(达到测试准出),输出测试报告;通知uat验收,验收通过;封装版本,打包,准备线上数据,上线,线上测试,线上测试通过,上线成功。(如果线上有bug根据影响程度判断:影响大就回退版本,如果影响小,备注好下一个版本解决)

===============================================

自动化部署H模型:(拓展)jenkins自动化部署工程,是自动化部署环境

产品拿出需求规格说明书(srs);召开需求会议,分析需求,熟悉需求;测试负责人拿到需求开始编写测试计划;安排测试任务,各自编写测试用例;编写完用例后在对用例进行评审(有组内评审,有交叉评审);评审通过以后,导入到用例管理工具中;在搭建好环境(运维或测试人员);开发开发完也要进行提测(达到准入);搭建自动部署环境平台;通过jenkins去构建对应的工程;将代码包部署到环境中,在进行冒烟测试,冒烟测试通过(如果冒烟失败,就打回版本),就进行sit1系统集成测试,将所有测试用例都执行一遍;有bug提交给开发,开发修改,开发体提交代码包,合并分支;通过jenkins去构建对应的工程拉取最新的代码,进行第二次sit系统集成测试,也要冒烟测试,冒烟测试以后就开始进行sit2系统集成测试,测试中发现的bug,提交给开发,开发修改,通过jenkins去构建对应的工程拉取最新的代码,进行第三sit系统集成,以此类推,直到测试用例100%执行,0bug(达到测试准出),输出测试报告;通知uat验收,验收通过;封装版本,打包,准备线上数据,上线,线上测试,线上测试通过,上线成功。(如果线上有bug根据影响程度判断:影响大就回退版本,如果影响小,备注好下一个版本解决)

产品召开需求会议,澄清需求;测试开发拿到需求,开发就去开发项目,测试就开始了解,分析需求,测试经理编写测试计划;测试人员开始分析需求,编写测试用例,测试用例评审:评审分为两种(组内评审【开发、测试、产品】,交叉评审【测试人员】),评审通过就导入用例管理工具;分配给对应测试人员;运维搭建好测试环境;开发提测达到准入(开发要求:需求、开发自测报告)(测试要求:用例评审通过、环境搭建好),将代码包部署到环境中;冒烟测试(冒烟测试:是对主要功能和流程进行测试),冒烟测试通过以后就进行sit系统集成测试(如果冒烟失败,就将版本退回,开发修改在提交,直到冒烟通过);sit系统集成就全量测试(测试所有的用例),测出的bug就提高到bug管理工具上:比如禅道,指派给开发,开发修改bug,在提交代码包,测试将代码包部署到环境中,进行sit2系统集成测试(sit2和sit3 的用例来源:冒烟测试用例、上一个版本bug的用例、相关联模块的用例、你认为可疑的用例、补充测试用例),有bug提交给开发,开发修改bug,提交代码包,测试测试将代码包部署到环境中,进行sit3系统集成测试,先冒烟测试,冒烟测试通过,就测试用例,达到准出要求:用例100%执行,0bug,输出测试报告。通过uat验收测试,验收通过,封装版本,等待上线,准备线上数据,上线,线上测试,测试无bug,上线成功。(上线出去bug,根据bug的影响程度,影响大就回退版本,影响下就备注下一个版本解决)

测试计划:测试背景、测试目的、测试环境、测试范围、测试准入、测试准出、测试进度、测试人力、测试安排、测试风险、测试文档
测试报告:测试概述(测试时间、测试人力、测试bug数量)、测试背景、测试目的、测试范围、测试环境、测试实际人员、bug清单、
用例清单
准入:测试 用例编写、用例评审通过、环境搭建好
准出:测试 用例100%执行、0bug 、输出测试报告
每次用例的来源:
第一次sit系统集成测试:全部用例
第二次sit系统集成测试或第三次:
冒烟测试用例、上一个版本bug的用例、相关联模块的用例、你认为可疑的用例、补充测试用例

产品经理1召开会议,澄清需求
测试开发2开发拿到需求就去开发项目, 6开发提测达到准入(开发要求:需求,开发自测报告)(测试要求:用例评审通过,环境的搭建好)9开发修改11开发第二次修改。
测试经理3了解分析需求 编写测试计划。
测试人员4了解分析需求编写测试用例,用例评审(两种:组内评审【开发,测试,产品】,交叉评审【测试人员】)评审通过就导入用例管理工具,分配给测试人员。
运维或测试人员5搭建好测试环境,7进行冒烟测试,(如果失败就将版本退回,开发修改后在提交,直到冒烟测试通过【冒烟测试:主要功能和流程测试】)冒烟测试通过。8sit集成测试(测试全部用例),测试出bug就提交到bug管理工具上指派给开发10第二次sit集成测试(冒烟测试用例,上个版本的bug用例,相关模块用例,你认为可疑的用例,补充测试用例。)测试出bug就提交到bug管理工具上指派给开发12第三次sit集成测试和第二次一样。13准出:100%用例执行没有bug。14uat验收测试验收通过封装版本等待上线,线上测试无bug,上线成功。

================================================

敏捷开发模型(重点)

敏捷开发模型是一个新型模型适应快速需求变化,交付周期比较短,轻量级的开发模式。

时间:一周,两周,一个月

产品拿到一个需求,开发一周,测试编写用例,第二周测试去测试,开发修改,修改好就上线

================================================

增量开发模型

项目被分为一系列的增量,每一个增量都交付整个项目需求中的一部分功能,需求按优先级进行划分增量的交付。

如:买家版,卖家版, 商家版, ,先买家版,

================================================

迭代开发 模型(重点)

项目被分为大量的迭代过程,一次迭代就是一个完整的开发流程,也是一个可以发布的可执行的产品,输入软件开发周期中最终产品的一个子集。

如:拍拍,微信、qq

===============================================

面试题:(回答H 模型)

1、你上一家公司工作的流程?

2、给你一个需求,你会怎么做?

3、说说你在公司中如何开展测试工作?

4、你们公司测试流程?

===============================================

测试的基本原则:

1、测试是从用户的角度去测试;(用户故事测试)

2、测试不仅测试是软件本身,(比如:测试环境,配置,网络等)

3、软件外在可用,不代表软件没有问题(比如:aap能下载安装,点击就闪退)

4、软件测试是没有完成正确,只有更加完美

5、测试是永远测不完的

6、测试应尽早介入(比如:建房,开始就介入测试就可以发现更多问题,等)

7、2/8原则, (80%的错误集中在20%的区域)比如:

8、杀虫剂效应

9、测试尽量选择第三方测试

10、测试活动的依赖对象(功能测试,性能测试,安全测试等)

===============================================

测试活动的周期

测试计划(安排任务)-------测试分析和设计(编写用例)-----测试实现执行(测试阶段)---输出测试报告---- 资产归档(测试文档)

===============================================

准入(也叫转测,也叫提测):

开发:详细设计,概要设计,开发自测报告,

测试:测试计划,测试用例,测试用例审核通过,搭建好环境

准出:0bug ,用例100%执行,输出测试报告

===========================================

作业:

1、谈谈你对测试理解?

2、测试从哪些角度考虑?

3、公司中包含哪些人员?

4、讲下bs架构,cs架构的区别?

5、将下H 模型?

6、v模型包含那几个阶段?

7、测试计划包含哪些内容?

8、测试报告包含哪些内容?

9、讲几个dos命令?

10、为什么要进行测试?

11、验收测试有哪几种?他们的区别是什么?

12、什么是冒烟测试?

13、sit系统集成测试 用例来源哪里?

14、线上有bug如何处理?

15、如何测试一支笔?

16、准入具备哪些条件

17、准出具备哪些哪些条件?

18、测试环境有哪几种?

19、测试的工作主要做什么?

20、谈谈你的收获?

标签:sit,冒烟,用例,开发,理论知识,测试,bug,软件测试
From: https://www.cnblogs.com/wang18739197365/p/18468225

相关文章

  • 软件测试与测试阶段
    软件测试概述    软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。    软件测试的目的就是确保软件的质量、确认软件以正确的方式做了用户所期望的事情,所以软件测试工......
  • 软件测试学习笔记丨Mitmproxy使用
    本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32334一、简介Mitmproxy是一款开源、免费的代理工具,支持Mac、Windows、Linux。相比其他代理工具,可以通过Python和Mitmproxy工具本身的插件机制,实现通过脚本对Mitmproxy的完全控制。强大的可拓展性和可定制性,可以让测试工程......
  • 软件测试面试中常见必问(一)内附答案
    一般面试都会按照简历当中我们写的技能或者项目进行提问,所以我们在简历当中一定要写自己能说上来的东西和对简历中的项目一定要有准备。另外,如果真的不知道就请坦诚相待,直说“不好意思,这里我不太清楚”就可以了,有的面试官也会当场告诉你答案。1.自我介绍虽然简历中都有信息,但是......
  • 云南省职业院校技能大赛赛项规程(软件测试)
    赛项名称:软件测试英文名称:SoftwareTesting赛项组别:高等职业教育赛项编号:GZ034目录一、赛项信息二、竞赛目标三、竞赛内容1、本赛项考查的技术技能和涵盖的职业典型工作任务2、专业核心能力与职业综合能力3、竞赛内容结构、成绩比例四、竞赛方式五、竞赛流程六、......
  • 2024年河北省职业院校技能大赛(高职组)软件测试赛项规程
    一、赛项名称赛项名称:软件测试赛项组别:高职组赛项归属产业:电子信息大类二、竞赛目标(一)引领职业院校专业建设与课程改革本赛项竞赛内容以《国家职业教育改革实施方案》为设计方针,以电子信息产业发展的人才需求为依据,以软件测试岗位真实工作过程为载体,全面检验高等职业院......
  • 软件测试工具与技术的详细学习要点
    软件测试工具与技术的详细学习要点和方向涵盖了多个方面,以下是一些关键的学习要点和方向:测试工具学习要点1.自动化测试工具  -Selenium:学习SeleniumWebDriver的使用,包括元素定位、操作浏览器、处理页面元素等。同时,掌握SeleniumGrid的使用,以实现分布式测试。  -......
  • 基于python+flask框架的软件测试智能管理系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的迅猛发展,软件在各行各业中的应用日益广泛,其质量和稳定性直接关系到用户体验和企业的竞争力。然而,软件开发的复杂性不断提升......
  • 干货|CNAS-CL01设备部分解读,透彻掌握软件测试实验室设备关键点
    CNAS-CL01《检测和校准实验室能力认可准则》是软件测试实验室建立符合CNAS标准的质量管理体系必须要贯彻的一部准则,分为五大核心部分:通用要求、结构要求、资源要求、过程要求和管理体系要求。前面的文章中我们为大家分享了通用要求部分、结构要求部分以及资源要求中的人员部分,......
  • 聊一聊软件测试的基本原则有哪些
    目录原则1:测试用例中一个必需部分是对预期输出或结果的定义。原则2:程序员应当避免测试自己编写的程序。原则3:编写软件的组织不应当测试自己编写的软件。原则4:应当彻底检查每个测试的执行结果。原则5:测试用例的编写不仅应当根据有效和预期的输入情况,而且也应当根据无效和未......
  • 软件测试基础知识(自用)
    1.软件1.1软件的定义软件是运行在硬件上,一段指令的集合1.2软件的分类系统软件:系统自带的软件应用软件:移动端(APP)软件电脑端(PC)软件平板电脑端(pad)软件前端C/SPCexe--- 指Windows操作系统下的可执行文件APPIPA--- 指iOS应用程序包文件,扩展名为.ipa,包含了iOS应......