测试分类
按程序执行与不执行来分:
1.静态测试:不执行程序,测试文档,静态的代码
2.动态测试:执行程序,观察程序的外在表现,是否符合软件需求说明书的要求
按照手工和自动化来分:
1.手工测试
2.自动化测试,通过计算机来实现人手工达不到的要求的测试,如并发,适合重复性、枯燥的测试场景
按照测试环节分:
1.单元测试,开发一般来做,单元测试力度最小,一般是函数,类
2.黑盒测试,不关注程序的内部构造,只是通过输入数据来查看程序的输出结果是否符合预期
3.白盒测试,关注程序的内在表现,代码、逻辑上是否存在问题
4.灰盒测试,介于黑盒白盒之间的测试
5.集成测试,主要用来测试模块与模块之间的接口,同时还要测试一些主要业务功能,它最简单的形式是:把两个已经测试过的单元组成一个组件,测试他们之间的接口
6.系统测试,粒度最大,一般由独立测试小组采用黑盒测试方式来测试,主要测试系统是否符合需求规格说明书
7.验收测试,用户来做,测试人员充当用户
黑盒测试常见测试方法
-
等价类划分法
-
边界值法
-
场景法
-
因果图法
-
判定表法
-
正交排列法
-
测试大纲法
除此之外,我们编写测试用例还可以参考:
-
需求文档,
-
被测系统(已经开发出来的被测系统),一边对照程序,一边编写用例,很多企业采取这样的方式,如果只对照需求文档可能仅完成测试的30%~40%
-
开发设计文档,也有可能拿不到,比如开发测试属于两个不同公司
-
积极与开发,产品,客户进行沟通
等价类划分法
常用在输入的场景中,将用户所有可能的输入划分为若干份,然后从每个子集中选取少数具有代表性的数据作为测试用例
等价类划分为:
-
有效等价类:指符合需求规格说明书,输入合理的数据集合
-
无效等价类,指不符合需求规格说明书,输入不合理的数据集合
等价类思考步骤
-
首先确定有效等价类和无效等价类
-
有效等价类就是一目了然的题目条件,要考虑边界值问题
-
无效等价类先划分与条件相反的情况,再去找特殊情况
边界值
大量的错误发生在输入或者输出范围的边界是,而不是在输入范围的内部,所以,为了保证测试质量,我们需要重点关注测试边界
边界值通常与等价类一起使用
因果图/判断表
等价类,边界值都考虑输入输出问题,没有太关注多组输入与输出间组合以及制约关系,而因果图,判定表解决此类问题
因果图法是利用图解法分析输入的各种组合情况,从而设计测试用例的方法,适用于检查程序输入条件的各种组合情况
因果图特点
-
考虑输入条件的相互制约及组合关系
-
考虑输出条件对输入条件的依赖关系
因果图要注意考虑的要点
-
所有输入/输出条件的相互制约关系及组合关系
-
输出结果对输入条件的依赖关系,也就是什么样的输入组合会产生怎样的输出结果,即因果关系
因果图法基本步骤
-
找出所有的原因,即输入条件的等价类
-
找出所有的结果,结果即输出条件
-
明确所有输入条件之间的制约关系及组合关系,如哪些条件可以组合到一起,哪些条件不能组合到一起
-
明确所有输出条件之间的制约关系及组合关系,如哪些输出1结果可以同时输出,哪些结果不能同时输出
-
找出什么样的输入条件组合会产生哪种输出结果
-
把因果图转换为判定表
-
为判定表中每一列表示的情况设计测试用例
因果图只是一种辅助工具,通过因果图分析出一个表即判定表,但有时,因果图非常麻烦,影响测试效率,所以我们很多时候直接写判定表,进而编写测试用例
判定表的组成
-
条件桩:问题的所有条件,即所有的条件组合
-
动作桩:问题的所有输出,即所有的输出组合
-
条件项:针对条件的取值
-
动作项:条件项的各种取值情况下的输出结果
判定表的制作步骤
-
列出所有的条件桩和动作桩
-
填入条件项与动作项,得到初始判定表
-
简化判定表(合并相似规则(相同动作))
场景法
需要覆盖系统用例中的成功场景和扩展场景
流程分析法
主要是针对测试场景类型
流程分析法实施步骤
-
详细了解需求
-
根据需求说明或界面原型,找出业务流程的各个页面以及各个页面间的流转关系
-
画出业务流程,由产品经理使用Axure软件制作
-
写用例,覆盖所有的路径分支
错误推测法
基本思想
通过大量实践,找出一些规律,列举出可能犯的错误或易发生错误的地方,然后根据清单编写测试用例
正交测试法
是一种研究多因素,多水平的实验设计方法,他根据正交性从全面实验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了均匀分散,整齐可比的特点
正交表测试法的适用范围
输入条件相互独立,并且需要对各种组合进行测试的场合
正交表的正交性
-
整齐可比性:在同一张正交表中,每个因素的每个水平出现的次数是完全相同的,由于在实验中每个因素的每个水平与其他因素的每个水平参与实验的几率是完全相同的,这就保证了在各水平中最大程度的排除了其他因素水平的干扰,因而能有效的进行比较和作出观望
-
均衡分散性:在同一张正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同时,这就保证了实验条件均衡的分散在因素水平的完全组合中,因而具有很强的代表性
混合正交表
解决了正交表中所有的因素和水平都是一致的缺陷,说白了就是用allparis这个工具来生成测试用例