1、测试用例带给我们的好处
(1)测试执行者的依据
(2)使得工作可重复,自动化测试的基础
(3)评估需求覆盖率
(4)用例的复用
(5)积累测试的方法思路以供后续借鉴
2、测试用例使用中带来困扰
(1)测试用例的设计是费时费力的工作,往往设计测试用例所花费的时间比执行所花费的时间还多
3、测试用例的设计方法
(1)第一步就要分析测试需求,验证需求是否正确、完整、无二义性,并且逻辑自洽
(2)在需求正确的基础上细化测试需求,从测试需求提炼出一个个测试点或者测试项
(3)然后根据每一个测试点进行测试用例的设计
3.1、在分析测试需求时,一般分为 功能测试需求 和 非功能测试需求
(1) 功能需求测试分析
( 1.1 )系统各个功能界面的验证
(1. 2 )借助业务把功能串起来进行测试
(1. 3 )功能的一致性,交互性(多功能互操作)的测试
(1. 4 )系统的不同输入,结果输出的业务数据测试。
(1. 5 )功能的错误操作,异常操作的测试(属于负面测试)
(1. 6 )功能实现用到的算法验证,有时需要用运代码评审
(1. 7 )用户操作的易用性,用户体验,往往结合功能测试同时验证
(2) 非功能需求测试分析
非功能测试需求主要涉及性能,安全性,可靠性,兼容性,易维护性和可移植性等
( 1 )纯客户端软件,比如字处理软件( Word , PPT) ,媒体(音频 / 视频)播放软件(电脑自带的) 等。这类软件对系统的功能测试要求是最低的,但是对兼容性和稳定性,可移植性有一定的要求。
( 2 )企业内部的客户端 / 服务端( C/S) 应用系统。比如电子邮件,即时通信系统(飞 Q ,企业 QQ )等, 在系统功能测试需求上比纯客户端复杂,要求功能正确,稳定性能好。但是整体上看,对性能,安全 性,兼容性要求不高。
( 3 )外部大型复杂网络应用系统,比如电子商务,网上银行,视频网站(腾讯,优酷)等,除了有复 杂的系统的功能测试需求外,在系统的性能,安全性,兼容性,容错性,可靠性等都有很高的要求。
4、具体的设计方法
4.1、等价类
(1)有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能(例如一杯奶茶喝一口这杯剩下的奶茶都是等价类)
(2)无效等价类:根据需求说明书,不满足需求的集合。(一杯奶茶一杯果茶,奶茶喝一口剩下的奶茶是有效等价类,剩下的果茶是无效等价类)
(3)组合等价类,来设计测试用例,要控制单一变量,每次只保持一个无效等价类,为此确保出现问题知道具体是哪个变量的问题
4.2 边界值
(1)上点:边界上的点,无论开闭区间
(2)内点:边界内的点,无论开闭区间
(3)离点:边界左右的一个点,如果是闭区间,离点就是范围外的点,如果是开区间,离点就是范围内的点
举例:
4.3、 错误猜测法
(1)靠自己的直觉来猜测错误的示例
4.4、 场景设计法
(1)将操作流程串联起来,将一个流程串联起来后对其每一个流程进行单独的分析
例如:打开app--搜索商品--选中某个商品--加入购物车--选择支付方式--支付--生成订单 ( 列出来后对其每一步进行细致的分析)
4.5、因果图( 因果图是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系)
4.6、判定表法(该方法用到了因果图,所以使用判定表法更好,不需要再用因果图)
举例:
4.7、正交排列法(该方法比较多会单独再出一期博客续写)