软件测试保证软件过程质量和产品质量的基础。动态评估技术。
软件=程序+文档,测试对象就是 程序+文档
尽可能多的发现软件当中存在的错误。证明“软件有问题”。
按照特定规程发现软件错误的过程。使用人工或自动手段,运行或测定系统的过程。目的是检验软件是否符合规定的要求,清楚了解预期结果与实际结果之间的差异。
与调试区别:
分为人工测试和机器测试。机器测试又分为:
黑盒测试:也称为功能测试,只关注接口
白盒测试:逻辑测试或称结构测试
一种白盒测试技术
依据程序的逻辑结构
采用控制流程图来表达被程序的模型
合理的选择一组穿过程序的路径来达到某种测量度量。
表示的程序控制结构图形,基本元素,过程块、结点、判定。
相关软考总结点软考考点之Mccabe度量计算及路径覆盖
语句覆盖 <= 分支覆盖 <= 条件组合覆盖 <= 路径覆盖
最小的强制性测试需求是语句覆盖率。
路径选取原则:
是一种功能测试技术
从系统用户角度出发所见到工作单元,有其“生”,有其“亡”。
事务由一系列操作完成,用“事务流”表达。
系统行为的一种表示方法,为功能模型建立了程序的动作模式。
表达系统行为,多个事务流的执行。
并生:事务处理产生一个新事务,由此这两个事务继续执行
丝分裂:事务处理产生两个新事务。
汇集:事务的不同活动可以汇集到一处再重新开始
吸收:一个事务被另一个事务吸食
结合:两个事务结合后产生一个新事务。
获取事务流程图
浏览、复审
用例设计
测试执行
根据程序I/O特性,把程序的输入划分为有限的等价区段,使得从每个区段内抽取的代表性的数据进行的测试等价于该区段内任何数据的测试。
就是用少量的测试用例,取得较好的测试效果。
有效等价类:指对于程序的规格说明来说,是合理的、有意义的输入数据集合。利用它,可以检验程序是否实现了规格说明预先的功能和性能。
无效等价类:对于程序规格说明来说,是不合理的、无意义的输入数据集合,这一类测试用例主要用于检查程序中功能和性能的实现是否不符合规格说明的要求。
输入条件规定了输入数据的取值范围,可以确定一个有效等价类和两个无效等价类
输入条件规定了输入数据的个数,可建立一个有效等价类和两个无效等价类
规定输入数据一组n个可能取的值,每一个输入就是一个有效等价类,所以可以确定n个有效等价类和一个无效等价类
输入条件是一个布尔值,可以划分一个有效等价类和一个无效等价类。
规定了必须符合的条件,可以划分一个有效等价类和一个无效等价类。
已划分某个等价类中各元素在程序中处理方式不同,则应将此等价类进一步进分为更小的等价类
一个程序读入3个整数,把这3个数值作为一个三角形的3条边的长度值,这个程序要打印出信息,说明这个三角形是不是等边的、是等腰的、还是一般的。”
分析:能构成三角形,必须满足:A>0,B>0,C>0,且A+B>C,A+C>B,B+C>A。
如果是等腰的,还有判断 A=B,或B=C,或A=C
如果是等边的,则需判断A=B且B=C且A=C
解决:
输入条件 | 有效等价类 | 无效等价类 |
---|---|---|
是否三角形的3条边 | (A>0), (1) (B>0), (2) (C>0), (3) (A+B>C), (4) (B+C)>A, (5) (A+C)>B, (6) |
(A<=0), (7) (B<=0), (8) (C<=0), (9) (A+B<=C), (10) (B+C<=A), (11) (A+C<=B), (12) |
是否等腰三角形 | (A=B), (13) (A=C), (14) (B=C), (15) |
(A!=B) and (B!=C) and (A!=C),(16) |
是否等边三角形 | (A=B) and (B=C) and (A=C),(17) | (A!=B), (18) (B!=C), (19) (C!=A), (20) |
序号 | 【A,B,C】 | 覆盖等价类 | 输出 |
---|---|---|---|
1 | 【3,4,5】 | (1),(2),(3),(4),(5),(6) | 一般三角形 |
2 | 【0,1,2】 | (7) | 不能构成三角形 |
3 | 【1,0,2】 | (8) | 不能构成三角形 |
4 | 【1,2,0】 | (9) | 不能构成三角形 |
5 | 【1,2,3】 | (10) | 不能构成三角形 |
6 | 【1,3,2】 | (11) | 不能构成三角形 |
7 | 【3,1,2】 | (12) | 不能构成三角形 |
8 | 【3,3,4】 | (1),(2),(3),(4),(5),(6),(13) | 等腰三角形 |
9 | 【3,4,4】 | (1),(2),(3),(4),(5),(6),(14) | 等腰三角形 |
10 | 【3,4,3】 | (1),(2),(3),(4),(5),(6),(15) | 等腰三角形 |
11 | 【3,4,5】 | (1),(2),(3),(4),(5),(6),(16) | 非等腰三角形 |
12 | 【3,3,3】 | (1),(2),(3),(4),(5),(6),(17) | 等边三角形 |
13 | 【3,4,4】 | (1),(2),(3),(4),(5),(6),(18) | 非等边三角形 |
14 | 【3,4,3】 | (1),(2),(3),(4),(5),(6),(19) | 非等边三角形 |
15 | 【3,3,4】 | (1),(2),(3),(4),(5),(6),(20) | 非等边三角形 |
根据I/O边界等价类上或紧靠边界的条件选择测试用例的更有效方法。
因-输入条件和果-输出结果,通过因果图将功能说明转换成一张判定表,然后为每种输入条件的组合设计测试用例。主要内容:检查输入条件的组合
原因和原因之间的关系:、
E(互斥) | 只能有一个成立 |
---|---|
I(包含) | 至少有一个条件成立 |
O(唯一) | 有且仅有一个成立 |
R(要求) | 当a出现时,b必须出现 |
M(屏蔽) | 当a=1时,b必须是0,当a=0,b不确定 |
按照与系统开发相反的方向来进行:
确保模块的逻辑和功能是否正确。逻辑用白盒测试,接口用黑盒测试。相关软考知识点:软考考点之单元测试
模块之间接口的正确性,也就是模块之间的数据和控制传递。与单元测试是并行的。
软件实现功能和需求规约是否一致。采用黑盒测试。
放到硬件平台上,软硬件协调和配合。采用黑盒测试。