CN106354631A - 一种快速软件系统回归测试的方法及装置 - Google Patents
一种快速软件系统回归测试的方法及装置 Download PDFInfo
- Publication number
- CN106354631A CN106354631A CN201610709506.9A CN201610709506A CN106354631A CN 106354631 A CN106354631 A CN 106354631A CN 201610709506 A CN201610709506 A CN 201610709506A CN 106354631 A CN106354631 A CN 106354631A
- Authority
- CN
- China
- Prior art keywords
- module
- unit
- user interface
- test
- code
- 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
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)
Abstract
本发明公开了一种快速软件系统回归测试的方法及装置,主要应用于系统测试环节,用以简化回归测试过程,尽早发现复杂Bug,提高测试效率。该方法不依赖于人的主观判断,对测试资源、测试环境和测试者要求都很低,方便实施。该方法包括:根据代码差异以及使用关系,获得全部变化影响的用户接口全集,确定系统回归测试黑盒测试用例范围;根据变化单元的复杂度及用户接口使用变化单元的情况,计算用户接口的优先级,确定黑盒测试用例的执行顺序;依据上述测试范围和优先级顺序实施测试。
Description
技术领域
本发明涉及计算机领域,特别涉及一种黑盒软件系统回归测试的方法及装置。
背景技术
近些年,软件的功能越来越丰富,复杂度也越来越高。随之,黑盒系统测试的测试用例数成倍增长,执行一次全集回归测试的时间大幅度增加,已经成为影响产品快速发布的重要因素之一。尤其在升级维护项目中,需求一般来源于客户,存在需求变化快、时间要求紧、绝大部分代码属于继承等特点,原有的穷举所有测试用例的测试策略存在的周期长、效率低的问题愈加凸显。凭经验选择部分子集进行回归,虽然可以大幅度的减少测试时间,但测试质量无法保证,存在很大的漏测风险。
回归测试优化技术的重点是如何选择有效的回归测试包来保证测试有效性并提高测试效率。如何平衡成本与风险,业内进行了众多优化技术研究,大部分都集中在对每一个测试需求对应的多个测试用例约简技术和测试用例优先级技术上,对测试范围优化技术鲜有涉猎。测试用例集约简技术是回归测试时仍要覆盖每一个测试需求,例如粒子群优化(PSO)算法、启发式算法、遗传算法、基于数据依赖及控制依赖的用例选择方法等。
但上述测试方法及装置存在两点问题:一是,对系统测试者的能力要求很高,或者需要掌握用户会如何的全部场景,或者需要对被测软件的设计非常了解,清楚了解每个测试用例在代码中的执行路径,这是大多数系统测试人员都无法掌握的。二是,对测试环境和测试资源的要求较高。尤其是嵌入式系统,测试资源紧张、测试手段匮乏,很难实施。
综上,需要寻求并设计一种效率更高、对测试者能力和测试资源要求都较低的黑盒软件系统回归测试装置。发明内容
本发明实施例提供了一种快速软件系统回归测试的方法及装置,用以解决目前软件系统回归测试效率不高,不全面的问题。方法的关键是分析变化部分的代码与系统用户接口的关系,从而确定回归测试用例范围和优先级顺序。通过本方法可以大幅度裁剪测试用例,同时精确圈定测试用例集,避免漏测。
本发明实施例提供的一种快速软件系统回归测试的方法包括:
步骤(1)根据代码差异以及使用关系,获得全部变化影响的用户接口全集,确定系统回归测试黑盒测试用例范围;
步骤(2)根据变化单元的复杂度及用户接口单元使用变化单元的情况,计算用户接口的优先级,确定黑盒测试用例的执行顺序;
步骤(3)依据上述测试范围和优先级顺序实施测试。
本发明实施例提供的一种快速软件系统回归测试的装置包括:
模块(1)代码变化分析模块,用于分离出代码发生变化的单元。结果输出给全集测试用例筛选装置和复杂度分析模块。
模块(2)使用关系分析模块,用于分析代码中所有单元之间的使用关系。结果输出给全集测试用例筛选装置和测试用例优先级排序模块。
模块(3)复杂度分析模块,用于分析发生变化的单元的复杂度。结果输出给测试用例优先级排序模块。
模块(4)全集黑盒系统测试用例筛选模块,用于从全集黑盒系统测试用例集中筛选出应用于测试的测试用例。结果输出给测试用例优先级排序模块和测试用例执行模块。
模块(5)测试用例优先级排序模块,用于对测试用例集中的测试用例进行优先级排序。结果输出给测试用例执行模块。
模块(6)测试用例执行模块,用于测试用例的执行。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种快速软件系统回归测试的方法示意图;
图2为本发明实施例提供的一种快速软件系统回归测试的装置的模块关系示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明的一种快速软件系统回归测试的方法与装置的具体实施方式作进一步详细描述。
本发明实施例提供了一种快速软件系统回归测试的方法及装置,用以解决目前软件系统回归测试效率不高,不全面的问题。通过本方法可以大幅度裁剪测试用例,同时精确圈定测试用例集,避免漏测。
如图1所示,所述方法包括:
步骤(1)根据代码差异以及使用关系,获得全部变化影响的用户接口全集,确定系统回归测试黑盒测试用例范围;
步骤(2)根据变化单元的复杂度及用户接口单元使用变化单元的情况,计算用户接口的优先级,确定黑盒测试用例的执行顺序;
步骤(3)依据上述测试范围和优先级顺序实施测试。
较佳的,步骤(1)中根据代码差异以及使用关系,获得全部变化影响的用户接口全集,包括:
分析代码差异,分离出代码发生变化的单元;
分析代码中所有单元之间的使用关系,分析出每个单元被哪些单元直接使用,以及直接使用了哪些函数;
分析代码发生变化的单元被哪些用户接口单元使用。
较佳的,步骤(2)根据变化单元的复杂度及用户接口单元使用变化单元的情况,计算用户接口的优先级,包括:
评估每个变化单元的复杂度;
依据复杂度评估值对变化单元进行排序,分配顺序号;
分析每个用户接口使用的代码发生变化的单元;
将使用的代码发生变化的单元的顺序号进行累加,得到每个用户接口的优先级评估值;
根据每个用户接口的优先级评估值,对用户接口的优先级进行排序。
如图2所示,所述装置包括:
模块(1)代码变化分析模块,用于分离出代码发生变化的单元。结果输出给全集测试用例筛选装置和复杂度分析模块。
模块(2)使用关系分析模块,用于分析代码中所有单元之间的使用关系。结果输出给全集测试用例筛选装置和测试用例优先级排序模块。
模块(3)复杂度分析模块,用于分析发生变化的单元的复杂度。结果输出给测试用例优先级排序模块。
模块(4)全集黑盒系统测试用例筛选模块,用于从全集黑盒系统测试用例集中筛选出应用于测试的测试用例。结果输出给测试用例优先级排序模块和测试用例执行模块。
模块(5)测试用例优先级排序模块,用于对测试用例集中的测试用例进行优先级排序。结果输出给测试用例执行模块。
模块(6)测试用例执行模块,用于测试用例的执行。
较佳的,模块(2)使用关系分析模块,包括:
以单元为单位,分析出每个单元被哪些单元直接使用,以及直接使用了哪些单元。
较佳的,模块(4)全集黑盒系统测试用例筛选模块,包括:
分析代码发生变化的单元被哪些用户接口单元使用;
从全集黑盒系统测试用例集中筛选出上述用户接口单元对应的黑盒系统测试用例集。
较佳的,模块(5)测试用例优先级排序模块,包括:
依据复杂度评估值对变化单元进行排序,分配顺序号;
分析每个用户接口单元使用的代码发生变化的单元;
将使用的代码发生变化的单元的顺序号进行累加,得到每个用户接口的优先级评估值;
根据每个用户接口的优先级评估值,对用户接口的优先级进行排序。
经实践证明本发明提供的这种快速软件系统回归测试的方法及装置,简单可行,能够以更高的效率、更全面的覆盖率的完成软件系统回归测试。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种快速软件系统回归测试的方法,其特征在于,该方法包括:
步骤(1)根据代码差异以及使用关系,获得全部变化影响的用户接口全集,确定系统回归测试黑盒测试用例范围;
步骤(2)根据变化单元的复杂度及用户接口单元使用变化单元的情况,计算用户接口的优先级,确定黑盒测试用例的执行顺序;
步骤(3)依据上述测试范围和优先级顺序实施测试。
2.如权利要求1所述的方法,其特征在于,步骤(1)根据代码差异以及使用关系,获得全部变化影响的用户接口全集,包括:
分析代码差异,分离出代码发生变化的单元;
分析代码中所有单元之间的使用关系,分析出每个单元被哪些单元直接使用,以及直接使用了哪些函数;
分析代码发生变化的单元被哪些用户接口单元使用。
3.如权利要求1所述的方法,其特征在于,步骤(2)根据变化单元的复杂度及用户接口单元使用变化单元的情况,计算用户接口的优先级,包括:
评估每个变化单元的复杂度;
依据复杂度评估值对变化单元进行排序,分配顺序号;
分析每个用户接口使用的代码发生变化的单元;
将使用的代码发生变化的单元的顺序号进行累加,得到每个用户接口的优先级评估值;
根据每个用户接口的优先级评估值,对用户接口的优先级进行排序。
4.一种快速软件系统回归测试的装置,其特征在于,该装置包括:
模块(1)代码变化分析模块,用于分离出代码发生变化的单元;结果输出给全集测试用例筛选装置和复杂度分析模块;
模块(2)使用关系分析模块,用于分析代码中所有单元之间的使用关系;结果输出给全集测试用例筛选装置和测试用例优先级排序模块;
模块(3)复杂度分析模块,用于分析发生变化的单元的复杂度;结果输出给测试用例优先级排序模块。
模块(4)全集黑盒系统测试用例筛选模块,用于从全集黑盒系统测试用例集中筛选出应用于测试的测试用例;结果输出给测试用例优先级排序模块和测试用例执行模块;
模块(5)测试用例优先级排序模块,用于对测试用例集中的测试用例进行优先级排序。结果输出给测试用例执行模块;
模块(6)测试用例执行模块,用于测试用例的执行。
5.如权利要求4所述的装置,其特征在于,模块(2)使用关系分析模块,包括:
以单元为单位,分析出每个单元被哪些单元直接使用,以及直接使用了哪些单元。
6.如权利要求4所述的装置,其特征在于,模块(4)全集黑盒系统测试用例筛选模块,包括:
分析代码发生变化的单元被哪些用户接口单元使用;
从全集黑盒系统测试用例集中筛选出上述用户接口单元对应的黑盒系统测试用例集。
7.如权利要求4所述的装置,其特征在于,模块(5)测试用例优先级排序模块,包括:
依据复杂度评估值对变化单元进行排序,分配顺序号;
分析每个用户接口单元使用的代码发生变化的单元;
将使用的代码发生变化的单元的顺序号进行累加,得到每个用户接口的优先级评估值;
根据每个用户接口的优先级评估值,对用户接口的优先级进行排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610709506.9A CN106354631A (zh) | 2016-08-23 | 2016-08-23 | 一种快速软件系统回归测试的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610709506.9A CN106354631A (zh) | 2016-08-23 | 2016-08-23 | 一种快速软件系统回归测试的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106354631A true CN106354631A (zh) | 2017-01-25 |
Family
ID=57845073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610709506.9A Pending CN106354631A (zh) | 2016-08-23 | 2016-08-23 | 一种快速软件系统回归测试的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106354631A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107650914A (zh) * | 2017-09-29 | 2018-02-02 | 上海汽车集团股份有限公司 | 先进驾驶辅助系统的车辆接口测试方法 |
CN108509337A (zh) * | 2018-03-15 | 2018-09-07 | 链家网(北京)科技有限公司 | 基于接口调用的动态测试方法和装置 |
CN109062818A (zh) * | 2018-10-24 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种持续集成系统测试方法和装置 |
CN109446097A (zh) * | 2018-11-07 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种回归测试用例选择方法、装置、终端及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289408A (zh) * | 2011-09-08 | 2011-12-21 | 武汉大学 | 一种基于错误传播网络的回归测试用例排序方法 |
US20120266023A1 (en) * | 2011-04-12 | 2012-10-18 | Brown Julian M | Prioritization and assignment manager for an integrated testing platform |
-
2016
- 2016-08-23 CN CN201610709506.9A patent/CN106354631A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120266023A1 (en) * | 2011-04-12 | 2012-10-18 | Brown Julian M | Prioritization and assignment manager for an integrated testing platform |
CN102289408A (zh) * | 2011-09-08 | 2011-12-21 | 武汉大学 | 一种基于错误传播网络的回归测试用例排序方法 |
Non-Patent Citations (1)
Title |
---|
陆瀛海: "基于测试用例优先级技术的测试评估系统的研究与实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107650914A (zh) * | 2017-09-29 | 2018-02-02 | 上海汽车集团股份有限公司 | 先进驾驶辅助系统的车辆接口测试方法 |
CN108509337A (zh) * | 2018-03-15 | 2018-09-07 | 链家网(北京)科技有限公司 | 基于接口调用的动态测试方法和装置 |
CN109062818A (zh) * | 2018-10-24 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种持续集成系统测试方法和装置 |
CN109446097A (zh) * | 2018-11-07 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种回归测试用例选择方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106354631A (zh) | 一种快速软件系统回归测试的方法及装置 | |
CN104185840B (zh) | 在持续部署流水线中用来优先化多个测试的方法、系统和装置 | |
CN104052612B (zh) | 一种电信业务的故障识别与定位的方法及系统 | |
CN103530347B (zh) | 一种基于大数据挖掘的互联网资源质量评估方法及系统 | |
CN109508819A (zh) | 一种轨道控制的方法和装置 | |
CN105446885A (zh) | 一种基于需求的回归测试用例优先级排序技术 | |
CN102682229A (zh) | 一种基于虚拟化技术的恶意代码行为检测方法 | |
CN107622801A (zh) | 疾病概率的检测方法和装置 | |
CN101762282B (zh) | 电子地图路径规划方法 | |
CN107391376A (zh) | 一种回归测试方法 | |
CN107798615A (zh) | 保单续期收费难度预测方法和装置 | |
CN110134988A (zh) | 一种基于失效物理的器件级产品多应力强化试验剖面确定方法 | |
CN104022899A (zh) | 一种网络管理系统的三维评估方法及系统 | |
CN104317707A (zh) | 一种基于程序结构影响感知的软件错误定位方法 | |
CN106021113A (zh) | 一种精准测试的实现方法 | |
CN109582988A (zh) | 航空发动机叶片的振动应力监测用应变片位置的确定方法 | |
CN104899408A (zh) | 有趣项集获取方法和装置 | |
CN109740890A (zh) | 一种质量影响因素相关性分析方法 | |
CN106886620A (zh) | 航天器测试资源优化配置方法 | |
CN106529061B (zh) | 一种飞行器的评测方法及评测系统 | |
CN104573864A (zh) | 一种基于自回归预测的数据分析报警方法 | |
CN102495944B (zh) | 一种时间序列预测方法、设备和系统 | |
CN107274100A (zh) | 基于电力大数据的经济预警分析方法 | |
Silva et al. | Towards making safety-critical systems safer: learning from mistakes | |
CN105652182A (zh) | 一种基于电路网络和图搜索的电路板故障定位系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170125 |