1.测试分类:
按开发阶段:单元测试、集成测试、确认测试、系统测试、验收测试等;
按执行主体:开发方测试(a)、用户测试(b)、第三方测试;
按执行状态:静态、动态;
按测试技术:黑盒、白盒、灰盒;
2.自动化测试
原理:直接对代码进行静态和动态分析、测试过程的捕获和回放、测试脚本技术和虚拟用户技术。
脚本:一组测试工具执行的指令集合。
脚本技术分类:线性脚本、结构化脚本、共享脚本、数据驱动脚本、关键字驱动脚本、虚拟用户技术。
3.测试流程:测试计划——测试设计——测试执行——测试记录——分析——缺陷跟踪——完毕——测试总结
4.单元测试(用于检验被测代码的很小很明确的一个功能)
5个任务:
模块接口测试:全局量定义一致性,调用参数
模块局部数据结构测试:数据定义、使用
模块中所有执行路径测试:关键路径、重要路径
各种错误处理测试:非合理输入、系统异常
模块边界条件测试:循环边界、输入边界(边界值分析法设计测试用例)
模块:驱动模块(模拟被测模块的上一级模块)——被测模块——桩模块(模拟被测模块调用的模块)
5.集成测试(经过单元测试的模块连接起来,对模块之间的依赖接口的关系图进行测试)
5个任务:
检查模块相互调用时,数据经过接口时是否丢失;
将各子功能组合后,检查能否达到预期要求的各项功能;
一个模块的功能是否会对另一个模块的功能产生不利的影响;
全局数据结构是否有问题,会不会被异常修改;
单个模块的误差累积起来,是否被放大,从而达到不可接受的程度。
分类:
增量式集成:一步到位,对所有模块进行个别的单元测试后连接起来作为整体进行测试
非增量式集成:
1) 自顶向下测试(深度优先策略 / 广度优先策略)
2) 自顶向上测试
3) 三明治集成测试
6.确认测试(验证软件的功能与性能等是否与用户的要求一致)
有效性测试
软件配置复查
7.验收测试
1) a测试和b测试
2) 回归测试
8.软件测试模型:V模型、W模型、H模型、X模型、前置模型
V模型:
最典型,是软件开发瀑布模型的变种
左侧是开发阶段,右侧是测试阶段
箭头代表顺序,即先开发后测试
W模型:
两个V组成,分别代表开发和测试,二者同步进行
无法支持迭代开发模型
H模型:
重要某个测试到达准备就绪点,测试执行活动就可以开展
测试准备与测试执行分离,有利于资源调配
充分体现测试过程的复杂性
X模型:
X左边针对单独程序片段进行编码、测试,并集成形成可执行程序;
右上方将已通过集成测试的成品封版后提交给用户,右下方是探索性测试。
9.测试用例
类型:
功能性测试用例:功能性、健壮性、可靠性
性能测试用例:性能、压力、强度
集成测试用例:接口、健壮性、可靠性
安全测试用例
用户界面测试用例
安装/反安装测试用例
测试阶段 测试类型 执行人员 单元测试 模块功能测试,包含部分接口测试、路径测试 开发 集成测试 接口测试、路径测试,包含部分功能测试 开发 系统测试 功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试 测试 验收测试 对于实际项目基本同上,并包含文档测试;对于软件产品,主要测试相关技术文档 测试,可能包含用户