张国伟 发表于 2024-11-10 07:21:31

【软件测试】测试用例优先级

通过软件开发生命周期(SDLC)的软件测试过程,可以保证软件的质量。聪明的软件测试可以资助提供一个更可靠和无缺陷的产品,满足业务需求和长处相干者的盼望。这就是为什么它需要更多的时间和资源,因此,使这个过程非常昂贵的原因。由于产品进入测试阶段后所剩的时间有限,因此确定测试用例的优先序次变得更加重要,特别是在回归测试期间,以进步软件测试的服从。
回归测试是软件测试的一种范例,它检查应用步伐的代码库中的变化、更新或改进不会影响软件应用步伐的现有功能。它对现有功能的整体稳定性和功能负责。
在软件回归测试过程中,测试用例优先级开始发挥作用。除了测试套件最小化(TSM)和测试案例选择(TCS),测试用例优先级也是回归测试的方法之一。
什么是测试用例优先化(TCP)?
测试用例优先化或TCP,顾名思义,是在测试套件中根据差别的因素对测试用例举行优先化的过程,这些因素可以是代码覆盖率、功能、风险/关键模块、特征等。
它提供了一种方法,根据一些措施起首实行高度重要的测试用例,然后产生预期的结果,例如,提前揭示故障并为测试职员提供反馈。
为什么测试用例的优先级很重要?
测试是SDLC中最重要的阶段之一,在成本、精神和时间方面斲丧了大量的资源。
测试的困难部分是风险管理,测试操持,成本代价,以及对特定项目运行的测试举行分析。
运行一个测试套件中的所有测试用例大概需要大量的努力,从而增加回归测试的成本。
随着软件规模的增长,测试套件也越来越大,因此,需要更多的努力来维护测试套件。
对于复杂的应用步伐,详尽地测试每一种情况是不大概的,也是不现实的。
根据感知到的风险和客户需求对测试案例举行优先排序,可以有效地淘汰测试应用步伐所需的测试案例数量。
确定测试用例的优先级也有助于满足项目的里程碑,同时满足客户的要求和盼望。还可以实现对错误的早期检测。
可用于测试用例选择的优先类别
优先级1:必须实行的测试用例,否则产品发布后的后果大概会更糟。这些是关键的测试用例,由于新功能的出现,功能被破坏的大概性是最大的。
优先级2:如果有足够的时间,测试案例大概会被实行。这些不好坏常关键的案例,但可以作为启动前的双重检查的最佳做法来实行。

优先级3:这些测试用例在当前发布之前不重要。这些可以在以后测试,在当前软件版本发布后不久作为最佳实践。然而,没有直接的依赖性。

优先级4:测试用例从不重要,因为其影响几乎可以忽略不计。

在优先级方案中,人们必须遵循的重要准则是确保较低优先级的测试用例不应该对软件造成任何严重影响。这些优先级的确定可以有几个目的。下面是其中的一些。

优先级的确定可以基于已经传达给客户的功能,从贸易的角度来看是至关重要的。

通过检查一个测试套件的故障检测率来权衡故障的大概性。这有助于相识一个测试套件是否有漏洞。

通过允许在测试过程的早期使用代码覆盖尺度,以更快的速度增加被测系统的可覆盖代码的覆盖率。

通过在测试过程中提前定位雷同的故障,进步测试套件中高风险故障的检测率。

在回归测试过程的早期,由于具体的代码修改,增加了故障被发现的大概性。

测试用例优先化的范例(TCP)
有两种范例的测试用例的优先权。

一般测试用例优先排序

在这种优先级排序中,测试用例的优先级是基于它们对产品的后续修改版本的作用。它不需要任何关于修改版本的知识。因此,一般的测试用例优先级可以在非高峰期的步伐版本发布后举行。因此,实行优先级的成本在随后的版本中被摊销了。

特定版本的测试用例优先化
在这个优先排序中,我们对测试用例举行优先排序,使它们在产品的特定版本上有效。这需要相识产品的所有变化。这是在对修改后的版本举行回归测试之前举行的。

什么是定义测试用例优先级的差别技术?

QA使用的五种测试用例优先排序技术如下。
1. 基于覆盖率的TCP

这种范例的测试用例的优先级是基于代码覆盖率的。在这里,测试用例是根据他们的代码覆盖率来确定优先序次的。

它有以下几个子技术:

