1.白盒测试
a.白盒测试把测试对象看作一个透明的盒子,所以又称为玻璃盒测试。
b.它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
c.通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
假如现在有一辆车,你想知道它能不能跑起来?
按照白盒测试的思想,你需要测试车的发动机、底盘、车身、电气设备是否正常,然后做出这辆车能否跑起来的判断(所以我个人认为,白盒测试你需要熟悉项目所用到的技术框架、编码语言、运行环境、等等系列的问题,这项测试是真正具有技术含量的测试,我想普通公司的测试人员不太会涉及到这方面的测试)。
2.黑盒测试
a.黑盒测试又叫功能测试或数据驱动测试,它是把测试对象看作一个黑盒子。
b.测试人员完全不考虑程序内部的逻辑结构和内容特性,只依据程序的设计规格说明书,检查程序的功能是否符合它的功能说明。
上例按照黑盒测试的思想,完全不用去管什么发动机、底盘、车身、电气设备正常与否,你要做的事情就是将钥匙插入,然后发动汽车。
3.边界值测试
任何程序都可以看作一个函数,程序的输入构成函数的定义域,程序的输出构成函数的值域,可基于定义域或值域进行边界值测试。
假如研发部新开发一个接口,接口中少不了传递参数,根据实际业务需求,比如传递的参数是金钱,这就需要用到边界值测试。
4.等价类划分
a.等价类划分是一种典型的黑盒测试方法。
b.等价类最重要的是他们构成集合的划分,其中,划分是指互不相交的一组子集,.这些子集的并集不是整个集合。
C.表示整个集合提供了一种形式的完备性,而互不相交可保证一种形式的无冗余性。
上例采用等价类划分,你可以划分集合(0---10)(11---20)(21---30)…..在集合中随机取数据进行测试。
5.配对组合覆盖测试
a.软件长期存在的难题是需要足够的时间来运行所有可能的测试用例,总体上可以采用很多方法将测试用例减少到一个可管理的数量.
b.最冒险的方法是不使用有规律的方法而随机减少测试用例。
c.最好的方法是按照软件构造版本序列来对全部测试用例进行划分。
6.语句覆盖测试
为了暴露程序中的错误,至少每条语句应该执行一次。语句中覆盖的含义是,选择足够多的测试数据,使程序中的每一条可执行语句至少一次。
7.条件覆盖测试
条件覆盖的含义是,选择足够多的测试数据,使被测试程序中不仅每条语句至少执行一次,而且每个判定表达式中的每个条件都取得各种可能的结果。
8.判定覆盖测试
判定覆盖又叫分支覆盖,它的含义是:不仅每条语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次,也就是每个判定的每个分支都至少执行一次。
9.判定/条件覆盖测试
既然判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖,自然会提出一种能同时满足这两种覆盖标准的逻辑覆盖,这就是判定/条件覆盖。它的含义是,选择足够多的测试数据,使得判定表达式中的每个条件都取得各种可能的值,而且每个判定表达式也都得到各种可能的结果。
10.条件组合覆盖测试
条件组合覆盖是更强的逻辑覆盖标准,它要求选取足够多的测试数据,使得每个判定表达式中的条件的各种可能组合都至少出现一次。
11.兼容性测试
兼容性测试是验证软件与其所依赖的环境的依赖程度,包括对硬件的依赖程序,对操作系统和其他软件的依赖程度等。兼容性测试内容和范围主要是硬件兼容性、浏览器兼容性、数据库兼容性及操作系统兼容性等。
12.业务流程测试
业务流程测试主要是系统业务流程的测试,根据用例场景设计测试用例。用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有基本流和备选流。
13.性能测试
性能测试是指在定的约束条件下测试系统所能承受的并发用户量、运行时间及数据量,以确定系统所能承受的最大负载压力,保证产品发布后系统的性能能够满足用户需求。系统的性能包括两方面:一方面是系统完成用户业务功能的响应时间,另一方面是系统实现用户业务功能时的资源利用率分析。这里的资源指的是系统服务器和网络。
14.回归测试
回归测试是指对修改后的程序进行的测试,其目的是对修改的效果进行确认,保证在修改后不会引入新的错误。
15.路径测试
选取足够多的测试数据,使程序中的每条可能路径最少执行一次(若程序图中有环,则要求每个环至少经过一次)。