软件测试
- 目标:预防错误
- 软件测试发展的五个阶段:
- 第一阶段:软件测试和软件调试没有什么不同
- 第二阶段:测试是为了能够表明软件能够正常的工作
- 第三阶段:认为测试是为了表明软件不能正常工作
- 第四阶段:测试是为了将已经觉察到的错误风险减少到一个可以接受的程度
- 第五阶段:认为测试不仅仅是一种行为,而是一种理念,即测试是产生低风险软件的一种训练
软件测试和软件调试
- 测试是从一个侧面证明程序员的失败,而调试是为了证明程序员的正确
- 测试从已知条件开始,预知结果,不可预知程序是否可以通过测试;调试一般是以不可预知的内部条件开始除去统计性调试外,结果是不可预见的
- 测试是有计划的,并且要进行测试设计;而调试是不受时间约束的。
- 测试是一个发现错误、改正错误、重新测试的过程;而调试是一个推理的过程
- 测试的执行是有规程的,而调试是的执行往往需要程序员进行必要的推理以至知觉的“飞跃”
- 测试经常是由独立的测试组在不了解软件设计的条件下完成的,而调试必须了解详细的设计的程序员完成。
测试过程模型
- 环境模型:程序运行环境的抽象包括:运行的硬件、固件和软件。
- 对象模型:从测试的角度对程序的抽象。
- 错误模型:是对错误以及分类的抽象。
软件测试技术
路径测试技术
- 1、控制流程图
- 2、测试策略
- (1)路径覆盖(PX)
- (2)语句覆盖(P1)
- (3)分支覆盖(P2)
- (4)条件覆盖与条件组合覆盖
- 基本关系:语句覆盖 <=分支覆盖<=条件组合覆盖<=…<=路径覆盖
- 3、路径选取与用例覆盖
- (1)单循环
- (2)嵌套循环
- (3)级联循环
基于事务流的测试技术
其他功能测试技术讲述
- 1、等价类划分
- (1)划分等价类
- (2)设计测试用例
- 2、边界值分析
- 3、因果图
------------------具体细节待更新--------------------------