语句总覆盖率优先化。在这个技术中,测试用例所覆盖的总语句数被用来作为测试用例的优先级因素。例如,覆盖5条语句的测试用例将比覆盖2条语句的测试用例获得更多优先权。

额外的语句覆盖率优先级。这种技术包罗反复选择一个具有最大语句覆盖率的测试用例,然后选择一个覆盖前一个测试用例未覆盖的语句的测试用例。这个过程重复举行,直到所有的语句都被覆盖。

总分支覆盖率的优先排序。在这种技术中,总分支覆盖率被用作测试用例优先排序的因素,其中分支覆盖率指的是对一个条件的每个大概结果的覆盖。

额外分支覆盖率优先排序。这种技术包罗选择一个具有最大分支覆盖率的测试用例,然后反复选择一个覆盖分支结果的测试用例,这些分支结果是前一个测试用例所没有覆盖的。

2.基于风险的优先级定义方法
这种范例的优先次序使用风险分析来确定潜伏的问题范畴,如果失败,大概会导致不良后果。因此,测试用例的优先级要牢记潜伏的问题范畴。

在风险分析中实行以下步骤。
列出潜伏的问题
为每个问题分配发生的概率
计算每个问题的影响的严重水平

3.基于需求的TCP
在这种技术中,测试用例的优先级是根据决定业务需求的差别因向来评估的。这些因素被记录在功能需求文件中,并具体强调了客户需求。测试用例的操持思量到了客户对一个需求的优先权,它的复杂性,和优先权的波动性。

每一个测试用例都根据这些以客户为中心的因素被赋予一个值,然后具有较高因素值的测试用例被优先于具有较低值的用例。

这些是用于测试用例优先排序的因素。
客户指定的优先级(CP)--它是从客户的贸易代价角度来权衡需求的重要性。
需求波动性 (RV) - 它表现需求改变了多少次。
需求实施的复杂性 (IC) - 它表现实施一个需求所需的努力或时间。
易错性 (FP) - 它表明一个需求在从前的软件版本中是多么容易出错。

4. 基于历史的TCP
在这种技术中,测试用例的优先级重要是基于测试用例的历史,即检查测试用例的过去实行结果。

它被用来确定测试失败的大概机会,那些更有大概失败的测试案例被优先于那些失败机会较少的测试案例。测试用例的实行历史被用来选择哪些测试用例会被思量在当前周期举行测试。

5.基于成本意识的TCP
在这种技术中,测试用例是以成本因素为底子举行优先排序的。成本较低的测试用例将被优先于成本较高的测试用例。

它包罗:
回归测试过程的成本
收集需求的成本
分析是否选择一个测试案例的成本
确定测试用例的优先级的成本
整个测试实行的成本

权衡优先级测试套件的有效性的指标
为了权衡优先级测试套件的有效性,你可以使用一个叫做APFD(平均故障检测百分比)的指标,可以用以下公式计算
APFD = 1 - ( ( TF1 + TF2 + ....... + TFm ) / nm )+ 1 / 2n
其中。
TFi = 测试套件T中暴露出故障i的第一个测试案例的位置
m = T下暴露的故障总数
n = T中测试用例的总数
AFPD值范围从0到100。APFD值越高,故障检测率越快。
因此,简朴地说,APFD表明测试套件能多快地识别软件中的故障或错误。如果测试套件能够快速检测出故障,那么它就被以为是更有效和可靠的。

总结

毫无疑问,测试用例的优先级是按照市场和最终用户的尺度生产高质量产品的最有效方法之一。它是一种将测试用例从高级别优先级到低级别优先级举行优先排序和安排的方法。这种方法在软件测试阶段最能淘汰成本、精神和时间。然而,重要的是要彻底相识测试用例优先级的利益、挑衅和技术,以便从中获得最大长处。这样,你就会成功地确定测试用例的优先序次。

无论你怎样确定你的测试的优先级,在真实的用户条件下测试它们是至关重要的,以确保测试有更好的准确性。
末了: 下方这份完备的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】
            https://i-blog.csdnimg.cn/blog_migrate/d7083bcbdc7aee4589a0cf79bf6b5a98.png         这些资料,对于【软件测试】的朋友来说应该是最全面最完备的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能资助到你!
            https://i-blog.csdnimg.cn/blog_migrate/4c3b22b38104675900fb57e9a1c0dc19.gif         

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【软件测试】测试用例优先级