3:软件测试流程
软件测试模型分类:
V模型(重点),W模型(重点),X模型,H模型
V模型:
概念:以编码为黄金分割线,把整个过程分为开发和测试,并且开发和测试之间是串行的关系。
图示:
特点:开发和测试串行,测试介入过晚,返工量大。
W模型:
概念:W模型是由两个V模型组成的,一个是开发阶段,应该是测试阶段,又称为双V模型
图示:
特点:开发和测试并行,测试可以提早介入,但是总体流程依然是串行,不支持迭代。
这两种模型都比较古老,且基本遵循瀑布模型。
4:最佳实践流程-1
团队角色:
产品经理(策划)
图示:
上图UI设计不需要编码,相同水平线同步进行。迭代?环节耗时?
5.1:软件测试分类-按照阶段划分
单元测试:
概念:指对软件中的最小可测单元进行检查和验证,至于“单元”的大小或范围,并没有一个明确的标准,“单元”可以是一个函数、方法、类、功能模块或者子系统。
集成测试:
在单元测试的基础上,将所有模块按照设计要求组装成子系统或系统,进行测试,本质都是测试接口之间的关系
单元测试和集成测试一般由开发人员进行
系统测试:
系统测试是将软件,操作系统和硬件看做一个整体,在实际运行环境下进行测试
验收测试:
对完成的系统是否满足最开始的需求进行验证
分类:
按用户对象
项目验收:甲方发起,验证乙方系统是否满足甲方业务需求
产品验收:产品经理发起,验证自研软件食肉满足用户需求
按阶段划分
α测试(内测):只有公司内部成员参与
β测试(公测):由用户完成
测试阶段-负责人员-项目环境的关系:
主要的项目环境:
开发环境:对应单元和集成测试
测试环境:对应系统测试
预生产环境:对应验收测试
线上环境/生产环境:对应项目上线
5.2:按是否考虑代码逻辑划分
黑盒测试:
概念:把测试对象看做一个黑盒子,测试时,测试人员不用考虑盒子里的逻辑结构,秩序检查程序的功能是否符合需求文档(测试人员来做
重点:侧重于验证程序的功能是否符合需求文档
测试依据:需求文档
分类图示:
白盒测试:
概念:与黑盒相反,这种方法时把测试对象看做一个透明的盒子,测试时,测试人员会对程序的所有逻辑路径进行测试,检验每条路径是否能走通(开发人员来测试
重点:验证源代码的逻辑结构是否符合设计
测试依据:代码规范,详细设计文档
灰盒测试:
概念:介于黑盒与白盒之间的一种测试方法,需要了解代码逻辑,重点验证程序的功能
案例:商城中,用户支付时可以使用优惠卷
黑盒角度:考虑各个用户,各个商品,各种价位,各种金额大小的优惠卷
灰盒角度:先了解业务逻辑,在进行测试
小tips:以后用灰盒可以先渝开发沟通了解开发的代码逻辑
#业务逻辑
if price >= 优惠卷金额
减去
if price< 优惠卷金额
return 0
与各测试阶段的对应关系:
单元->白盒
集成->白盒
系统->黑盒/灰盒
验收->黑盒
面试题
白盒测试和黑盒测试的区别[1]:
首先,策略不同,黑盒不考虑代码逻辑,白盒需要考虑
其次,阶段不同,白盒测试进行比较早,单元和集成测试都属于白盒测试,黑盒测试进行的比较晚,UI/功能都属于黑盒测试
再次:上手难度不同,白盒测试要求具备代码的能力,上手难度较大,黑盒要求测试/用户思维,上手难度较小。
最后我想说,黑盒和白盒不能互相替代,都是不可或缺的。
5.3:按是否运行划分:
静态测试:
概念:指不运行被测程序本身,检查文档或者源程序的语法,结构过程
测试对象:
文档(需求文档,各类设计文档)
源程序
数据(数据结构,字段内容)
动态测试:
概念:指通过运行被测程序,进行测试
测试对象:
源程序
目标程序
数据(运行后产生的数据)
5.4:按是否自动化划分
手工测试:
手工的方式去执行测试
自动化测试:
需要借助工具或代码去执行测试
5.5:其他
冒烟测试:
针对软件中最基本的功能或流程进行的测试(比如淘宝的登录)
回归测试:
修改代码后,重新进行测试。
应用场景:
bug回归:当前迭代的bug修复后,需回归,以前的版本中概率性出现的bug,可能需要· 连续跟踪几个版本
旧功能回归
面试题:
回归测试的重点?[3]
我做回归测试的方向主要有两个,一个是bug回归,一个是旧功能回归,如果是bug回归,重点是修改过的功能或者模块,还有与之关联的功能或者模块,如果是旧功能回归,重点是分清重要的核心功能,以及使用频率高的功能。