CN105302720A - 一种软件回归测试用例筛选方法 - Google Patents
一种软件回归测试用例筛选方法 Download PDFInfo
- Publication number
- CN105302720A CN105302720A CN201510704792.5A CN201510704792A CN105302720A CN 105302720 A CN105302720 A CN 105302720A CN 201510704792 A CN201510704792 A CN 201510704792A CN 105302720 A CN105302720 A CN 105302720A
- Authority
- CN
- China
- Prior art keywords
- module
- software
- case
- regression
- cases
- 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
Abstract
本发明公开了一种软件回归测试用例筛选方法,具体实现过程为:首先确定软件的基础业务模块和核心业务模块;引入软件相依性分析工具,产生系统在上述两种模块间的相依性分析图及软件模块内的函数级别的相依图;通过软件模块内的函数级别相依图,借助软件测试用例编写的路径法及场景法,选择模块用例数;模块内的用例全部选择完成后,依据模块间的相依性分析图,依据软件场景,将基础模块与核心模块的用例组合、筛选获得软件的回归测试用例。该一种软件回归测试用例筛选方法与现有技术相比,减少回归测试的随机性、随意性,提高用例筛选的科学性,提高测试有效性,降低测试成本,实用性强,易于推广。
Description
技术领域
本发明涉及计算机软件测试技术领域,具体地说是一种实用性强、软件回归测试用例筛选方法。
背景技术
回归测试时指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。回归测试作为软件生命周期的一个组成部分,在整个软件生命周期中占很大的工作量比重,软件开发的各个阶段都会进行多次的回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行多次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。而正确的测试策略的重点在于测试用例的选择及维护。
目前项目在回归测试用例选择方面,基本上采用的方法是依据测试人员的经验,从系统测试用例中选择部分优先级高的用例,而系统测试用例的优先级也是根据测试人员经验确定的,并没有科学的依据和标准,由于测试人员水平及对某产品的了解不同,优先级就有可能不同,而导致回归测试用例因人而异。
为此提出一种软件回归测试用例筛选方法,降低用例筛选的随机性、随意性,尽可能的让回归测试用例因软件而异,提高回归测试的有效性。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、软件回归测试用例筛选方法。
一种软件回归测试用例筛选方法,其具体实现过程为:
一、首先确定软件的基础业务模块和核心业务模块;
二、引入软件相依性分析工具,产生系统在上述两种模块间的相依性分析图及软件模块内的函数级别的相依图;
三、通过软件模块内的函数级别相依图,借助软件测试用例编写的路径法及场景法,选择模块用例数;
四、模块内的用例全部选择完成后,依据模块间的相依性分析图,依据软件场景,将基础模块与核心模块的用例组合、筛选获得软件的回归测试用例。
所述基础业务模块指不涉及软件的核心业务,为其他模块提供支持的模块,该基础业务模块包括用户管理认证模块;核心业务模块指软件主要功能运行的模块,该核心模块包括云系统中的虚拟机管理模块;
所述基础业务模块和核心业务模块依据二八原则进行划分,即基础业务模块回归测试用例占该模块系统测试用例的20%,核心业务模块的回归测试用例占该模块系统测试用例的80%,并由此确定每个模块挑选出的测试用例数。
所述测试用例数的确定过程为:基础业务模块回归测试用例N=20%*该模块系统测试用例数,核心业务模块回归测试用例N=80%*该模块系统测试用例数。
所述步骤三的具体过程为:通过软件模块内的函数级别相依图,借助软件测试用例编写的路径法及场景法,挑选出小于等于步骤一中确定的模块测试用例数量:若相依图中节点全部被覆盖到,而用例数仍小于步骤一中确定的模块用例数,则取目前节点全部覆盖到的所有用例,若相依图中节点全部被覆盖到,而用例数多于步骤一中确定的模块用例数,则依据场景的重要性选取步骤一中确定的模块用例数。
软件的回归测试用例获取路径进行三次过滤筛选,且该三次过滤筛选具体为:
根据相依图中节点的数量,由测试人员综合测试用例编写的路径法和场景法,挑选小于数量N的路径;如果覆盖了所有的节点,其路径数M仍然小于N,则挑选数量M的路径,减少冗余,这里的N为依据模块类型确定的回归测试用例数;
当模块路径挑选完成后,测试人员依据场景剔除与软件场景不符合的路径,进行路径的二次过滤;
在基础模块与业务模块的用例挑选完成后,进行基础模块与业务模块的用例整合,挑选小于核心模块用例总数的用例,并依据软件场景,由测试人员进行筛选,进行用例的第三次过滤。
本发明的一种软件回归测试用例筛选方法,具有以下优点:
本发明的一种软件回归测试用例筛选方法,通过引入软件相依性分析工具,综合测试用例编写的路径发及场景法思想,分模块分比例筛选测试用例,减少回归测试的随机性、随意性,提高用例筛选的科学性,提高测试有效性,降低测试成本;实用性强,易于推广。
附图说明
附图1为软件回归测试用例筛选示意图。
附图2为模块用例筛选示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
目前软件回归测试用例的选择受测试人员水平、经验影响较大,选择随机、随意,缺乏科学性和说服力,基于此,本发明提供一种软件回归测试用例筛选方法,其具体实现过程为:
1、在回归测试用例筛选之初,确定软件的基础业务模块和核心业务模块,其中基础业务模块指不涉及软件的核心业务,为其他模块提供支持的模块,如用户管理认证。核心业务模块指软件主要功能运行的模块,如云系统中的虚拟机管理模块。依据二八原则,基础业务模块回归测试用例占该模块系统测试用例的20%,核心业务模块的回归测试用例占该模块系统测试用例的80%。由此确定了每个模块应该挑选出的测试用例数。
2、引入软件相依性分析工具,产生系统在模块间的相依性分析图及软件模块内的函数级别的相依图。
3、通过软件模块内的函数级别相依图,借助软件测试用例编写的路径法及场景法,挑选出小于等于步骤1中确定的模块测试用例数量:若相依图中节点全部被覆盖到,而用例数仍小于步骤1中确定的模块用例数,则取目前节点全部覆盖到的所有用例,若相依图中节点全部被覆盖到,而用例数多于步骤1中确定的模块用例数,则依据场景的重要性选取步骤1中确定的模块用例数。
4、模块内的用例全部选择完成后,依据步骤2中模块间的相依性分析图,依据软件场景,将基础模块与核心模块的用例组合、筛选获得软件的回归测试用例。
由此,完成了软件回归测试用例的筛选工作。
如附图1,在回归测试用例筛选之初,由开发人员和测试人员共同确定软件的基础业务模块和核心业务模块,并根据二八原则,对模块的回归测试用例数量进行预判,基础业务模块回归测试用例N=20%*该模块系统测试用例数,核心业务模块回归测试用例N=80%*该模块系统测试用例数。
划分模块后,如附图2,在模块内,使用已有的软件相依性工具calltree,Mkgraph等对模块进行函数级别的相依性分析,生成相依图。
根据相依图中节点的数量,由测试人员综合测试用例编写的路径法和场景法,挑选小于数量N的路径(相当于路径的一次过滤)。如果覆盖了所有的节点,其路径数M仍然小于N,则挑选数量M的路径,减少冗余。
当模块路径挑选完成后,测试人员依据场景剔除与软件场景不符合的路径,进行路径的二次过滤。
在基础模块与业务模块的用例挑选完成后,进行基础模块与业务模块的用例整合,由于基础模块一般处于用例的前提条件中,本专利采用以核心模块用例为主,随机搭配基础模块用例,挑选小于核心模块用例总数的用例,并依据软件场景,由测试人员进行筛选,进行用例的第三次过滤。
由此,生成了软件回归测试用例。
本发明依据模块重要性确定回归测试用例的数量;引入软件相依性分析工具,将回归测试重点放在软件模块的关键路径上;在筛选回归测试用例时,经过三次筛选,减少函数结点覆盖的冗余,从而科学的减少测试用例的数量,提高筛选的有效性,节约测试成本。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种软件回归测试用例筛选方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (6)
1.一种软件回归测试用例筛选方法,其特征在于,具体实现过程为:
一、首先确定软件的基础业务模块和核心业务模块;
二、引入软件相依性分析工具,产生系统在上述两种模块间的相依性分析图及软件模块内的函数级别的相依图;
三、通过软件模块内的函数级别相依图,借助软件测试用例编写的路径法及场景法,选择模块用例数;
四、模块内的用例全部选择完成后,依据模块间的相依性分析图,依据软件场景,将基础模块与核心模块的用例组合、筛选获得软件的回归测试用例。
2.根据权利要求1所述的一种软件回归测试用例筛选方法,其特征在于,所述基础业务模块指不涉及软件的核心业务,为其他模块提供支持的模块,该基础业务模块包括用户管理认证模块;核心业务模块指软件主要功能运行的模块,该核心模块包括云系统中的虚拟机管理模块。
3.根据权利要求2所述的一种软件回归测试用例筛选方法,其特征在于,所述基础业务模块和核心业务模块依据二八原则进行划分,即基础业务模块回归测试用例占该模块系统测试用例的20%,核心业务模块的回归测试用例占该模块系统测试用例的80%,并由此确定每个模块挑选出的测试用例数。
4.根据权利要求3所述的一种软件回归测试用例筛选方法,其特征在于,所述测试用例数的确定过程为:基础业务模块回归测试用例N=20%*该模块系统测试用例数,核心业务模块回归测试用例N=80%*该模块系统测试用例数。
5.根据权利要求1所述的一种软件回归测试用例筛选方法,其特征在于,所述步骤三的具体过程为:通过软件模块内的函数级别相依图,借助软件测试用例编写的路径法及场景法,挑选出小于等于步骤一中确定的模块测试用例数量:若相依图中节点全部被覆盖到,而用例数仍小于步骤一中确定的模块用例数,则取目前节点全部覆盖到的所有用例,若相依图中节点全部被覆盖到,而用例数多于步骤一中确定的模块用例数,则依据场景的重要性选取步骤一中确定的模块用例数。
6.根据权利要求1所述的一种软件回归测试用例筛选方法,其特征在于,软件的回归测试用例获取路径进行三次过滤筛选,且该三次过滤筛选具体为:
根据相依图中节点的数量,由测试人员综合测试用例编写的路径法和场景法,挑选小于数量N的路径;如果覆盖了所有的节点,其路径数M仍然小于N,则挑选数量M的路径,减少冗余,这里的N为依据模块类型确定的回归测试用例数;
当模块路径挑选完成后,测试人员依据场景剔除与软件场景不符合的路径,进行路径的二次过滤;
在基础模块与业务模块的用例挑选完成后,进行基础模块与业务模块的用例整合,挑选小于核心模块用例总数的用例,并依据软件场景,由测试人员进行筛选,进行用例的第三次过滤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510704792.5A CN105302720A (zh) | 2015-10-27 | 2015-10-27 | 一种软件回归测试用例筛选方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510704792.5A CN105302720A (zh) | 2015-10-27 | 2015-10-27 | 一种软件回归测试用例筛选方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105302720A true CN105302720A (zh) | 2016-02-03 |
Family
ID=55200009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510704792.5A Pending CN105302720A (zh) | 2015-10-27 | 2015-10-27 | 一种软件回归测试用例筛选方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105302720A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528101A (zh) * | 2016-10-31 | 2017-03-22 | 努比亚技术有限公司 | 修复率计算方法和装置 |
CN106791824A (zh) * | 2016-11-29 | 2017-05-31 | 深圳Tcl数字技术有限公司 | 挑选测试用屏方法及装置 |
CN107391376A (zh) * | 2017-07-26 | 2017-11-24 | 成都科来软件有限公司 | 一种回归测试方法 |
CN109344048A (zh) * | 2018-08-17 | 2019-02-15 | 中国平安人寿保险股份有限公司 | 一种测试方法、存储介质和服务器 |
CN109446097A (zh) * | 2018-11-07 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种回归测试用例选择方法、装置、终端及存储介质 |
CN111258876A (zh) * | 2018-11-30 | 2020-06-09 | 中国移动通信集团浙江有限公司 | 一种微服务架构下的精确回归测试方法及装置 |
CN112445692A (zh) * | 2019-08-27 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 一种用例测试方法及终端 |
CN113220578A (zh) * | 2021-05-17 | 2021-08-06 | 上海中通吉网络技术有限公司 | 一种功能测试用例的生成方法 |
CN113377683A (zh) * | 2021-08-12 | 2021-09-10 | 神州数码融信软件有限公司 | 软件测试用例的生成方法、系统、设备、终端、介质及应用 |
CN113434436A (zh) * | 2021-07-30 | 2021-09-24 | 拉扎斯网络科技(上海)有限公司 | 测试用例的生成方法、装置、电子设备及存储介质 |
CN113778842A (zh) * | 2020-08-25 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 容错测试的方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161936A1 (en) * | 2009-12-28 | 2011-06-30 | International Business Machines | Method and apparatus for regression testing selection for a framework-based application |
CN102831060A (zh) * | 2012-08-24 | 2012-12-19 | 东南大学 | 一种基于修改影响分析的部件软件回归测试用例更新方法 |
CN103605612A (zh) * | 2013-12-10 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种快速选定自动化测试用例的方法 |
-
2015
- 2015-10-27 CN CN201510704792.5A patent/CN105302720A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161936A1 (en) * | 2009-12-28 | 2011-06-30 | International Business Machines | Method and apparatus for regression testing selection for a framework-based application |
CN102831060A (zh) * | 2012-08-24 | 2012-12-19 | 东南大学 | 一种基于修改影响分析的部件软件回归测试用例更新方法 |
CN103605612A (zh) * | 2013-12-10 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种快速选定自动化测试用例的方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528101A (zh) * | 2016-10-31 | 2017-03-22 | 努比亚技术有限公司 | 修复率计算方法和装置 |
CN106791824A (zh) * | 2016-11-29 | 2017-05-31 | 深圳Tcl数字技术有限公司 | 挑选测试用屏方法及装置 |
CN107391376A (zh) * | 2017-07-26 | 2017-11-24 | 成都科来软件有限公司 | 一种回归测试方法 |
CN109344048A (zh) * | 2018-08-17 | 2019-02-15 | 中国平安人寿保险股份有限公司 | 一种测试方法、存储介质和服务器 |
CN109446097A (zh) * | 2018-11-07 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种回归测试用例选择方法、装置、终端及存储介质 |
CN111258876B (zh) * | 2018-11-30 | 2023-08-01 | 中国移动通信集团浙江有限公司 | 一种微服务架构下的精确回归测试方法及装置 |
CN111258876A (zh) * | 2018-11-30 | 2020-06-09 | 中国移动通信集团浙江有限公司 | 一种微服务架构下的精确回归测试方法及装置 |
CN112445692A (zh) * | 2019-08-27 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 一种用例测试方法及终端 |
CN112445692B (zh) * | 2019-08-27 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 一种用例测试方法及终端 |
CN113778842A (zh) * | 2020-08-25 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 容错测试的方法、装置、电子设备和存储介质 |
CN113220578A (zh) * | 2021-05-17 | 2021-08-06 | 上海中通吉网络技术有限公司 | 一种功能测试用例的生成方法 |
CN113434436A (zh) * | 2021-07-30 | 2021-09-24 | 拉扎斯网络科技(上海)有限公司 | 测试用例的生成方法、装置、电子设备及存储介质 |
CN113434436B (zh) * | 2021-07-30 | 2022-12-16 | 拉扎斯网络科技(上海)有限公司 | 测试用例的生成方法、装置、电子设备及存储介质 |
CN113377683A (zh) * | 2021-08-12 | 2021-09-10 | 神州数码融信软件有限公司 | 软件测试用例的生成方法、系统、设备、终端、介质及应用 |
CN113377683B (zh) * | 2021-08-12 | 2022-01-28 | 神州数码融信软件有限公司 | 软件测试用例的生成方法、系统、设备、终端、介质及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105302720A (zh) | 一种软件回归测试用例筛选方法 | |
CN104185840B (zh) | 在持续部署流水线中用来优先化多个测试的方法、系统和装置 | |
CN102214139B (zh) | 一种面向分布式系统的自动化测试的执行控制与调度方法 | |
CN105975397A (zh) | 一种基于TestNG的集成测试方法及系统 | |
CN103853652B (zh) | 一种测试案例生成方法及装置 | |
CN106980571B (zh) | 一种测试用例集的构建方法和设备 | |
CN105190536B (zh) | 一种用于验证作业的系统及方法 | |
CN105335281A (zh) | 一种自动mock外部依赖的方法及装置 | |
CN105068936B (zh) | 一种软件的稳定性的测试方法及装置 | |
CN105302718A (zh) | 一种面向复用软件的测试模型的设计方法 | |
CN108399082A (zh) | 一种持续集成流水线的生成方法和系统 | |
CN110362562A (zh) | 大数据抽取样本数据的方法及系统 | |
CN105138371A (zh) | 软件升级方法及装置 | |
CN103123607A (zh) | 一种基于形式概念分析的软件回归测试方法 | |
CN112733490A (zh) | 一种芯片的系统级验证方法、系统及相关装置 | |
CN103246606A (zh) | Esb平台的性能方法和系统 | |
CN106776165A (zh) | 服务器性能测试方法及系统 | |
KR101009424B1 (ko) | Gui 소프트웨어 테스트 자동화 방법 및 자동화 장치 | |
Jongerden et al. | Maximizing system lifetime by battery scheduling | |
CN107741909A (zh) | 一种用于分布式块存储的自动化测试方法及系统 | |
CN106776284B (zh) | 一种软件测试方法以及系统 | |
CN106648823A (zh) | 代码发布的方法及装置 | |
Gantait | Test case generation and prioritization from UML models | |
Krishnan et al. | Empirical evaluation of reliability improvement in an evolving software product line | |
CN104008056A (zh) | 软件测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160203 |
|
WD01 | Invention patent application deemed withdrawn after publication |