定义:测试用例是为特定的目的而设计一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,它是指导测试工作进行的依据
一、等价类划分法
等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性
等价类思考步骤:
1、先确定有效和无效等价类
2、有效等价类就是题目条件(两端的极值(边界值)要判断,中间随意一个值也要判断)
3、无效等价类先划分与条件相反的情况,其它特殊情况(中文、英文、特殊符号、空格、空值)
二、边界值
具体测试用例思路:找到边界值和它两端的值,分别进行测试
1、确定边界情况(输入或输出等价类的边界)
2、选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据
3、边界值的取值依据输入范围区间不同而有所不同,但是都需要把上点值、离点值和内点值取到(闭两边、开中间)
边界值的方法小结:
1、如果输入条件规定了值的范围,则应取刚刚到这个范围的边界值,以及刚刚超载这个范围边界的值作为输入数据
如:两位加法器数的范围为-99 - 99,则应测试-99 -100和99 100
2、输入条件规定了值的个数
如:姓名要求1-20个字符,需要测试0、1、2个字符和19、20、21个字符
某商品信息查询系统,每页最多显示10条商品信息,我们应该闪图商品信息使其能够查询出9、10、11条、1条、0条商品记录
边界值和等价类区别:边界值分析不是从某等价类中随便挑一个作为代表,而是这个等价类的每个边界都要作为测试条件。它们是相辅相成的关系,配合使用
三、因果图法
因:输入条件 | 果:输出条件、输出结果
适用于输入条件之间有相互制约、相互依赖的情况
因果图中的符号:
1、恒等:有因就有果,没有因就没有果
2、非:有因没有果,没有因有果
3、或:条件有一个是真,结果就是真,条件都是假,结果才是假
4、且(与):条件都为真,结果才是真,一个条件为假,结果就是假
利用因果导出测试用例需要经过以下几个步骤:
1、找出所有的原因,原因即输入条件或输入条件的等价类
2、找出所有的结果,结果即输出条件
3、明确所有输入条件之间的制约关系以及组合关系
哪些条件不能组合在一起,哪些条件可以组合在一起
4、明确所有输出条件之间的制约关系以及组合关系
哪些输出结果不能同时输出,哪些输出结果可以同时输出
5、找出什么样的输入条件组合会产生哪种输出结果
6、把因果图转换成判定表/决策表
7、为判定表/决策表中的每一列表示的情况设计测试用例
四、判定表法
根据因果图来制作判定表(因果图可以不画)
组成部分:
1、条件桩:所有条件
2、动作桩:所有结果
3、条件桩:针对条件桩的取值
3、动作桩:针对动作桩的取值
书写步骤:
1、列出所有条件和动作桩
2、填写条件和动作桩的项目
3、简化判定表
注意:如果出现“-”代表此选项不影响最终结果
五、场景法
场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程,分为基本流(正确流程)和备选流(错误流程)
在冒烟测试时也主要采用场景法进行测试
六、流程分析法
流程分析法适用于有先后顺序的测试,常用于业务流程测试、安装流程测试等。每个流程就是一条测试用例,它只是在测试整体流程是否正确,细节还需要使用等价类、边界值等方法完善
七、错误推断法
凭着直觉和经验来设计测试用例,它是根据之前项目相关的bug数据总结来的
八、正交表
从全面试验中挑选出有代表性的点进行测试(均匀分散,整齐可比);高效率、快速、经济的方法
作用方法:
1、根据控件和取值当我选择一个合适的正交表
2、列举取值并编号,生成取值表
3、把取值表与选择的正交表进行映射
混合正交表生成工具allpairs:
很多情况下无法找到合适的正交表,就要使用正交表生成工具
使用步骤:
1、制作取值表(只列出数据即可,不用编号)
2、复制取值表的数据,放到文本文档中保存(注意不要更改任何格式,例如文件叫Test2.txt)
3、把文本文档放在allpairs文件夹中
4、cmd进入控制台
5、使用控制台命令进入allpairs文件夹中(cd目录路径)
6、在控制台中输入 allpairs.exe Test2.txt>chenggong.txt(chenggong是自己真怕的名字,用来存放生成的组合用例,可以自动生成,不必提前建好)
测试方法的选择
在确定测试方法时,应遵循以下原则:
1、拿到一个测试任务时,先关注它的主要功能和业务流程,业务逻辑是否正确实现,考虑使用场景法
2、需要输入数据的地方,考虑采用等价类划分法,包括输入条件和输出条件的等价划分,将无限测试变成有限测试。要注意配合边界值法来做详细测试
3、在任何情况下都必须采用边界值分析法,这种方法设计出的测试用例程序错误的能力最强
4、如果程序的功能中含有输入条件的组合情况,则一开始就应考虑选用因果图和判定表法
5、对于参数配置类的软件,需要考虑参数之间的组合情况,考虑使用正交排列法选择较少的组合方式(最少的测试用例获得最大的测试覆盖率)
6、对照程序逻辑,检查已设计出的用例的逻辑覆盖程序,如果没有达到要求的覆盖标准,则应当再补充更多的测试用例
7、采购错误推断法再追加测试用例---依靠测试工程师的经验和智慧