1. 软件测试的分类
按照测试对象:单元--部件--系统
按照实施步骤:单元--集成--系统
按照实现技术:静态/动态 黑盒/白盒
按照测试完整性:程序结构和输入域覆盖
按照测试专题:功能,性能,可靠性,安全性,强度,安装测试等等;
2. 软件测试的流程:
1) V-model:
需求分析---概要设计---详细设计---编码---单元测试---集成测试---系统测试---验收测试
模型作用:区分开发和测试阶段,各阶段目标明确;问题:开发和测试分离,时间周期长,且测试对象仅限软件,不包含文档和需求,产生脱离。
2) W-Model:
相对V-model,明确测试对象不仅仅是软件,也包含需求文档,并且测试和开发同步进行。局限在于功能需求不断变化时,无法及时同步对应对比。
3)H-model:
该模型将测试独立来看,只要测试的准备条件ok,就可以开展,更加灵活,更加突出及早测试及早发现问题
3. 测试的要求:
尽可能早的进行测试;
测试要有输入条件;
测试需要规划;
测试的价值不仅仅是保证了功能的完整性,也去验证功能的可靠性;
测试只有阶段性结束,持续不断的测试,是必须要做的。
4. 测试工程化
代码走查
技术评审
桌面检查
动态测试
白盒测试
单元测试
5. 主要的几种测试阶段:
1)单元测试:
要求:语句覆盖100%,分支覆盖,软件特性覆盖;
方法:黑盒测试:功能,边界,随机
白盒测试:控制流/数据流
2)集成测试:
单元间接口测试:调用对覆盖,定义域测试
部件的功能测试(白/黑/I/O);
全局数据的测试....
3)系统测试:
对软件需求规格说明负责;
对完整软件功能和性能的总体测试;