测试思想-测试设计 测试用例设计需要注意的几个点

简介: 测试思想-测试设计 测试用例设计需要注意的几个点

测试用例设计需要注意的几个点[摘取]

 


 

声明:非原创,摘取自网络,取其精华

 

测试用例需要注意以下几点:

1、单个用例覆盖最小化原则

下面举个例子来介绍,假如要测试一个功能 A,它有三个子功能点 A1A2 A3,可以有下面两种方法来设计测试用例:

方法1 :用一个测试用例(确却的说是用例的逻辑部分)覆盖三个子功能 -Test_A1_A2_A3

方法2 :用三个单独的用例分别来覆盖三个子功能 - Test_A1Test_A2Test_A3

 

方法1适用于规模较小的工程,但凡是稍微有点儿规模和质量要求的项目,方法2则是更好的选择,因为它具有如下的优点:

1)测试用例的覆盖边界定义更清晰;

2)测试结果对产品问题的指向性更强;

3)测试用例间的耦合度最低,彼此之间的干扰也就越低

 

上述这些优点所能带来直接好处是,测试用例的调试、分析和维护成本最低。每个测试用例应该尽可能的简单,只验证你所要验证的内容,不要“搂草打兔子”捎带着把啥啥啥都带进来,这样只会增加测试执行阶段的负担和风险。

 

此外,覆盖功能点简单明确的测试用例,也便于组合生成新的测试。

 

2、单次投入成本和多次投入成本原则。

例如:第一条原则-单个用例覆盖最小化原则 - 就是一个很好的例子,测试A功能的3个功能点A1A2A3,从表面上看用Test_A1_A2_A3这一个用例在设计和自动化实现时最简单的,但它在反复执行阶段会带来很多的问题:

 

首先,这样的用例的失败分析相对复杂,你需要确认到底是哪一个功能点造成了测试失败;

 

其次,自动化用例的调试更为复杂,如果是A3功能点的问题,你仍需要不断地走过A1A2,然后才能到达A3,这增加了调试时间和复杂度;

 

第三,步骤多的手工测试用例增加了手工执行的不确定性,步骤多的自动化用例增加了其自动执行的失败可能性,特别是那些基于UI自动化技术的用例;

 

第四,(Last but not least)将不相关功能点耦合到一起,降低了尽早发现产品回归缺陷的可能性,这是测试工作的大忌。

 

例如:如果Test_A1_A2_A3是一个自动测试用例,并按照A1->A2->A3的顺序来执行的,当A1存在Bug时,整个测试用例就失败了,而A2A3并未被测试执行到。如果此时A1Bug由于某些原因需要很长时间才能修复,则Test_A1_A2_A3始终被认为是因为A1Bug而失败的,而A2A3则始终是没有被覆盖到,这里存在潜在的危险和漏洞。当你在产品就要发布前终于修复了A1Bug,并理所当然地认为Test_A1_A2_A3应该通过时,A2A3的问题就会在这时爆发出来,你不得不继续加班修复A2A3的问题。不是危言耸听,当A2/A3的代码与A1Bug修复相关时,当你有很多如此设计的测试用例时,问题可能会更糟……,真的!:(

 

综上所述,Test_A1_A2_A3这样的设计,减少地仅是一次性设计和自动化的投入,增加地却是需要多次投入的测试执行的负担和风险,所以需要决策时(事实上这种决策是经常发生的,尤其是在设计测试用例时)选择Test_A1_A2_A3还是Test_A1Test_A2Test_A3,请务必要考虑投入的代价。

 

3、使测试结果分析和调试最简单化原则。

这条原则是实际上是上一条- 单次投入成本和多次投入成本原则 - 针对自动化测试用例的扩展和延续。在编写自动化测试代码时,要重点考虑如何使得测试结果分析和测试调试更为简单,包括:用例日志、调试辅助信息输出等。因为测试用例的执行属于多次投入,测试人员要经常地去分析测试结果、调试测试用例,在这部分活动上的投入是相当可观的。

 

 

目录
相关文章
|
2月前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
67 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
7月前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
964 6
|
7月前
|
测试技术
【测试】构建质量保证之路:编写测试用例的艺术
【测试】构建质量保证之路:编写测试用例的艺术
|
3月前
|
测试技术 数据库
『软件测试2』 关于黑盒测试和测试用例的基础知识
该文章讲解了黑盒测试的基本概念以及如何编写有效的测试用例,包括选择合适的输入数据、预期结果的设定和测试执行的步骤。
|
4月前
|
测试技术
测试与开发问题之测试用例设计的重点是什么,如何实现
测试与开发问题之测试用例设计的重点是什么,如何实现
|
3月前
|
测试技术 数据安全/隐私保护
软件测试的艺术:如何高效地编写测试用例
【9月更文挑战第2天】在软件开发的海洋中,测试用例是导航灯塔,指引着质量保障的航向。本文将带你航行于测试用例编写的技巧之海,从理解需求到设计思路,再到实际执行,我们将一起探索如何高效而精准地构建测试用例,确保软件的稳健与可靠。
68 0
|
4月前
|
Java 测试技术 API
SpringBoot单元测试快速写法问题之计算测试用例的分支覆盖率如何解决
SpringBoot单元测试快速写法问题之计算测试用例的分支覆盖率如何解决
|
5月前
|
测试技术
单元测试策略问题之寻找边界问题如何解决
单元测试策略问题之寻找边界问题如何解决
|
7月前
|
Web App开发 测试技术 数据安全/隐私保护
软件测试: 测试用例
软件测试: 测试用例
|
5月前
|
测试技术 开发工具 git
后端测试,好的建议,后端测试----Postman如何创建项目,导入测试用例和测试集,注意对测试用例进行保存,格式用测试用例---xxx测试用例
后端测试,好的建议,后端测试----Postman如何创建项目,导入测试用例和测试集,注意对测试用例进行保存,格式用测试用例---xxx测试用例