读书前记
其实本章节的内容在大学的软件测试的课程中有很详细系统的学习,而且在最近也看过很多关于软件测试的基础知识,同时在各大论坛和站点下载和浏览了很多关于这方面的知识。但是一个很明显的特点就是学校里面学习的虽然比较深刻但是不够通俗,而看书籍的时候也不会如此细心的浏览,可论坛和站点中的文章帖子等都不够系统。今天将这些基础的测试知识进行系统的复习,并仔细的记录一些重要的知识点以加强记忆和理解。
内容摘要
测试的主要方法与分类:黑与白,黑盒测试:将有效与无效的测试用例输入到被测试软件中,观察软件的输出的测试,它不需要了解软件实现细节,当软件内部实现机制更改时,一般不必修改测试用例,从用户使用角度出发,但是无法覆盖软件代码个主要路径,容易导致测试不很完全;白盒测试:针对软件代码各路径进行测试,相对易于调试,容易发现Bug产生的原因,需要了解软件的结构,对测试人员的编程能力要求高,软件实现代码改变,测试用例一般也需要改变。
黑盒测试能发现的错误:功能错误或遗漏,界面错误,数据结构或外部数据库访问错误,性能错误,初始化和终止错误。
黑盒测试的测试用例设计原则:两个标准与七个方法,两个标准:在测试覆盖率相同的时候,测试用例要尽可能的少,现有测试用例要达到越高越好的测试覆盖率;七个方法:等价类划分(输入的值域),边界值分析(不同值域之间的变化点),错误推测方法(代码变动的点、历史上Bug多的点),因果图方法(软件逻辑上的因果关系),判定表驱动分析(条件选择顺序),正交实验设计,功能图分析。
等价类划分(Equivalence Partition):把所有可能的输入数据,程序的输入域划分成若干个部分,从每一个部分当中选取一个或者少数具有代表性的数据作为测试用例的输入。等价类指某个输入数据范围的子集合,在该子集合中,被测试软件程序对于其中任意输入数据所产生的行为是一致的。等价类划分有两种:有效等价类(合理的、有意义的输入数据所构成的集合,验证是否实现了所规定的功能和性能)与无效等价类(验证软件是否实现了所规定的意外处理)
划分等价类的方法:1在输入条件规定了取值范围或值的个数的情况下,则可以确定一个有效等价类和两个无效等价类2在输入条件规定了输入值的集合或者规定了“必须”如何的条件下,可以确定一个有效等价类和一个无效等价类3在输入条件是一个布尔量的其概况下,可以确定一个有效等价类和一个无效等价类4在规定了输入数据的一组值,并且呈现要对每一个输入值分别处理的情况下,可确定n个有效等价类和一个无效等价类5在规定了输入数据必须遵守的规则的情况下,可确定一个有效等价类和若干个无效等价类6在确知已划分的等价类中各元素在程序处理中的不同方式的情况下,则应再将该等价类进一步划分为更小的等价类
等价类划分设计测试用例的步骤:1为每个等价类规定一个唯一的编号(标识用例)2设计一个新的测试用例,使请尽可能多地覆盖尚未覆盖的有效等价类,直到所有的有效等价类都有测试用例覆盖为止3设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,直到所有的无效等价类都被覆盖为止。
边界值分析法:对等价类划分的补充,对两个相邻等价类之间的那个数值(边界值)区域设计测试用例。首先确认输入和输出数据中等价类的各个边界,选取等于、刚刚大于、刚刚小于边界值的输入数据进行测试。