CN115629956A - 一种基于接口自动化测试的软件缺陷管理方法及系统 - Google Patents

一种基于接口自动化测试的软件缺陷管理方法及系统 Download PDF

Info

Publication number
CN115629956A
CN115629956A CN202211075151.4A CN202211075151A CN115629956A CN 115629956 A CN115629956 A CN 115629956A CN 202211075151 A CN202211075151 A CN 202211075151A CN 115629956 A CN115629956 A CN 115629956A
Authority
CN
China
Prior art keywords
interface
defect
module
defects
test
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
Application number
CN202211075151.4A
Other languages
English (en)
Inventor
唐海涛
林子薇
徐利霞
徐进
黄丝米
王兵兵
葛珂南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang East China Engineering Digital Technology Co ltd
PowerChina Huadong Engineering Corp Ltd
Original Assignee
Zhejiang East China Engineering Digital Technology Co ltd
PowerChina Huadong Engineering Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang East China Engineering Digital Technology Co ltd, PowerChina Huadong Engineering Corp Ltd filed Critical Zhejiang East China Engineering Digital Technology Co ltd
Priority to CN202211075151.4A priority Critical patent/CN115629956A/zh
Publication of CN115629956A publication Critical patent/CN115629956A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test 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)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种基于接口自动化测试的软件缺陷管理方法及系统,所述方法包括:步骤S1、自动生成测试用例;步骤S2、执行测试用例;步骤S3、填报缺陷;步骤S4、分配及修复缺陷;步骤S5、回归测试;以及步骤S6、评价项目。所述系统包括:接口解析模块、接口调试模块、用例库模块、测试执行模块、缺陷管理模块以及测试质量评价模块。本发明可以极大地提升软件项目的接口测试效率和软件缺陷跟踪管理效率,帮助软件项目自动化管理缺陷的测试、提交、分配、验证等过程,并且通过缺陷数据,对软件项目进行量化、客观、深度的评价。

Description

