——写在前面,本文是对《软件测试的艺术(第3版)》的观后总结,记录方便日后查阅复习。本文中的一些图片都是引用自《软件测试的艺术(第3版)》。
相对于别的书来说,这本书的可读性非常高,并且有许多实用的例子,之后可能会多次回顾,因此在此记录一些重点,以便查阅。
文章目录
C2十条软件测试的原则
1、测试用例中一个必须部分是对预期输出的定义
2、程序员应当避免独立测试自己编写的程序
3、编写软件的组织(开发组)不应当测试自己编写的软件
4、应当彻底检查每个测试的执行结果
5、测试用例的编写不仅应当根据有效和预期的输入情况,而且也应当根据无效和未预料到的输入情况
6、检查程序是否没做到需求只是一半,另一半是检查是否做了不该做的。
7、应避免测试用例用后即弃,除非是一次性软件
8、计划测试工作时不应该默许假定不会出错
9、程序某部分存在更多错误的可能性,与该部分已发现错误成正比
10、软件测试是一项极富创造性、极具智力挑战性的工作
C3代码检查
代码审查清单,同前书,记录在Xmind中。
分为数据引用错误;
数据声明错误;
运算错误;
比较错误;
控制流程错误;
接口错误;
输入\输出错误;
其他检查。
C4测试用例设计
最关键的问题:在所有可能的测试用例中,哪个子集最有可能发现最多的错误!
先通过特定黑盒测试设计用例,再使用白盒测试对逻辑结构进行检查、补充用例。
黑盒测试
四种方法:等价划分、边界值分析;因果图分析;错误猜测。
等价划分
两个原则:
严格控制测试用例的增加!
覆盖大部分其他可能的测试用例。
步骤:
1、确定等价类:
列一个表格
外部条件 | 有效等价类 | 无效等价类 |
---|---|---|
可登记1-6人 | 1-6人 | 0人,6+人 |
2、生成测试用例:
设置编号;
编写新用例覆盖尽可能多的有效等价类,直到所有都被覆盖;
编写新用例覆盖一个无效等价类直到所有都被覆盖。
边界值分析
考虑边界上下值以及输入/输出边界。
1、如果-1.0——1.0,则考虑1.0,1.001,0.999等
2、输入值数量边界
3、输出结果、数量边界
4、其他内部、外部边界条件
因果图
对输入组合状态进行划分。
本质上是一种数字逻辑电路。
过程:1、将规格说明分解为可执行片段。
2、确定规格说明中的因果关系。(系统转换也是果,如数据库、文件修改等)
3、分析规格说明的语义内容并转换成因果布尔图。
4、给图加上注解符号。
5、跟踪图中状态变化情况,将因果图转换成一个有限项的判定表,每一列代表一个用例。
6、列转换成测试用例。
基本符号,∩and ∪or ∽not ——identity
约束符号E:ab不能同时为1
i:abc中至少有一个是1(不能全0)
o:ab有且仅有一个必须为1
R:如果a 1则b必须1
可以只使用判定表不画因果图!
https://www.cnblogs.com/test-123/p/9686346.html
建立有限项判定表时,步骤为:
1、选择一个果为当前状态
2、回溯查找所有导致该果为1的因组合
3、每个因组合生成一列
4、对于每种因组合判断,放置。
原则:或:
结果0列所有情况
结果1不考虑全1情况
与:
结果1列所有情况
结果0列一个为0情况
和所有都为0的情况