文档介绍:1
软件测试总结(全)
第一篇:软件测试总结(全)
软件测试的目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。
测试的目的就是为了保证软件质量
使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验没有客观标准
边界值分析
程序与函数:
程序的输入——定义域
程序的输出——值域
程序中变量的值域:
强类型语言
非强类型语言
边界值测试的基本原理:
错误更可能出现在输入变量的极值附近.
单缺陷假设:失效极少由两个(或多个)缺陷的同时发生引起的。
Min、min+、nom、max-和max。
次边界条件:
7
有些边界条件在软件内部,最终用户几乎看不到,但是软件测试仍有必要检查。这样的边界条件称为次边界条件或者内部边界条件。如2的乘方和ASCⅡ。
边界值分析的特点和局限性
对于一n个变量函数,边界值分析会产生4n+1个测试用例。
边界值的取值取决于变量本身的性质。
边界值分析对布尔变量没有什么意义。
边界值分析假设变量是完全独立的。
边界值分析的问题
测试用例存在大量冗余
存在不完备现象
等价类测试
希望进行完备性测试
同时又希望避免冗余
等价类测试考虑的因素
单/多缺陷假设
健壮性
等价类划分:
把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。
8
希望进行完备性测试
同时又希望避免冗余
等价类测试步骤
使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。
(1)划分等价类
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。
等价类的划分有两种不同的情况:
①
有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。
②
无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。
在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
(2)等价类测试--等价类划分原则
①如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。
9
②如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。
③如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。
④如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。
⑤如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
(3)等价类测试—选取测试用例
在确立了等价类之后,建立等价类表,列出所有划分出的等价类。
再从划分出的等价类中按以下原则选择测试用例:
①
为每一个等价类规定一个唯一编号;
②
设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
③
设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
基于决策表的测试
10
在所有功能测试方法中,基于决策表的测试方法是最严格的,因为决策表具有逻辑严格性。
决策表很适合描述不同条件集合下采取行动的若干组合的情况。
决策表的组成
条件桩:列出了问题的所有条件。
动作桩:列出了问题规定可能采取的操作。
条件项:列出针对它所列条件的取值,在所有可能情况下的真假值。
动作项:列出在条件项的各种取值情况下应该采取的动作。
规则:任何一个条件组合的特定取值及其相应要执行的操作。在决策表中贯穿条件项和动作项的一列就是一条规则。
功能性测试的选择规则
如果变量引用的是物理量,可采用定义域测试和等价类测试。
如果变量是独立的,可采用定义域测试和等价类测试。
如果变量不是独立的,可以采用决策表测试。
如果可保证是单缺陷假设,可以采用边界值分析和健壮性测试。
如果可保证是多缺陷假设,可采用最坏情况测试、健壮最坏测试和决策表测试。
如果程序包含大量例外处理,可采用健壮性测试和决策表测试。
11
如果变量引用的是逻辑量,可以采用等价类测试用例和决策表测试。
结构性测试
静态测试:
括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。
检查项:
*
代码风格和规则审核