快速导航×

凯发k8娱乐官网入口:如何才能设计出一个“好的”测试用例发表于: 2021-12-23 01:30
本文摘要:如何才能设计出一个“好的”测试用例 来历:http://www.51testing.com 在正式开始解说之前,先讲一下什么是“好的” 测试 用例,这个“好”又应该表现在哪些方面。这两个问题看似简朴实则难以回覆。你可能会说:“发明软件缺陷可能性大的测试用例就是好用例。 ”然而,我会反问你:“你计划用什么方法来量化测试用例发明缺陷的可能性?” 雷同地,你可能还会说:“发明至今未被发明的软件缺陷的测试用例就是好用例。”那么我想问你的是:“如何评估是否还存在未被发明的缺陷?

凯发k8官网登录

如何才能设计出一个“好的”测试用例 来历:http://www.51testing.com 在正式开始解说之前,先讲一下什么是“好的” 测试 用例,这个“好”又应该表现在哪些方面。这两个问题看似简朴实则难以回覆。你可能会说:“发明软件缺陷可能性大的测试用例就是好用例。

”然而,我会反问你:“你计划用什么方法来量化测试用例发明缺陷的可能性?” 雷同地,你可能还会说:“发明至今未被发明的软件缺陷的测试用例就是好用例。”那么我想问你的是:“如何评估是否还存在未被发明的缺陷?假如软件中底子就没有错误呢?”其实,这是界说“好的”测试用例的思路错了。好比,一小我私家吃烧饼,连吃 5 个不饱,吃完第 6 个终于饱了。

早知道吃了第 6 个就会饱,何须吃前面 5 个呢?他吃的 6 个烧饼其实是一个整体,一起吃下去才会饱,无法从 6 个烧饼中找到吃一个就能饱的“好”烧饼。测试用例其实也是同样的原理,“好的”测试用例必然是一个完备的荟萃,它可以或许笼罩所有等价类以及各类界限值,而与可否发明缺陷无关。这里举一个“池塘打鱼”的例子,以帮你更好地理解什么是“好的”测试用例。

假如把被测试软件看作一个池塘,软件缺陷是池塘中的鱼,成立测试用例集的历程就像是在编织一张渔网。“好的”测试用例集就是一张可以或许笼罩整个池塘的大渔网,只要池塘里有鱼,这个大渔网就必然能把鱼给捞上来。假如渔网自己是完整的且及格的,可是捞不到鱼,就证明池塘中没有鱼,而渔网的优劣与池塘中是否有鱼无关。

“好的”测试用例具备的特征 凡是来说,一个“好的”测试用例必需具备以下 3 个特征。整体完备性:“好的”测试用例必然是一个完备的整体,是有效测试用例构成的荟萃,可以或许完全笼罩测试需求。

等价类划分的精确性:指的是对于每个等价类都能包管只要个中一个输入测试通过,其他输入也必然测试通过。常用测试用例的设计方法 大白了“好的”测试用例的内在和外延后,下面我们讲一下,为了可以或许设计出“好的”测试用例,凡是都要使用哪些设计方法。从理论层面来讲,设计测试用例的方法有许多,如等价类划分方法、界限值阐发方法、错误猜测方法、因果图方法、鉴定表驱动阐发方法、正交尝试设计方法、功效图阐发方法、场景设计方法、形式化方法、扩展有限状态机方法等,可是从软件企业实际的工程实践来讲,真正具有实用价值而且最常用的一般是前 3 种方法。

固然,对于那些与人的生命宁静直接或间接相关的软件,好比航行节制、轨道交通的列车节制、医疗检测相关的软件或者系统,由于需要到达严格的百分百的测试笼罩率,会接纳更多的测试用例设计方法。但对于大大都的软件测试而言,综合使用等价类划分方法、界限值阐发方法和错误猜测方法这 3 种方法就根基够用了。接下来,联合实际的例子,解释一下这 3 种方法的焦点观点以及在使用时需要注意的问题。

