如何理解一个"好的"测试用例?

软件测试用例设计方法与经验

"好的"测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关

举栗子

被测软件——鱼塘

软件缺陷——鱼

测试用例集——渔网

"好的"测试用例集就是一张能够覆盖整个鱼塘的大渔网,只要鱼塘里有鱼,就能给捞上来;

如果渔网本身是完整合格的,那么捞不到鱼,就证明鱼塘中没有鱼,而渔网的好坏与鱼塘是否有鱼无关

 

"好的"测试用例必须具备哪些特征

1.整体完备性:一定是一个完备的整体,是有效测试用例组成的集合,能够完全覆盖测试需求

2.等价类划分的准确性:对于每个等价类都能保证只要其中一个输入测试通过,其他输入页一定测试通过

3.等价类集合的完备性:需要保证所有可能的边界值和边界条件都已经正确识别

 

三种最常用的测试用例设计方法

1.等价类划分

2.边界值分析

3.错误推断法:基于对被测试软件系统设计的理解、过往经验以及个人直觉,推测出软件可能存在的缺陷,从而有针对性地设计测试用例方法。强调的是对被测软件的需求理解以及设计实现的细节把握


错误推断法的例子

 

如何设计出“好的"测试用例"

大栗子:测试面向终端用户的GUI测试

最核心的测试点:验证软件对需求的满足程度

如何做到:在需求分析阶段和技术设计阶段就开始介入

成效:设计出从终端用户使用场景考虑的端到端的测试用例集,主要验证各个业务需求是否被满足,基于黑盒的测试设计方法

重点:在具体的用例设计时,首先要搞清楚每一个业务需求所对应的多个软件功能需求点,然后分析出每个软件功能需求点对应的多个测试需求点,最后再针对每个测试需求点设计测试用例

绕吗???


小栗子:以“用户登录”功能设计测试用例

首先先看看【用户登录】功能的映射关系图


两个关键点:

1.从软件功能需求出发,全面地、无遗漏地识别出测试需求是至关重要的,这将直接关系到用例的测试覆盖率。比如,如果你没有识别出用户登录功能的安全性测试需求,那么后续设计的测试用例就完全不会涉及安全性,最终造成重要测试漏洞。

2.对于识别出每个测试需求点,需要综合运用等价类划分、边界值分析和错误推测方法来全面设计测试用例。

以用户登录的功能性需求为例

1.首先对“用户名”和“密码”两个输入框分别进行等价类划分,对于无效等价类的识别可采用错误推测法(如:用户名包含特殊字符)

2.然后补充输入框的边界值用例,如:为空、用户名长度刚刚大于限定长度

 

设计测试用例的高级经验

深入理解被测试软件的架构,发现系统边界以及系统集成上的潜在错误

必须对内部的架构有清楚的认识,比如:数据库连接方式、数据库的读写分离、消息中间件的配置、缓存系统的层级分布、第三方系统的集成


必须深入理解被测软件的设计与实现细节、内部处理逻辑

只根据测试点设计测试用例只能覆盖“表面”一层,往往内部处理流程、分支处理无法覆盖完全;在具体实践中,可以通过代码覆盖率指标找出可能的测试遗漏点

近期热文:软件测试工程师工作必备模板五件套

PS:加测试群 ,领取精品Python/自动化测试资料加下方小编微信

点赞、转发、分享是小编输出最大的动力!!!


出品:小菠萝测试日记

排版:可乐超

.方法简介 二.实战演习 测试用例的设计方法(全) 1.定义   是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。     2.划分等价类:   等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。   1)有效等价类     是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。   2)无效等价类     与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。   设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意的考验,这样的测试才能确保软件具有更高的可靠性。    3.划分等价类的标准:   1)完备测试、避免冗余;   2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;   3)并是整个集合:完备性;   4)子集互不相交:保证一种形式的无冗余性;   5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值