CN107844427A - 一种基于测试资源感知的测试用例排序方法 - Google Patents
一种基于测试资源感知的测试用例排序方法 Download PDFInfo
- Publication number
- CN107844427A CN107844427A CN201711227450.4A CN201711227450A CN107844427A CN 107844427 A CN107844427 A CN 107844427A CN 201711227450 A CN201711227450 A CN 201711227450A CN 107844427 A CN107844427 A CN 107844427A
- Authority
- CN
- China
- Prior art keywords
- test
- resource
- test case
- defect
- case
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明特别涉及一种基于测试资源感知的测试用例排序方法。该基于测试资源感知的测试用例排序方法,将回归测试视为一组具有偏序关系的测试行为的序列,其中每一个阶段的测试行为受到上一个阶段测试行为的影响,同时需要考虑测试资源和时间的约束。该基于测试资源感知的测试用例排序方法,通过对测试资源的感知来解决测试用例的优先排序问题,通过设计高质量的测试用例来尽可能多地检测出被测软件内部存在的缺陷,能够在资源有限的情况下尽可能的执行所有的测试用例,保障产品质量,更好的满足软件需求。
Description
技术领域
本发明涉及软件测试技术领域,特别涉及一种基于测试资源感知的测试用例排序方法。
背景技术
测试用例tc(Test Case)是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式。同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。不同于诸如系统、工具、控制、游戏软件,管理软件的用户需求更加不同的趋势。
要使最终用户对软件感到满意,最有力的举措就是对最终用户的期望加以明确阐述,以便对这些期望进行核实并确认其有效性。测试用例反映了要核实的需求。然而,核实这些需求可能通过不同的方式并由不同的测试员来实施。例如,执行软件以便验证它的功能和性能,这项操作可能由某个测试员采用自动测试技术来实现;计算机系统的关机步骤可通过手工测试和观察来完成;但是,市场占有率和销售数据(以及产品需求),只能通过评测产品和竞争销售数据来完成。
既然可能无法(或不必负责)核实所有的需求,那么是否能为测试挑选最适合或者最关键的需求则关系到项目的成败。选中要核实的需求将是对成本、风险和对该需求进行核实的必要性这三者权衡考虑的结果。
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。
测试用例优先排序(test case prioritization,简称TCP)问题是回归测试研究中的一个热点。通过设定特定排序准则,对测试用例进行排序以优化其执行次序,旨在最大化排序目标,例如最大化测试用例集的早期缺陷检测速率。实践表明,TCP技术可以协助测试人员提高缺陷检测速率并使开发人员尽早展开调试工作。目前,TCP技术中采用的排序准则一般建立在对源代码、需求或模型的分析基础上;同时,TCP技术不仅成功应用到传统软件的测试中,而且也逐渐成功应用到特定领域的测试中,包括图形用户界面测试、Web应用测试、Web 服务测试、组合测试和缺陷定位等。
理想情况下,TCP技术假设测试人员可以按照测试用例测试计划完成所有测试轮次的测试,直到所有问题得到解决。但实际情况却是,受资源所限不能保证执行完所有的测试用例,例如,项目的整体时间有限,需要在规定时间内完成版本的发布,或者测试人员的人力限制等。
基于上述问题,本发明提出了一种基于测试资源感知的测试用例排序方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于测试资源感知的测试用例排序方法。
本发明是通过如下技术方案实现的:
一种基于测试资源感知的测试用例排序方法,其特征在于:将回归测试视为一组具有偏序关系的测试行为的序列,其中每一个阶段的测试行为受到上一个阶段测试行为的影响,同时需要考虑测试资源和时间的约束;
测试用例优先排序TCP方法,具体包括以下步骤:
(1)应用测试用例选择技术,选择出部分测试用例并构成集合T;
(2)为集合T中的每个测试用例设置选择概率值;
(3)根据选择概率值,从集合T中选出一个测试用例并执行;
(4)重复步骤(3),直至测试资源和时间用完。
该基于测试资源感知的测试用例排序方法,提出两种程序演化模型;其中,模型1基于程序出发,每次植入单一缺陷并形成新的程序版本,直到所有缺陷均被植入;模型2从一个包含所有缺陷的程序出发,每次移除其中一个缺陷并形成新的程序版本,直到所有缺陷均移除。
所述选择概率值的设定公式为:Pk=α*hk+(1-α)*Pk-1,P0=h1;其中hk为测试用例tc在第k个阶段的观察值,其取值基于测试用例的在该阶段的执行情况、缺陷检测情况或程序实体的覆盖信息;α为平滑常量,用于平滑不同测试阶段观察值的权重。
0≤α≤1;若测试用例tc在第k个阶段未检测到缺陷,则hk的取值设置为0,否则hk的取值设置为1。
本发明的有益效果是:该基于测试资源感知的测试用例排序方法,通过对测试资源的感知来解决测试用例的优先排序问题,通过设计高质量的测试用例来尽可能多地检测出被测软件内部存在的缺陷,能够在资源有限的情况下尽可能的执行所有的测试用例,保障产品质量,更好的满足软件需求。
附图说明
附图1为本发明基于测试资源感知的测试用例排序方法示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该基于测试资源感知的测试用例排序方法,将回归测试视为一组具有偏序关系的测试行为的序列,其中每一个阶段的测试行为受到上一个阶段测试行为的影响,同时需要考虑测试资源和时间的约束;
测试用例优先排序TCP方法,具体包括以下步骤:
(1)应用测试用例选择技术,选择出部分测试用例并构成集合T;
(2)为集合T中的每个测试用例设置选择概率值;
(3)根据选择概率值,从集合T中选出一个测试用例并执行;
(4)重复步骤(3),直至测试资源和时间用完。
该基于测试资源感知的测试用例排序方法,提出两种程序演化模型;其中,模型1基于程序出发,每次植入单一缺陷并形成新的程序版本,直到所有缺陷均被植入;模型2从一个包含所有缺陷的程序出发,每次移除其中一个缺陷并形成新的程序版本,直到所有缺陷均移除。
所述选择概率值的设定公式为:Pk=α*hk+(1-α)*Pk-1,P0=h1;其中hk为测试用例tc在第k个阶段的观察值,其取值基于测试用例的在该阶段的执行情况、缺陷检测情况或程序实体的覆盖信息;α为平滑常量,用于平滑不同测试阶段观察值的权重。
0≤α≤1;若测试用例tc在第k个阶段未检测到缺陷,则hk的取值设置为0,否则hk的取值设置为1。
软件的改正性维护、适应性维护以及完善性维护都将引起软件的变化,软件一旦发生变更就需要回归测试被测软件,以确保新的变更没有产生副作用。回归测试是软件开发与维护过程中代价最昂贵的活动之一,占了总测试预算的80%,软件维护阶段总费用的50%。在这种背景下,本发明机遇测试资源能感知的测试用例排序技术能够更好的在有限的资源情况下进行回归测试,尽可能的在测试过程中发现更多的软件缺陷,并提高回归缺陷的回归效率。
Claims (4)
1.一种基于测试资源感知的测试用例排序方法,其特征在于:将回归测试视为一组具有偏序关系的测试行为的序列,其中每一个阶段的测试行为受到上一个阶段测试行为的影响,同时需要考虑测试资源和时间的约束;
测试用例优先排序TCP方法,具体包括以下步骤:
(1)应用测试用例选择技术,选择出部分测试用例并构成集合T;
(2)为集合T中的每个测试用例设置选择概率值;
(3)根据选择概率值,从集合T中选出一个测试用例并执行;
(4)重复步骤(3),直至测试资源和时间用完。
2.根据权利要求1所述的基于测试资源感知的测试用例排序方法,其特征在于:该基于测试资源感知的测试用例排序方法,提出两种程序演化模型;其中,模型1基于程序出发,每次植入单一缺陷并形成新的程序版本,直到所有缺陷均被植入;模型2从一个包含所有缺陷的程序出发,每次移除其中一个缺陷并形成新的程序版本,直到所有缺陷均移除。
3.根据权利要求1所述的基于测试资源感知的测试用例排序方法,其特征在于:所述选择概率值的设定公式为:Pk=α*hk+(1-α)*Pk-1,P0=h1;其中hk为测试用例tc在第k个阶段的观察值,其取值基于测试用例的在该阶段的执行情况、缺陷检测情况或程序实体的覆盖信息;α为平滑常量,用于平滑不同测试阶段观察值的权重。
4.根据权利要求3所述的基于测试资源感知的测试用例排序方法,其特征在于:0≤α≤1;若测试用例tc在第k个阶段未检测到缺陷,则hk的取值设置为0,否则hk的取值设置为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711227450.4A CN107844427A (zh) | 2017-11-29 | 2017-11-29 | 一种基于测试资源感知的测试用例排序方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711227450.4A CN107844427A (zh) | 2017-11-29 | 2017-11-29 | 一种基于测试资源感知的测试用例排序方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107844427A true CN107844427A (zh) | 2018-03-27 |
Family
ID=61679272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711227450.4A Pending CN107844427A (zh) | 2017-11-29 | 2017-11-29 | 一种基于测试资源感知的测试用例排序方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107844427A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694123A (zh) * | 2018-05-14 | 2018-10-23 | 中国平安人寿保险股份有限公司 | 一种回归测试方法、计算机可读存储介质及终端设备 |
CN109597733A (zh) * | 2018-12-04 | 2019-04-09 | 航天恒星科技有限公司 | 一种多功能高效动态芯片验证仿真方法和设备 |
CN110647461A (zh) * | 2019-08-19 | 2020-01-03 | 江苏大学 | 多信息融合的回归测试用例排序方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080120601A1 (en) * | 2006-11-16 | 2008-05-22 | Takashi Ashida | Information processing apparatus, method and program for deciding priority of test case to be carried out in regression test background of the invention |
CN103605611A (zh) * | 2013-12-10 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种基于遗传算法的测试用例优化方法 |
CN105528289A (zh) * | 2015-12-04 | 2016-04-27 | 中国矿业大学 | 一种基于分支覆盖与相似性的回归测试用例优先排序方法 |
CN106502892A (zh) * | 2016-10-20 | 2017-03-15 | 杭州电子科技大学 | 一种基于uml模型的测试用例优先排序方法 |
CN106528433A (zh) * | 2016-12-12 | 2017-03-22 | 西安邮电大学 | 一种用于白盒测试的测试用例优先级排序方法 |
-
2017
- 2017-11-29 CN CN201711227450.4A patent/CN107844427A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080120601A1 (en) * | 2006-11-16 | 2008-05-22 | Takashi Ashida | Information processing apparatus, method and program for deciding priority of test case to be carried out in regression test background of the invention |
CN103605611A (zh) * | 2013-12-10 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种基于遗传算法的测试用例优化方法 |
CN105528289A (zh) * | 2015-12-04 | 2016-04-27 | 中国矿业大学 | 一种基于分支覆盖与相似性的回归测试用例优先排序方法 |
CN106502892A (zh) * | 2016-10-20 | 2017-03-15 | 杭州电子科技大学 | 一种基于uml模型的测试用例优先排序方法 |
CN106528433A (zh) * | 2016-12-12 | 2017-03-22 | 西安邮电大学 | 一种用于白盒测试的测试用例优先级排序方法 |
Non-Patent Citations (1)
Title |
---|
陈翔等: "回归测试中的测试用例优先排序技术述评", 《软件学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694123A (zh) * | 2018-05-14 | 2018-10-23 | 中国平安人寿保险股份有限公司 | 一种回归测试方法、计算机可读存储介质及终端设备 |
CN108694123B (zh) * | 2018-05-14 | 2023-07-21 | 中国平安人寿保险股份有限公司 | 一种回归测试方法、计算机可读存储介质及终端设备 |
CN109597733A (zh) * | 2018-12-04 | 2019-04-09 | 航天恒星科技有限公司 | 一种多功能高效动态芯片验证仿真方法和设备 |
CN109597733B (zh) * | 2018-12-04 | 2022-08-09 | 航天恒星科技有限公司 | 一种多功能高效动态芯片验证仿真方法和设备 |
CN110647461A (zh) * | 2019-08-19 | 2020-01-03 | 江苏大学 | 多信息融合的回归测试用例排序方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105302716B (zh) | 合流开发模式下的测试方法、装置 | |
CN101329652B (zh) | 一种回归测试自动化系统及方法 | |
Kellner et al. | Software process modeling example problem | |
CN107229827A (zh) | 用于自身免疫疾病检测分析的数据核查预警方法及装置 | |
CN107844427A (zh) | 一种基于测试资源感知的测试用例排序方法 | |
CN105138386A (zh) | 基于Jenkins与vManager的逻辑设计验证持续集成平台 | |
AU2002365045A8 (en) | System and method for automated test-case generation for software | |
Neto et al. | A regression testing approach for software product lines architectures | |
CN104133771B (zh) | 一种测试方法及装置 | |
CN107463362A (zh) | 基于多个Jenkins的持续部署的方法和系统 | |
CN106610891A (zh) | 测试方法和装置 | |
CN112433944A (zh) | 业务测试方法、装置、计算机设备和存储介质 | |
CN110275818A (zh) | 测试程序生成方法、装置及存储介质 | |
CN103970654B (zh) | 一种软件可靠性虚拟测试方法 | |
CN106021113A (zh) | 一种精准测试的实现方法 | |
CN103617119B (zh) | 基于语句交互覆盖的回归测试用例选择方法 | |
CN105512372B (zh) | 模型化的星载数据处理仿真测试方法 | |
Großmann et al. | Combining risk analysis and security testing | |
CN107885627A (zh) | 一种服务器自动化测试系统及方法 | |
CN106294174A (zh) | 测试充分性的多维度度量方法及装置 | |
CN104461882B (zh) | 一种符合do‑178b/c a级软件的模型验证方法 | |
CN109947642A (zh) | 基于案例分类的自动化分层测试方法、装置及系统 | |
CN109739511A (zh) | 一种提高代码验证效率的方法、装置、计算机设备及存储介质 | |
CN107590063A (zh) | 一种软件产品成熟度评价方法 | |
CN115328798A (zh) | 一种芯片验证自动化回归测试方法及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180327 |