1.等价类划分方法 从前面的讲述中我们已经知道了,等价类中任意一个输入数据对于揭破法式中潜在错误都具有同等效果,后续我们只要从每个等价类中任意选取一个值举行测试,就可以用少量具有代表性的测试输入取得较好的测试笼罩成果。展开全文 此刻,这里给出一个详细的例子。学生信息系统中有一个“测验成就”的输入项,成就的取值规模是 0~100 的整数,测验成就合格的分数线是 60。

凯发k8娱乐官网入口

为了测试这个输入项,显然,不行能用 0~100 的每一个数去测试。通过需求描述可以知道,输入 0~59 的任意整数,以及输入60~100 的任意整数,去验证输入框的潜在缺陷是等价的,因此可以在 0~59 和 60~100 两个区间各随机抽取一个整数来举行验证,这样的设计就组成了所谓的“有效等价类”。但不要以为举行到这里,就已经完成了等价类划分的事情,因为等价类划分方法的另一个关键点是要找出所有“无效等价类”。

显然,假如输入的成就是负数,或者是大于 100 的数,就组成了“无效等价类”。在全面思量了无效等价类后,最终设计的测试用比方下。

有效等价类 1:0~59 的任意整数。有效等价类 2:59~100 的任意整数。无效等价类 1:小于 0 的负数。

无效等价类 2:大于 100 的整数。Z 无效等价类 3:0~100 的任何浮点数。无效等价类 4:其他任意非数字字符。

2.界限值阐发方法 界限值阐发方法是对等价类划分方法的增补。我们从工程实践中可以发明,大量的法式错误产生在输入/输出的界限值上,所以需要对界限值举行重点测试,凡是选取正好即是、方才大于或方才小于界限的值作为测试数据。

我们继续看学生信息系统中“测验成就”的例子,选取的界限值数据应该包括:?1、0、 1、59、60、61、99、100、101。3.错误猜测方法错误猜测方法是指基于对被测试软件系统设计的理解、过往经验以及小我私家直觉,猜测出软件可能存在的缺陷,从而有针对性地设计测试用例的方法。这种方法强调的是对被测试软件的需求理解以及设计实现的细节掌握,固然,还包括小我私家的能力和经验。

错误猜测方法和今朝很是风行的“摸索式测试方法”的根基思想与理念是不约而同的,这类方法在今朝的火速开辟模式下的投入产出比很高,因此被遍及应用,而且成为发明软件缺陷的主要方法。可是,这种方法的缺点也显而易见,那就是难以系统化,而且过分依赖小我私家能力和经验。

如,Web 界面的 GUI 功效测试,需要思量欣赏器在有缓存和没有缓存下的体现;Web办事的 API 测试,需要思量被测 API 所依赖的第三方 API 堕落环境下的处置惩罚逻辑;对于代码级的单位测试,需要思量被测函数的输入参数为空环境下的内部处置惩罚逻辑等。由此可见,这些测试用例的设计都基于从业者曾经碰到的问题举行错误猜测,也和小我私家能力和经验有关。在软件企业的详细实践中,为了降低对小我私家能力的依赖,凡是会成立常见缺陷常识库,在测试设计的历程中,会使用缺陷常识库作为查抄表(checklist),帮忙优化、增补测试用例的设计。对于中小企业,可能最初的方法就是成立一个简朴的 Wiki 页面,在测试工程师完成测试用例的最初设计后,对这个 Wiki 页面先做一轮自检,假如在后续测试中发明了新的存眷点,就会继续完善这个 Wiki 页面。

对于测试基础架构比力成熟的中大型软件企业,凡是会以该缺陷常识库作为数据驱动测试的输入来自动生成部门的测试数据,这部门内容会在本书后续的章节中具体先容。“好的”测试用例的设计方法 把握了最根基的 3 种设计测试用例的方法,就相当于拿到了接触所需要的枪支和弹药,接下来要做的就是在实战顶用这些兵器打个大胜仗了。在真实的工程实践中,差别的软件项目在研产生命周期的各个阶段城市有差别的测试类型。

凯发k8官网登录