一种基于接口自动化测试的软件缺陷管理方法及系统
技术领域
本发明属于软件测试技术领域,尤其涉及一种基于接口自动化测试的软件缺陷管理方法及系统。
背景技术
软件测试是一项评估软件质量的验证性活动。在完整的软件开发流程中,软件测试从需求阶段开始介入,直至软件生命周期的最终环节,一个软件的质量保证过程需要软件测试人员进行大量的工作。
在软件测试过程中,为了降低软件项目缺陷修复成本,通常将软件测试工作尽量左移,接口测试也是测试左移的工作之一,提前发现接口的问题,避免后期修复缺陷成本的增加。同时,软件缺陷是一项非常重要的产出物,它贯穿于软件项目开发阶段,是软件项目质量最直观、客观的反馈和体现。合理地跟踪管理软件缺陷,可以极大地提升软件测试工作效率和工作质量;全面地分析和应用软件缺陷数据,可以帮助项目团队更全面了解和提升软件项目质量。一般的软件接口测试及缺陷管理存在以下缺点:
1)、由测试人员按照接口文档编写接口测试用例,耗费时间较长,且人为操作存在出错的可能性;
2)、测试人员手动执行接口测试用例,并将异常接口以缺陷形式进行填报,填报后需告知对应开发人员对缺陷进行修复,测试执行效率较低,软件缺陷的产生及流转过程较复杂;
3)、开发人员修复缺陷后,测试人员需重新手动执行测试用例,验证其是否已被修复,测试执行效率同样很低,并且测试人员进行了重复工作;
4)、软件缺陷修复后,缺陷的生命周期结束,测试人员需人为对测试过程和测试数据进行分析,生成软件项目测试报告,此过程中人为分析数据,生成测试报告的过程耗时较长;
随着软件开发过程的不断规范化,尤其是对软件项目质量和软件测试效率有更高的要求,传统的软件接口测试和缺陷管理方法已经越来越不能满足实际软件开发的需要。
发明内容
鉴于上述情况,本发明提供一种基于接口自动化测试的软件缺陷管理方法及系统,旨在解决传统软件测试过程中用例编写耗时久、测试执行慢、缺陷人为填报、缺陷流转效率低、缺陷数据总结复杂的问题,实现节省软件接口测试时间,提高软件测试效率。
为此,本发明的第一个方面在于,提供一种基于接口自动化测试的软件缺陷管理方法,包括如下步骤:
步骤S1、自动生成测试用例:解析接口文档,获取接口请求的所需信息,通过模拟HTTP接口的请求,生成接口测试用例;
步骤S2、执行测试用例:自动执行步骤1中生成的测试用例;
步骤S3、填报缺陷:将步骤2中产生的缺陷自动记录下来,每一条缺陷记录的内容包括:所属模块名称、接口名称、接口URI、调用方式、请求头、请求体、返回代码、返回结果、请求时间;
步骤S4、分配及修复缺陷:系统中每个模块有对应的开发人员,根据缺陷对应接口的所属模块,将缺陷自动分配至对应开发人员;开发人员接收到缺陷后,开始修复缺陷;
步骤S5、回归测试:缺陷修复完成后,自动重新执行测试用例,验证最新的接口中是否存在问题;以及
步骤S6、评价项目:根据测试过程中的缺陷个数、严重程度分布、缺陷密度等信息,自动对该系统进行质量评价。
在采用上述技术方案的同时,本发明还可以采用或者组合采用如下技术方案:
作为本发明的一种优选技术方案:步骤S1拆分为:
a、解析开发人员提供的接口文档,获取文档中的接口名称、接口URI、调用方式、请求头、请求体、响应格式、调用示例;
b、将步骤a中解析得到的信息传入接口调试工具中,获得请求返回信息,自动生成接口测试用例;
c、修改接口测试用例的输入参数,对调试得到的返回值加上校验,继续调试测试用例,将运行成功的测试用例加入测试用例库中。
作为本发明的一种优选技术方案:步骤S1具体包括:
步骤S101、将接口文档导入至系统的接口解析模块;
步骤S102、系统解析接口文档,自动获取文档中的接口名称、接口URI、调用方式、请求头、请求体、响应格式、调用示例等信息;
步骤S103、将请求信息传入接口调试模块中的调试工具,调试后获得请求返回信息;
步骤S104、结合请求信息和请求返回信息,生成接口测试用例;
步骤S105、在接口调试模块中修改接口测试用例的输入参数;
步骤S106、在接口调试模块中编写对请求返回信息的校验;
步骤S107、继续调试接口测试用例,将运行成功的测试用例加入至接口测试用例库中。
作为本发明的一种优选技术方案:步骤S6中,
严重程度是在缺陷生成时,根据缺陷中的请求结果将缺陷划分为致命、严重、一般、提示这四类;
缺陷密度的计算方法为:
缺陷密度=(致命程度缺陷个数×致命缺陷扣分值+严重程度缺陷个数×严重缺陷扣分值+一般程度缺陷个数×一般缺陷扣分值+提示程度缺陷个数×提示缺陷扣分值)/功能模块数之和。
本发明还有一个方面在于,提供一种基于接口自动化测试的软件缺陷管理系统,包括:
接口解析模块,所述接口解析模块用于上传接口文档,并解析获取文档中的接口名称、接口URI、调用方式、请求头、请求体、响应格式、调用示例;
接口调试模块,所述接口调试模块用于获取接口解析模块中的请求信息,调试HTTP服务,并输出接口请求结果,同时也可以在该模块修改接口入参,添加对接口返回内容的校验,运行成功后,可将该条用例添加至用例库;
用例库模块,所述用例库模块用于管理接口调试模块中已调试通过的接口测试用例;
测试执行模块,所述测试执行模块用于自动执行用例库模块中的测试用例;
缺陷管理模块,所述缺陷管理模块用于自动填报执行测试用例过程中发现的缺陷,系统自动获取该条缺陷对应接口的所属模块,并将缺陷分派给对应开发负责人;开发人员可在本模块中查看缺陷;
测试质量评价模块,所述测试质量评价模块用于根据项目当前缺陷个数、严重程度分布、缺陷密度,对软件项目进行自动化的评分,量化评价软件项目质量。
本发明提供一种基于接口自动化测试的软件缺陷管理方法及系统,首先解析接口文档,获取接口信息,并调试接口,生成接口自动化测试用例,系统自动执行接口测试用例后,将接口自动化测试过程中生成的缺陷录入至系统的缺陷管理模块,并且自动分配缺陷至对应模块的开发人员处,开发人员完成缺陷的修复后,系统自动开始重新执行接口测试用例,验证是否仍存在缺陷,最后根据缺陷个数、缺陷严重程度分布、缺陷密度等信息,系统自动生成对该软件项目的质量评价报告,实现对软件项目质量的量化评价。具有如下有益效果:
1)、通过导入接口文档,直接在系统中生成接口测试用例,方便快捷,效率更高,节省测试人员编写接口测试用例的时间;
2)、接口测试可自动执行,无需测试人员手动一个一个验证,且在开发人员修复完缺陷后,可自动开始执行回归测试,自动化的方式可节省人力和时间成本;
3)、自动化测试过程中发现的缺陷,可自动录入至系统缺陷管理模块中,并且缺陷与相应开发人员自动关联,无需测试人员进行手动分配,也节省开发人员在缺陷列表中查找属于自己的缺陷的时间,便于缺陷的自动记录;
4)、测试缺陷数据是软件项目生命周期中非常重要的内容,系统自动分析测试数据详,将其细化、量化,生成对该软件项目的质量评价报告,提升了测试数据的利用率,也更有利于对项目的客观评价。
5)、本发明可以极大地提升软件项目的接口测试效率和软件缺陷跟踪管理效率,帮助软件项目自动化管理缺陷的测试、提交、分配、验证等过程,并且通过缺陷数据,对软件项目进行量化、客观、深度的评价。
附图说明
图1为本发明所提供的一种基于接口自动化测试的软件缺陷管理方法的流程图。
图2为本发明所提供的一种基于接口自动化的软件缺陷管理系统的模块化图示。
图3为自动生成测试用例步骤的详细流程图。
图4为自动分配缺陷步骤的分配方法关联示意图。
图5为修复并验证缺陷步骤的流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行详细描述。
软件质量管理系统是一个专业的软件质量管理工具,提供了规范的测试管理流程及测试数据展示功能。以下实施例基于软件质量管理系统。
图1示出了本发明的基于接口自动化测试的软件缺陷管理方法的流程图。本实施例方法的实施步骤详述如下。
步骤S1、自动生成接口测试用例
参见图3,所述步骤S1的自动生成接口测试用例进一步拆分为以下步骤:
步骤S101、将接口文档导入至系统的接口解析模块;
步骤S102、系统解析接口文档,自动获取文档中的接口名称、接口URI、调用方式、请求头、请求体、响应格式、调用示例等信息;
步骤S103、将请求信息传入接口调试模块中的调试工具,调试后获得请求返回信息;
步骤S104、结合请求信息和请求返回信息,生成接口测试用例;
步骤S105、在接口调试模块中修改接口测试用例的输入参数;
步骤S106、在接口调试模块中编写对请求返回信息的校验;
步骤S107、继续调试接口测试用例,将运行成功的测试用例加入至接口测试用例库中。
步骤S2、自动执行测试用例
在软件质量管理平台的测试执行模块中点击开始测试后,系统会自动批量执行步骤S1中存入接口测试用例库中的测试用例,执行结果也存入对应测试用例的运行结果中。
步骤S3、自动填报缺陷
在步骤S2中自动执行测试用例后,系统将生成的缺陷自动录入至缺陷管理模块中,记录内容包括:所属模块名称、接口名称、URI、输入参数、请求头、返回码、返回值、错误原因、请求时间。
步骤S4、自动分配缺陷及修复缺陷
根据测试缺陷与功能模块的关联、功能模块与开发人员的关联关系,系统自动将测试缺陷分配给对应的开发人员。图4为关联的示意图。开发人员查看缺陷管理模块中的缺陷后,针对缺陷详情,修复该条缺陷。
步骤S5、自动回归测试
开发人员完成缺陷的修复后,点击修复完成按钮后,在测试执行模块中会自动对该软件项目中的测试用例进行新一轮的执行测试,记录最新版本的缺陷。图5为修复并验证缺陷步骤的流程示意图。
步骤S6、自动生成评价报告
在软件质量管理平台中的测试质量评价模块,基于软件项目当前缺陷个数、缺陷严重程度分布、缺陷密度,对软件项目进行自动化的评分和数据的直观展示,量化评价软件项目质量。
其中,缺陷密度=(致命程度缺陷×致命缺陷扣分值+严重程度缺陷×严重缺陷扣分值+一般程度缺陷×一般缺陷扣分值+提示程度缺陷×提示缺陷扣分值)/功能模块数之和,这里的不同程度缺陷扣分值可以在系统中设置。
上述具体实施方式用来解释说明本发明,仅为本发明的优选实施例,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改、等同替换、改进等,都落入本发明的保护范围。

