软件测试-DAY10-测试基础理论
一、软件开发阶段划分
需求分析阶段引入的bug最多,其次是设计阶段,引入bug最少的是编码阶段;由此可得结论:
- 需求和设计阶段也要测试,不能只测程序,文档也需要测试
- 测试应符合尽早测试原则和不断测试原则
二、软件测试阶段划分
1、单元测试
在所有测试阶段中,单元测试内容是最小测试单位,通常测试一个类、一个窗口、一个方法(函数)、一个功能模块等
单元测试主要依据详细设计文档
单元测试理论上应采用白盒测试方法
实际情况:很多公司会有开发人员来做单元测试(交换互测,开发测白盒,测试测黑盒来保证单元测试质量)
驱动模块和桩模块
在单元测试阶段,测试人员有可能会编写驱动模块和桩模块
驱动模块:模拟被测模块的上一级模块
桩模块:模拟被测模块的下一级模块
驱动模块 → 被测模块 → 桩模块
2、集成测试
集成测试也叫组装测试,在单元测试的基础上,将各个功能模块逐步、有序的合并起来测试的过程
在逐步合并的过程中会形成若干个临时版本
集成测试阶段主要依据概要设计文档
灰盒测试
集成测试阶段的测试方法是黑盒结合白盒测试(通常核心的功能、业务模块会补充白盒测试)
冒烟测试(smoke testing)
在开发方提测新版本时,测试方一般首先对提测新版本进行冒烟测试,经验丰富的少数人对主要功能展开测试
集成测试阶段,当测试方接到开发方提测的新版本后,通常的工作思路是:冒烟测试 → 反测、回归测试 → 对新增功能开展全面的测试
3、系统测试
在程序组装完成之后,对于集成了软、硬件的完整系统,进行的模拟真实环境的测试
系统测试的要点:
模拟真实环境中的完整系统是否符合需求规格说明书的所有要求
完整系统的兼容性测试
系统测试主要依据需求规格说明书
系统测试应用黑盒测试方法
确认测试:在系统测试之前,会进行确认测试,主要有两个内容
确认组装的程序是否合格,可以进入测试系统
确认相关文档是否准备齐全,尤其是要交付给用户的文档
确认测试用人少、用时短,所以没有与四个阶段并列
4、验收测试(UAT)
UAT:user acceptance testing-用户接受度测试
用户参与的测试阶段,用户作为主体对软件质量进行检查,要求以用户的真实数据和使用习惯对软件展开测试(检查)
验收测试分为两个小阶段
alpha阶段
在开发方准备的环境中进行,开发方对于bug的控制力更强
beta阶段
在最终用户自己的环境内,开发方对于bug的控制力比较弱
三、软件测试的模型
1、软件测试模型可以表示开发阶段和测试阶段(级别)额对应关系
2、v模型的优点(重点)
开发阶段和测试阶段(级别)的划分清晰明确
开发阶段和测试阶段(级别)的对应关系清晰明确
v模型既包括了最低级别的单元测试(代码级、专业级),也包括了最高级别的验收测试(界面级、用户级),涵盖全面
3、v模型的缺点
缺少需求和设计阶段的测试过程
v模型不符合尽早测试原则和不断测试原则
4、了解W模型
w模型是一个双v模型,第一个v是完整的开发活动,第二个v是完整的测试活动
w模型解决了v模型的缺点,增加了需求和设计阶段的测试过程,这样更加符合尽早测试原则和不断测试原则,体现出测试和开发是并行的。
四、软件测试的分类
1、按测试技术分类
黑盒测试
又称为功能测试,就是把程序看做是黑色盒子,在不考虑程序内部结构和内部特性的情况下,检查程序功能是否按照需求规格说明书的规定正常使用
白盒测试
又称为结构测试,将程序看成是透明的盒子,要求全面了解程序内部逻辑结构,对所有逻辑路径进行测试
常用白盒测试方法:逻辑覆盖法、静态结构分析法、代码检查法等,且也需要编写测试用例
质量较好,效率低,成本高
灰盒测试
结合黑白盒的要素,通常在集成测试阶段采用
2、按是否需要运行程序分类
动态测试
需要运行程序才能进行测试,例如:功能/黑盒测试
白盒分情况
静态测试
不需要运行程序就可以进行测试,例如:文档测试、界面检查
静态代码检查:主要检查代码书写是否符合规范和标准
3、按软件特性分类
功能测试
所有软件需要首先进行功能测试,保证功能正确性
实现功能测试的方式有两种:手工功能测试和自动化功能测试
自动化功能测试依赖于工具,例如:selenium、appium
性能测试
一般来说,分布式软件(B/S、C/S)需要进行性能测试
性能测试只能自动化实现,例如:loadrunner(版权)、jmeter
3、其他
反测
测试人员对已解决的缺陷进行测试,以验证该缺陷是否被修复
回归测试
在当前版本中,对上个版本测试过的功能再重新测试以验证原有功能保持正常。使用自动化可以提升回归测试的效率
随机测试(猴子测试-Monkey Test)
常规测试完成后的补充
兼容性测试
软件兼容性测试
- 系统兼容
- 浏览器兼容
- 数据库兼容
- 其他应用软件
硬件兼容性测试
- 整机兼容
- 外设兼容
- 数据兼容性测试
黑盒/功能测试常用设计用例的方法及使用策略
黑盒测试中,常用的设计测试用例的方法:等价类划分法、边界值法、判定表法、场景法等
作业
软件测试的阶段划分
软件测试模型的作用
画v模型以及v模型的优缺点
什么是白盒测试、黑盒测试
Jinx - 2022年6月14日15点30分:
这两天发烧了,写的有点乱,将就看,日后有空再整理格式
版权属于:qqAys
本文链接:https://qqays.xyz/archives/softwaretest-day10-basictheoryoftesting.html
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。