目录
1. 测试用例的基本要素
2.测试用例的设计方法
2.1.基于需求设计
2.2根据功能需求测试
2.3非功能测试
3. 具体的设计方法
3.1等价类法
3.2边界值法
3.3判定表
1. 测试用例的基本要素
测试用例是为了实施测试而面向测试的系统提供的一组集合,这组集合包含:测试环境,测试数据,操作步骤,预期结果等要素
一个好的测试用例,哪怕是不熟悉业务的人也能根据测试用例来很快的进行测试.
2.测试用例的设计方法
2.1.基于需求设计
基于需求设计测试用例是测试设计和开发设计的基础,第一步是分析测试需求,验证需求是否正确完整,无二义性,并且逻辑自洽.在需求正确的基础上细化测试需求,从测试需求中提炼出来一个个的测试点.
在分析测试需求的时候,分为功能测试和非功能测试.
比如我们有一个用户注册的界面,我们对其进行测试.可以这样来设计测试用例:
2.2根据功能需求测试
其中根据功能需求测试:
我们可以借助功能框图来帮助我们进行测试的需求分析,概括起来,功能测试需求包括以下:
1.系统各个功能页面的验证
2.借助业务把功能串起来进行测试
3.功能的一致性,交互性测试
4.功能的不同输入.并且根据需求文档来写出的预期结果和实际输出结果做对比
5.功能的错误操作,异常操作的测试
6.功能实现用到的算法验证
7.用户操作的易用性,用户体验
2.3非功能测试
主要有以下几个:1.性能 2.兼容性 3.安全 4.网络 5.可靠性 6.可移植性. 7. 易维护性
这些非功能的每一个部分都可以单独拿出来分析,但是这些模块互相之间可能也有影响,比如安全性高了,性能就有可能受到影响.这些都得做出取舍和找到一个平衡点
(1)纯客户端软件,比如字处理软件(Word,PPT),媒体(音频/视频)播放软件(电脑自带的)等。这类软件对系统的功能测试要求是最低的,但是对兼容性和稳定性,可移植性有一定的要求.
(2)企业内部的客户端/服务端(C/S)应用系统。比如电子邮件,即时通信系统(飞Q,企业QQ)等,在系统功能测试需求上比纯客户端复杂,要求功能正确,稳定性能好。但是整体上看,对性能,安全性,兼容性要求不高。
(3)外部大型复杂网络应用系统,比如电子商务,网上银行,视频网站(腾讯,优酷)等,除了有复杂的系统的功能测试需求外,在系统的性能,安全性,兼容性,容错性,可靠性等都有很高的要求。
3. 具体的设计方法
3.1等价类法
根据需求将输入分为不同的类型,其中每一个类型都只需要一个测试用例即可,用这个测试用例来代表整个类.这样就可以用较少的测试用例来达到尽可能多的功能覆盖,解决了不能穷举测试的问题.
我们可以把等价类分为有效等价类和无效等价类
1.有效等价类,对于程序的规格说明书是合理,有以以的数据构成的集合,利用有效等价类验证程序是否实现了规格说明书中的功能和性能
2.无效等价类,根据需求说明书,不符合要求的集合
等价类只考虑输入的分域,不考虑组合,需要其他的设计方法和补充.
如 :
我去买吃的
有效等价类:馒头,包子,面条,米饭
无效等价类:电脑,手机,电视机等
3.2边界值法
边界值分析法是对输入或者输出的边界进行测试的一种黑盒测试方法,通常情况下边界值分析法是座位等价类划分法的补充.
我们可以把边界点分为 上点 内点 和 离点
上点:边界上的点
内点:边界内的点
离点:边界值附近的一个点(一般是距离最近的一个点)
如 我们在测试用户注册的用户名长度的时候,规定的值是 6~16 (闭区间)
那么我们可以分为
上点:6 16
内点:10
离点:7 17
在使用边界值测试法的时候,要达到:
1.充分理解需求
2.找边界点
3.针对边界点设计测试用例
3.3判定表
判定表是另一种表达逻辑判断的工具.
关系有:
与:所有条件都满足 为真,有一个不满足为假
或:满足其中一个条件为真
恒等:条件为真,结果一定为真
非:条件为假,结果才为真
如何设计测试用例,比如我们设计一个买奶茶的时候,如果订单以提交金额超过了20块钱 或者有红包,就会优惠.
那么根据以上的需求,我们可以设计出以下的测试用例
1.订单以提交,金额大于20,有红包,优惠
2.订单以提交,金额大于20,无红包,优惠
3.订单以提交,金额小于20,有红包,优惠
4.订单以提交,金额小于20,无红包,不优惠
5.订单没提交,金额大于20,有红包,不优惠
6.订单没提交,金额大于20,无红包,不优惠
7.订单没提交,金额小于20,有红包,不优惠
8订单没提交,金额小于20,无红包,不优惠