Claims (5)

1.一种基于接口自动化测试的软件缺陷管理方法,其特征在于:所述方法包括如下步骤:
步骤S1、自动生成测试用例:解析接口文档,获取接口请求的所需信息,通过模拟HTTP接口的请求,生成接口测试用例;
步骤S2、执行测试用例:自动执行步骤1中生成的测试用例;
步骤S3、填报缺陷:将步骤2中产生的缺陷自动记录下来,每一条缺陷记录的内容包括:所属模块名称、接口名称、接口URI、调用方式、请求头、请求体、返回代码、返回结果、请求时间;
步骤S4、分配及修复缺陷:系统中每个模块有对应的开发人员,根据缺陷对应接口的所属模块,将缺陷自动分配至对应开发人员;开发人员接收到缺陷后,开始修复缺陷;
步骤S5、回归测试:缺陷修复完成后,自动重新执行测试用例,验证最新的接口中是否存在问题;以及
步骤S6、评价项目:根据测试过程中的缺陷个数、严重程度分布、缺陷密度,自动对该系统进行质量评价。
2.根据权利要求1所述的基于接口自动化测试的软件缺陷管理方法,其特征在于:步骤S1拆分为:
a、解析开发人员提供的接口文档,获取文档中的接口名称、接口URI、调用方式、请求头、请求体、响应格式、调用示例;
b、将步骤a中解析得到的信息传入接口调试工具中,获得请求返回信息,自动生成接口测试用例;
c、修改接口测试用例的输入参数,对调试得到的返回值加上校验,继续调试测试用例,将运行成功的测试用例加入测试用例库中。
3.根据权利要求1或2所述的基于接口自动化测试的软件缺陷管理方法,其特征在于:步骤S1具体包括:
步骤S101、将接口文档导入至系统的接口解析模块;
步骤S102、系统解析接口文档,自动获取文档中的接口名称、接口URI、调用方式、请求头、请求体、响应格式、调用示例;
步骤S103、将请求信息传入接口调试模块中的调试工具,调试后获得请求返回信息;
步骤S104、结合请求信息和请求返回信息,生成接口测试用例;
步骤S105、在接口调试模块中修改接口测试用例的输入参数;
步骤S106、在接口调试模块中编写对请求返回信息的校验;
步骤S107、继续调试接口测试用例,将运行成功的测试用例加入至接口测试用例库中。
4.根据权利要求1所述的基于接口自动化测试的软件缺陷管理方法,其特征在于:步骤S6中,
严重程度是在缺陷生成时,根据缺陷中的请求结果将缺陷划分为致命、严重、一般、提示这四类;
缺陷密度的计算方法为:
缺陷密度=(致命程度缺陷个数×致命缺陷扣分值+严重程度缺陷个数×严重缺陷扣分值+一般程度缺陷个数×一般缺陷扣分值+提示程度缺陷个数×提示缺陷扣分值)/功能模块数之和。
5.一种基于接口自动化测试的软件缺陷管理系统,其特征在于:所述系统包括:
接口解析模块,所述接口解析模块用于上传接口文档,并解析获取文档中的接口名称、接口URI、调用方式、请求头、请求体、响应格式、调用示例;
接口调试模块,所述接口调试模块用于获取接口解析模块中的请求信息,调试HTTP服务,并输出接口请求结果,同时也可以在该模块修改接口入参,添加对接口返回内容的校验,运行成功后,可将该条用例添加至用例库;
用例库模块,所述用例库模块用于管理接口调试模块中已调试通过的接口测试用例;
测试执行模块,所述测试执行模块用于自动执行用例库模块中的测试用例;
缺陷管理模块,所述缺陷管理模块用于自动填报执行测试用例过程中发现的缺陷,系统自动获取该条缺陷对应接口的所属模块,并将缺陷分派给对应开发负责人;开发人员可在本模块中查看缺陷;
测试质量评价模块,所述测试质量评价模块用于根据项目当前缺陷个数、严重程度分布、缺陷密度,对软件项目进行自动化的评分,量化评价软件项目质量。
CN202211075151.4A 2022-09-03 2022-09-03 一种基于接口自动化测试的软件缺陷管理方法及系统 Pending CN115629956A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211075151.4A CN115629956A (zh) 2022-09-03 2022-09-03 一种基于接口自动化测试的软件缺陷管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211075151.4A CN115629956A (zh) 2022-09-03 2022-09-03 一种基于接口自动化测试的软件缺陷管理方法及系统

