如何设计一个"好的"测试用例?

黎明NB 黎明NB     2022-11-21     146

关键词:

什么才算是“好的”测试用例?

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

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

一个“好的”测试用例,必须具备以下三个特征。

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

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

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

做到了以上三点,就可以肯定测试时充分且完备的,即做到了完整的测试需求覆盖。

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

    1.等价类划分方法

            等价类中任意一个输入数据对于揭露程序中潜在错误都具有同等效果。我们只要从每个等价类中任意选取一个值进行测试,就可以用少量具有代表性的测试输入去的较好的测试覆盖效果。

    2.边界值分析方法

            边界值分析是对等价类划分的补充,你从工程实践经验中可以发现,大量的错误发生在输入输出的边界值上,所以需要对边界值进行重点测试,通常选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据。

   3.错误推测方法

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

设计测试用例时,有两个关键点需要注意:

   1.从软件功能需求出发,全面地、无遗漏地识别出测试需求是至关重要的,这将直接关系到用例的测试覆盖率。

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

 测试用例集三个独家“秘籍”:

   1.只有深入理解被测试软件的架构,你才能设计出“有的放矢”的测试用例集,去发现系统边界以及系统集成上的潜在缺陷。

   2.必须深入理解被测试软件的设计与实现细节,深入理解软件内部的处理逻辑。

   3.需要引入需求覆盖率和代码覆盖率来衡量测试执行的完备性,并以此为依据来找出遗漏的测试点。

总结:

首先,你需要明白,"好的"测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而能否发现软件缺陷并不是衡量测试用例好坏的标准。

其次,设计测试用例的方法有多种,但综合运用等价类划分、边界值分析和错误推测方法,可以满足绝大多数测试用例设计的需求。

再次,"好的"测试用例在设计时,需要从软件功能需求出发,全面地、无遗漏地识别出测试需求至关重要。

最后,如果想设计一个"好的"测试用例,你必须要深入理解被测试软件的架构设计,深入软件内部的处理逻辑,需求覆盖路和代码覆盖率这两个指标可以帮你衡量测试执行的完备性。

 

02|如何设计一个“好的”测试用例?

什么才算是“好的”测试用例?“好的”测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关。如果把被测试软件看作一个池塘,软件缺陷是池塘中的鱼,建立测试用例集的过程就像... 查看详情

软件测试52讲—02|如何设计一个“好的”测试用例?

1.好的测试用例必须具备的特征   *整体完备性:有效测试用例的集合,能完全覆盖测试需求   *等价类划分的准备性:对于每一个等价类,只要一个等价类输入通过了,其他的等价类也要通过   *... 查看详情

测试理论--如何编写一个好的测试用例

 第一:依据分明   众所周知,一个项目首先立项,然后经过一系列的动作到了需求分析,做完需求分析后,测试就可以做测试需求,然后就可以写测试用例了。所以写测试用例的依据就是需求。这么说太笼统,举一个例... 查看详情

没有找到测试用例 Jest

...12-2201:32:21【问题描述】:我在使用lint-staged插件时遇到了一个奇怪的问题。之前还好好的。所以问题是当我运行npmruntest时,它会生成覆盖率报告。"test":"cross-envCI=truereact-scriptstest--coverage",但是当我使用hus 查看详情

如何设计与数据上下文无关的接口测试用例(代码片段)

我们在做接口测试的时候很可能设计出这样与数据关联的测试用例。比如deftest_create_user(self):user=create_user(name="fred",age=29)#调用创建用户的接口self.assertEqual(user['name'],'fred')deftest_get_user(self):user=get_last_created_user()... 查看详情

python测试框架:如何执行pytest测试用例

参考技术Apytest执行目录下所有用例pytest脚本名称.py执行某一个py文件下用例pytest-mxx执行@pytest.mark.xx装饰器修饰的所有测试pytest-q脚本名称.py简单打印,只打印测试用例的执行结果pytest-s脚本名称.py详细打印pytest脚本名称.py-x遇到... 查看详情

携程内部的测试用例是如何设计的?

...例二、好在哪里三、3种最常用的测试用例设计方法四、如何设计出好的测试用例? 查看详情

优秀测试用例的设计策略

...量越少,发现缺陷越多的用例就是最好的用例。那么我们如何才能设计出好的测试用例呢?一份好的用例是设计出来的,是测试人员思路和方法的集合,而非测试逻辑和需求的罗列。测试用例设计的几个准则1、用例设计=思路。... 查看详情

话一话"验收测试“

...基于系统第1、2期的原因,目前缺少系统的流程图、概要设计和详细设计文档、数据库设计文档; 但测试相关的资料比较多,用例比较清晰;2.对团队的融入:基于验收这样一个岗位,和研发团队打交道没那么频繁,需要在... 查看详情

如何使用testng.xml实现多个测试用例的连续执行

参考技术A<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEsuiteSYSTEM"http://testng.org/testng-1.0.dtd"><suitethread-count="3"name="Suite"parallel="tests"><testname="ie"><classes><classname="t... 查看详情

如何简单设计接口测试用例

...、传递、和控制管理过程以及系统间的相互依赖关系等。如何设计接口测试用例?首先,明确出发点,和所有的测试一样,接口测试出发点是你要证明所测的程序是错误的。以这个出发点为导向,你的设计行为就会尽量朝这个方... 查看详情

如何在 XCTest 中运行“单个测试用例”?

】如何在XCTest中运行“单个测试用例”?【英文标题】:Howtorun"singletestcase"inXCTest?【发布时间】:2014-02-1008:35:35【问题描述】:当我在XCode的测试导航器中单击“运行MyTest3”时,它也会运行“MyTest1”和“MyTest2”。有没有... 查看详情

干货-测试工程师必备武器

如何进行用例设计,如何让设计好的用例覆盖全面,将代码存在的问题在上线前更早发现是每一个测试工程师必备的技能。那么如何达到这些指标呢?如何将用例设计既快又全面呢?今天小编就告诉大家常用设计用例的方法,以... 查看详情

如何在量角器测试用例中模拟“Control + Space”?

】如何在量角器测试用例中模拟“Control+Space”?【英文标题】:Howtosimulate"Control+Space"inprotractortestcases?【发布时间】:2021-07-0523:49:35【问题描述】:我们的项目中有一个场景-有一个文本区域,如果我们在其中单击“ctrl+... 查看详情

高效测试框架推荐之ginkgo(代码片段)

...5000+的数量。在使用和维护过程中,我们觉得Ginkgo的很多设计理念和功能非常赞,因此特分享给大家。本篇不是该框架的入门指导。如果您也编写或维护过大量自动化测试用例,希望能获得一些共鸣.BDD(BehaviorDrivenDevelopment)要说Gin... 查看详情

用例结构优化心得

在大型项目的测试中通常都伴随着大量的测试用例。如何优化用例以提高编写的效率,如何组织用例以提高执行的效率经常困扰着我们;因此总结了一些在编写用例时的心得。1.用例框架的优化一份好的用例设计需要有一个好的... 查看详情

多个测试用例文件执行

参考技术A"""如何执行多个测试文件呢?unittest中的TestLoader类提供的discover()方法可以从多个文件中查找测试用例。discover(start_dir,pattern='test*.py',top_level_dir=None)start_dir 待测试的模块名或测试用例目录pattern='t... 查看详情

想要写出好的测试用例,先要学会测试设计

正确认识测试设计测试设计是从特定的测试依据中得到测试用例,是为了实现特定测试覆盖的标准化的方法。测试依据指的是有关测试的信息,比如项目背景、业务需求、领域知识、团队、进度、预算、风险等等,这... 查看详情