好比,传统软件的开辟阶段凡是会有单位测试,软件模块集成阶段会有代码级集成测试,打包布置后会有面向终端用户的 GUI 测试。再好比,电商网站的测试会分为办事器端基于 API的测试、中间件测试、前端 GUI 测试等。对于每一种差别的测试类型,设计出“好的”测试用例的方法可能会有很大的差异,有些可能接纳黑盒方法,有些可能接纳白盒方法,有些还会接纳灰盒方法(比方,微办事架构中的测试),所以很难有一套放之四海而皆准的“套路”。这里仅以最常见、最容易理解的面向终端用户的 GUI 测试为例,解说如何才能设计一个“好的”测试用例。

在面向终端用户的 GUI 测试中,最焦点的测试点就是验证软件对用户需求的满意水平,这就要求测试工程师对被测软件的需求有深入的理解。在我看来,深入理解被测软件用户需求的最好方法是,测试工程师在软件需求阐发和设计阶段就开始参与,因为这个阶段是理解和把握软件的原始业务用户需求的最好机会。

只有真正理解了原始业务需求,才有可能从业务需求的角度去设计针对性明确、从终端用户使用场景思量的端到端的测试用例集。在这个阶段,测试用例设计的主要目的是验证各个业务需求是否满意,主要接纳黑盒的测试方法。

在设计详细的测试用例时,首先需要搞清楚每一个业务需求所对应的多个软件功效点,然后阐发出每个软件功效点对应的多个测试需求点,最后针对每个测试需求点设计测试用例。你可能以为这个测试用例设计历程有点绕,为了说明这个设计历程,这里还以“用户登录”功效的测试用例设计为例,画一张图来帮你理清这些观点之间的映射关系。

图中的业务需求到软件功效需求、软件功效需求到测试需求,以及测试需求到测试用例的映射关系,在非互联网软件企业的实践中,凡是会使用需求追踪办理东西(如 ALM、Doors、JIRA、Test Link 等)来办理,并以此来权衡测试用例对业务需求、软件功效需求的笼罩率。详细到测试用例自己的设计,有两个关键点需要出格注意。测试用例设计的其他经验 本节给出 3 个独创的测试用例设计“法门”,以帮读者设计出“好的”测试用例集。(1)只有深入理解被测试软件的架构,才能设计出有的放矢的测试用例集,去发明系统界限以及系统集成上的潜在缺陷。

作为测试工程师,切忌把整个被测系统看作一个大黑盒,必需对内部的架构有清楚的认识,好比,数据库毗连方式、数据库的读写分散、动静中间件 Kafka的设置、缓存系统的层级漫衍、第三方系统的集成等。(2)必需深入理解被测软件的设计与实现细节,深入理解软件内部的处置惩罚逻辑。单单按照测试需求点设计的测试用例,只能笼罩“外貌”的一层,往往会笼罩不到内部的处置惩罚流程、分支处置惩罚,而没有笼罩到的部门就可能呈现测试漏掉。

在详细实践中,测试人员可以通过代码笼罩率指标找出可能的测试漏掉点。同时,切忌以开辟代码的实现为依据设计测试用例。因为开辟代码实现的错误会导致测试用例也堕落,所以应该按照原始需求设计测试用例。(3)需要引入需求笼罩率和代码笼罩率来权衡测试执行的完备性,并以此为依据来找出漏掉的测试点。

作为测试人员,需要注意以下几点: (1)需要大白,“好的”测试用例必然是一个完备的荟萃,它可以或许笼罩所有等价类以及各类界限值,而可否发明软件缺陷并不是权衡测试用例优劣的尺度。(2)设计测试用例的方法有许多种,但综合运用等价类划分方法、界限值阐发方法和错误猜测方法,可以满意绝大大都软件测试用例设计的需求。(4)假如想设计一个“好的”测试用例,必需要深入理解被测软件的架构设计,深入理解软件内部的处置惩罚逻辑。

返回,检察更多。


本文关键词:凯发,娱乐,官网,入口,如何,才能,设计,凯发k8官网登录,出,一个

本文来源:凯发k8娱乐官网入口-www.pedeer.cn

凯发k8娱乐官网入口-登录
TOP
导航 电话 短信 咨询 地图 主页