Publications (1)

Publication Number Publication Date
CN115629956A true CN115629956A (zh) 2023-01-20

Family

ID=84902076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211075151.4A Pending CN115629956A (zh) 2022-09-03 2022-09-03 一种基于接口自动化测试的软件缺陷管理方法及系统

Country Status (1)

Country Link
CN (1) CN115629956A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932413A (zh) * 2023-09-14 2023-10-24 深圳市智慧城市科技发展集团有限公司 测试任务的缺陷处理方法、缺陷处理装置及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932413A (zh) * 2023-09-14 2023-10-24 深圳市智慧城市科技发展集团有限公司 测试任务的缺陷处理方法、缺陷处理装置及存储介质
CN116932413B (zh) * 2023-09-14 2023-12-19 深圳市智慧城市科技发展集团有限公司 测试任务的缺陷处理方法、缺陷处理装置及存储介质

Similar Documents

Publication Publication Date Title
CN110232024B (zh) 软件自动化测试框架及测试方法
US10185649B2 (en) System and method for efficient creation and reconciliation of macro and micro level test plans
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
US7673179B2 (en) Online testing unification system with remote test automation technology
Chaar et al. In-process evaluation for software inspection and test
Rodriguez et al. Software verification and validation technologies and tools
CN112486557A (zh) 基于Devops的完整生命周期管理平台及方法
CN109491922B (zh) 一种基于模型驱动的测试方法和装置
Jain et al. Exploring the impact of systems architecture and systems requirements on systems integration complexity
Söylemez et al. Challenges of software process and product quality improvement: catalyzing defect root-cause investigation by process enactment data analysis
CN112131116A (zh) 一种嵌入式软件自动化回归测试方法
CN115629956A (zh) 一种基于接口自动化测试的软件缺陷管理方法及系统
Mayr-Dorn et al. Inconsistency-tolerating guidance for software engineering processes
Rosser et al. A systems perspective on technical debt
EP2913757A1 (en) Method, system, and computer software product for test automation
CN113672517A (zh) 一种代码检查方法、装置、电子设备和介质
Naslavsky et al. Towards traceability of model-based testing artifacts
CN112685320A (zh) 一种基于多候选程序的软件缺陷修复方法及装置
Laksono et al. Assessment of test maturity model: A comparative study for process improvement
CN116225441B (zh) 一种在线编码系统的代码托管方法及系统
Borner et al. The testing process-a decision based approach
Damm Evaluating and Improving Test Efficiency
Francalino et al. Defining and Implementing a Test Automation Strategy in an IT Company
Talwar et al. Overview of software testing
Agyei et al. Hybrid software testing model to improve software quality assurance

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