CN115408266A - 一种软件测试方法、系统及存储介质 - Google Patents
一种软件测试方法、系统及存储介质 Download PDFInfo
- Publication number
- CN115408266A CN115408266A CN202210840866.8A CN202210840866A CN115408266A CN 115408266 A CN115408266 A CN 115408266A CN 202210840866 A CN202210840866 A CN 202210840866A CN 115408266 A CN115408266 A CN 115408266A
- Authority
- CN
- China
- Prior art keywords
- test
- case
- test case
- requirement
- point
- 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
Images
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/3684—Test management for test design, e.g. generating new test cases
-
- 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
本发明公开了一种软件测试方法、系统及存储介质,包括:根据测试点生成与该测试点对应的测试用例集,为测试用例集中的每个测试用例生成测试用例ID,按所述测试点的优先级为所述测试用例设置级别,关联测试用例ID与需求ID;创建至少一个测试计划并关联需测试的需求ID,根据测试用例ID导入与所述需求ID关联的至少一个测试用例;拉取导入的与所述需求ID关联的测试用例进行冒烟测试,并在冒烟测试通过后触发全量测试;响应于全量测试通过率未达到一阈值,将测试失败的测试用例提交为测试缺陷,为所述测试缺陷生成测试缺陷ID,关联测试缺陷ID和对应的测试用例ID。其可自动生产测试用例且可实现需求、测试用例和测试缺陷的E2E双向可追溯的可信测试。
Description
技术领域
本发明属于软件测试技术领域,具体地涉及一种软件测试方法、系统及存储介质。
背景技术
软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。作为整个软件生命周期中不可或缺的一环软件测试,现有的软件测试方法很多,比如申请号为“202010127831.0”的发明专利“一种软件系统的问题排查方法及装置”,或者申请号为“202111555956.4”的发明专利“一种基于因果图的软件功能测试方法、装置及存储介质”。
申请号为“202010127831.0”的发明专利“一种软件系统的问题排查方法及装置”,通过对软件进行冒烟测试,获得冒烟测试的测试结果,在测试结果为测试失败后,获取冒烟测试案例的类别属性,获得类别属性对应的角色处理信息,再根据角色处理信息,提示冒烟测试案列测试失败,通过冒烟测试案例的类别属性和处理角色信息,进行冒烟测试案例测试失败的提示,提高了信息提示的准确性。
申请号为“202111555956.4”的发明专利“一种基于因果图的软件功能测试方法、装置及存储介质”,主要内容包括5个单元构成,分别是输入输出条件获取单元、输入条件分析组合、输出结果分析组合、分析输入组合所对应的输出组合、以及最终分析去重组合。其核心在于所测试系统需具备明确的因果关系,即一个输入条件对应一个明确输出结果。该测试方法主要作用是分析后去除等价的或重复的输入输出,使测试效率提升。
但是,采用上述任一方法进行软件测试时,均不具备自动生产测试用例和实现需求、测试用例和测试缺陷的E2E双向可追溯的可信测试,导致在测试完成后,软件测试过程不可信,从而导致测试结果不可信。具体表现在无法说明当前执行的测试用例是该需求的功能,也无法说明当前需求测试用例覆盖是否合理;无法说明当前测试用例执行失败产生缺陷,也无法说明提交的缺陷是该测试用例执行过程中发现的;同样无法说明当前缺陷是该需求的缺陷,也无法说明该需求有哪些缺陷;会对软件测试过程质量产生很大的质疑和挑战。
发明内容
为了解决现有方法不具备自动生产测试用例及不能实现需求、测试用例和测试缺陷的E2E双向可追溯的可信测试,本发明提供一种软件测试方法、系统及存储介质。
本发明通过以下技术方案实现:
本发明第一方面提供一种软件测试方法,包括以下步骤:
根据测试点生成与该测试点对应的测试用例集,所述测试用例集包括至少一个测试用例,所述测试点存储在模板中且模板中还存储有与测试点对应的需求ID、测试点的优先级,为测试用例集中的每个测试用例生成测试用例ID,按所述测试点的优先级为所述测试用例设置级别,关联测试用例ID与需求ID;
创建至少一个测试计划并关联需测试的需求ID,根据测试用例ID导入与所述需求ID关联的至少一个测试用例;
拉取导入的与所述需求ID关联的测试用例进行冒烟测试,并在冒烟测试通过后触发全量测试;
响应于全量测试通过率未达到一阈值,将测试失败的测试用例提交为测试缺陷并转入回归用例池中,为所述测试缺陷生成测试缺陷ID,关联测试缺陷ID和对应的测试用例ID。
在一种可能的设计中,所述根据测试点生成与该测试点对应的测试用例集,之前还包括:
获取需求,所述需求包括需求ID、需求描述和需求状态;
梳理需求将所述需求细化成测试点集,所述测试点集包括至少一个测试点,为所述测试点集中每个测试点设定优先级。
在一种可能的设计中,所述梳理需求将所述需求细化成测试点集,所述测试点集包括至少一个测试点,为所述测试点集中每个测试点设定优先级,包括:
将需求细化成测试点集,所述测试点集包括至少一个测试点;
将测试点集中的每个测试点填入模板中,所述模板中记录有需求ID以及测试点优先级。
在一种可能的设计中,所述获取需求包括:
通过脚本在项目管理平台上爬取的方式获得需求。
在一种可能的设计中,响应于全量测试通过率达到一阈值,将所述需求的需求状态修改为完成,且生成测试报告,所述测试报告中展示需求、测试用例与测试缺陷的对应关系和测试用例执行情况统计。
本发明第二方面提供一种软件测试系统,包括依次连接的测试用例集生成单元、测试计划创建单元、测试单元和缺陷提交单元;
所述测试用例集生成单元用于根据模板中测试点生成与该测试点对应的测试用例集,所述测试用例集包括至少一个测试用例,为测试用例集中的每个测试用例生成测试用例ID,按所述测试点的优先级为所述测试用例设置级别,关联测试用例ID与需求ID;
所述测试计划创建单元用于创建至少一个测试计划并关联需测试的需求ID,根据测试用例ID导入与所述需求ID关联的至少一个测试用例;
所述测试单元用于拉取导入的与所述需求ID关联的测试用例进行冒烟测试,并在冒烟测试通过后触发全量测试;
所述缺陷提交单元用于响应于全量测试通过率未达到一阈值,将测试失败的测试用例提交为测试缺陷并转入回归用例池中,为所述测试缺陷生成测试缺陷ID,关联测试缺陷ID和对应的测试用例ID。
本发明第三方面提供一种软件测试系统,包括依次通信连接的存储器和控制器,所述存储器上存储有计算机程序,所述控制器用于读取所述计算机程序,执行第一方面及其任一种可能中所述的软件测试方法。
本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行第一方面及其任一种可能中所述的软件测试方法。
本发明与现有技术相比,至少具有以下优点和有益效果:
本发明可自动生产测试用例,且通过建立需求ID、测试用例ID、测试缺陷ID的关联,可说明测试用例是为了测试某需求,可判断该需求的测试用例覆盖率是否合理,说明测试用例的执行结果,体现测试用例的有效性和实用价值,直接或间接做到三者之间两两可追溯,以便支撑对测试过程可信审计的数据,提升测试结果的认可度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明软件测试方法的流程图;
具体实施方式
下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以非必要的细节来示出众所周知的过程、结构和技术,以避免使得示例不清楚。
如图1所示,本发明第一方面公开了一种软件测试方法,该方法可以但不限于由一软件测试系统来执行,软件测试系统可以是软件,或者为软件和硬件的组合,软件测试系统可以集成在智能移动端、平板、电脑、服务器等智能设备中。具体的,该软件测试方法包括以下步骤S01~步骤S06。
步骤S01、获取需求,所述需求包括需求ID、需求描述和需求状态。
该步骤中需求的获取方式可通过Excel导入或者通过脚本在项目管理平台上爬取的方式。
步骤S02、梳理所述需求将所述需求细化成测试点集,所述测试点集包括至少一个测试点,为所述测试点集中每个测试点设定优先级。
该步骤中,可采用多种方式进行梳理,比如:将步骤S01中的需求细化成测试点集,将测试点集中每个测试点填入模板中,模板中记录需求ID以及测试点优先级L0/L1/L2/L3。
又比如,测试系统支持直接下载模板,下载模板后,将需求的测试点、需求ID、测试点优先级信息填入模板中,再导入测试系统中,完成对测试点的梳理。
步骤S03、根据模板中测试点生成与该测试点对应的测试用例集,所述测试用例集包括至少一个测试用例,为测试用例集中的每个测试用例生成测试用例ID,按所述测试点的优先级为所述测试用例设置级别,关联测试用例ID与需求ID。
本步骤通过测试点自动生成测试用例集,通过建立测试用例ID与需求ID的关联,在系统中点击测试用例ID则可看到对应需求ID及其需求描述。
测试用例集根据测试用例模板生成,测试用例模板中设置有:前置条件、用户、操作动作、操作对象、操作结果。在梳理测试点时,需要尽可能写清楚哪个用户在什么前置条件下,进行什么操作动作、什么功能点,以及操作后的预期结果是什么。再把归一化处理的测试点文档,输入到测试用例生成单元,通过测试用例用例生成单元集成的测试用例模板,通过自然语言处理技术,把测试点组装成可执行的测试用例,生成与测试点绑定的测试用例ID,并存入存储介质中,这样通过测试点实现测试用例ID与需求ID关联。
步骤S04、创建至少一个测试计划并关联需测试的需求ID,根据测试用例ID导入与所述需求ID关联的至少一个测试用例。
测试计划也叫迭代计划,一个测试计划只能有一个测试轮次。在测试计划中通过测试用例ID与需求ID的关联性,可直接导入所有相关联的测试用例到当前计划中。或者,
测试用例的导入可以选择导入,选择性导入不同级别的测试用例。其中,测试点优先级L0对应的级别的测试用例必须有导入,以满足系统必须对L0级别的测试用例实现自动化的要求。
步骤S05、拉取导入的与所述需求ID关联的测试用例进行冒烟测试,并在冒烟测试通过后触发全量测试。
冒烟测试是从抽象层次验证软件的基本功能是否已经实现来确定是否需要更多的测试.若测试失效,软件不再进行其他测试,直接返回给开发人员。全量测试即测试软件的全部功能。
在测试过程中,当项目平台上的需求状态变为转测试或修改本系统中需求状态为转测试后,系统自动拉取测试计划中对应需求的L0级别用例,触发冒烟测试任务。
如果冒烟测试通过率未达到设定值,该设定值可为90%或者其他值,需求状态会被系统重置回开发状态,并提醒对应的开发人员进行修改。
如果冒烟测试通过率达到设定值,需求状态会被系统改为测试中,并提醒对应测试人员进行全量测试。
步骤S06、响应于全量测试通过率未达到一阈值,将测试失败的测试用例提交为测试缺陷并转入回归用例池中,为所述测试缺陷生成测试缺陷ID,关联测试缺陷ID和对应的测试用例ID。或者,响应于全量测试通过率达到一阈值,将所述需求的需求状态修改为完成,且生成测试报告,所述测试报告中展示需求、测试用例与测试缺陷的对应关系和测试用例执行情况统计。
该步骤中,系统自动将L0/L1/L2/L3级别的测试用例从测试计划中抓取出来,其中L0级别用例可以进行定制以避免重复执行,分配给指定的人进行测试,并记录测试结果和测试缺陷。
如果全量测试的通过率未达到设定值,该设定值一般为100%或者也可以是其他值,所有失败的用例首先会被提交成缺陷进行跟踪,然后测试用例被自动转入回归用例池中,进行第二轮测试,直至所有用例都执行通过,或未通过的用例经过评审确认遗留。在系统中建立测试缺陷ID和测试用例ID的关联性,点击测试缺陷ID可以查看到对应的测试用例ID和需求描述信息。如果全量测试通过率达到设定值,需求状态会被系统改为完成状态。并且系统还会自动生成测试报告,报告中展示需求、测试用例和缺陷对应关系,以及测试用例执行情况统计等内容。
采用上述方法,通过建立需求ID、测试用例ID的关联,可说明测试用例是为了测试某需求,能实现需求和测试用例的双向追溯,进一步可判断该需求的测试用例覆盖率是否合理。
在提交测试缺陷时,默认绑定测试用例ID,从而使测试缺陷和测试用例关联起来,达到测试用例和测试缺陷的双向追溯,既能说明测试用例的执行结果,又能体现测试用例的有效性和实用价值。
总体上来讲,本发明通过工具和流程优化控制,能实现需求、测试用例和测试缺陷的有效关联,直接或间接做到三者之间两两可追溯,以便支撑对测试过程可信审计的数据,提升测试结果的认可度。
本发明第二方面公开了一种软件测试系统,包括依次连接的测试用例集生成单元、测试计划创建单元、测试单元和缺陷提交单元;
所述测试用例集生成单元用于根据模板中测试点生成与该测试点对应的测试用例集,所述测试用例集包括至少一个测试用例,为测试用例集中的每个测试用例生成测试用例ID,按所述测试点的优先级为所述测试用例设置级别,关联测试用例ID与需求ID;
所述测试计划创建单元用于创建至少一个测试计划并关联需测试的需求ID,根据测试用例ID导入与所述需求ID关联的至少一个测试用例;
所述测试单元用于拉取导入的与所述需求ID关联的测试用例进行冒烟测试,并在冒烟测试通过后触发全量测试;
所述缺陷提交单元用于响应于全量测试通过率未达到一阈值,将测试失败的测试用例提交为测试缺陷并转入回归用例池中,为所述测试缺陷生成测试缺陷ID,关联测试缺陷ID和对应的测试用例ID。
本发明第二方面公开的软件测试系统,其各单元的功能及其之间的信息交互关系详见第一方面方法中的详细描述,在此不做赘述。
本发明第三方面提供一种软件测试系统,包括依次通信连接的存储器和控制器,所述存储器上存储有计算机程序,所述控制器用于读取所述计算机程序,执行第一方面及其任一种可能中所述的软件测试方法。具体举例的,所述存储器可以但不限于包括随机存取存储器(Random-Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和或先进后出存储器(First Input Last Output,FILO)等等;所述处理器可以不限于采用型号为STM32F105系列的微处理器。此外,所述计算机设备还可以但不限于包括有电源单元、显示屏和其它必要的部件。
本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行第一方面及其任一种可能中所述的软件测试方法。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (8)
1.一种软件测试方法,其特征在于,包括以下步骤:
根据测试点生成与该测试点对应的测试用例集,所述测试用例集包括至少一个测试用例,所述测试点存储在模板中且模板中还存储有与测试点对应的需求ID、测试点的优先级,为测试用例集中的每个测试用例生成测试用例ID,按所述测试点的优先级为所述测试用例设置级别,关联测试用例ID与需求ID;
创建至少一个测试计划并关联需测试的需求ID,根据测试用例ID导入与所述需求ID关联的至少一个测试用例;
拉取导入的与所述需求ID关联的测试用例进行冒烟测试,并在冒烟测试通过后触发全量测试;
响应于全量测试通过率未达到一阈值,将测试失败的测试用例提交为测试缺陷并转入回归用例池中,为所述测试缺陷生成测试缺陷ID,关联测试缺陷ID和对应的测试用例ID。
2.根据权利要求1所述的一种软件测试方法,其特征在于,所述根据测试点生成与该测试点对应的测试用例集,之前还包括:
获取需求,所述需求包括需求ID、需求描述和需求状态;
梳理需求将所述需求细化成测试点集,所述测试点集包括至少一个测试点,为所述测试点集中每个测试点设定优先级。
3.根据权利要求2所述的一种软件测试方法,其特征在于,所述梳理需求将所述需求细化成测试点集,所述测试点集包括至少一个测试点,为所述测试点集中每个测试点设定优先级,包括:
将需求细化成测试点集,所述测试点集包括至少一个测试点;
将测试点集中的每个测试点填入模板中,所述模板中记录有需求ID以及测试点优先级。
4.根据权利要求2所述的一种软件测试方法,其特征在于,所述获取需求包括:
通过脚本在项目管理平台上爬取的方式获得需求。
5.根据权利要求1所述的一种软件测试方法,其特征在于,
响应于全量测试通过率达到一阈值,将所述需求的需求状态修改为完成,且生成测试报告,所述测试报告中展示需求、测试用例与测试缺陷的对应关系和测试用例执行情况统计。
6.一种软件测试系统,其特征在于,包括依次连接的测试用例集生成单元、测试计划创建单元、测试单元和缺陷提交单元;
所述测试用例集生成单元用于根据模板中测试点生成与该测试点对应的测试用例集,所述测试用例集包括至少一个测试用例,为测试用例集中的每个测试用例生成测试用例ID,按所述测试点的优先级为所述测试用例设置级别,关联测试用例ID与需求ID;
所述测试计划创建单元用于创建至少一个测试计划并关联需测试的需求ID,根据测试用例ID导入与所述需求ID关联的至少一个测试用例;
所述测试单元用于拉取导入的与所述需求ID关联的测试用例进行冒烟测试,并在冒烟测试通过后触发全量测试;
所述缺陷提交单元用于响应于全量测试通过率未达到一阈值,将测试失败的测试用例提交为测试缺陷并转入回归用例池中,为所述测试缺陷生成测试缺陷ID,关联测试缺陷ID和对应的测试用例ID。
7.一种软件测试系统,包括依次通信连接的存储器和控制器,所述存储器上存储有计算机程序,其特征在于:所述控制器用于读取所述计算机程序,执行权利要求1-5任一所述的软件测试方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于:当所述指令在计算机上运行时,执行权利要求1-5任一所述的软件测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210840866.8A CN115408266A (zh) | 2022-07-18 | 2022-07-18 | 一种软件测试方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210840866.8A CN115408266A (zh) | 2022-07-18 | 2022-07-18 | 一种软件测试方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115408266A true CN115408266A (zh) | 2022-11-29 |
Family
ID=84156902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210840866.8A Pending CN115408266A (zh) | 2022-07-18 | 2022-07-18 | 一种软件测试方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115408266A (zh) |
-
2022
- 2022-07-18 CN CN202210840866.8A patent/CN115408266A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108280023B (zh) | 任务执行方法、装置和服务器 | |
US20130111267A1 (en) | Optimizing regression testing based on code coverage analysis | |
CN106446412B (zh) | 一种航空电子系统基于模型的测试方法 | |
CN106909510A (zh) | 一种获取测试用例的方法以及服务器 | |
CN110716870B (zh) | 服务的自动化测试方法及装置 | |
CN111832236A (zh) | 一种芯片回归测试方法、系统、电子设备及存储介质 | |
CN110471652B (zh) | 任务编排方法、编排器、设备及可读存储介质 | |
US20070061641A1 (en) | Apparatus and method for generating test driver | |
CN110765010B (zh) | 基于Flink的可视化开发在线调试方法及装置 | |
CN113821200B (zh) | 大数据任务可拖拽建模方法、系统、存储介质和终端 | |
CN117370217B (zh) | 一种基于python的接口测试结果自动生成方法 | |
CN116841865A (zh) | 可视化测试方法、装置、电子设备及存储介质 | |
CN111708712A (zh) | 用户行为测试用例的生成方法、流量回放方法及电子设备 | |
CN114297961A (zh) | 一种芯片测试用例处理方法及相关装置 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN112731117A (zh) | 芯片的自动验证方法和系统,及存储介质 | |
CN116090380B (zh) | 数字集成电路验证的自动化方法及装置、存储介质和终端 | |
CN112084108A (zh) | 一种测试脚本生成方法、装置及相关组件 | |
US20130283238A1 (en) | Testing system for an integrated software system | |
CN115408266A (zh) | 一种软件测试方法、系统及存储介质 | |
CN114661615A (zh) | 一种fpga软件测试方法和设备 | |
CN112328281A (zh) | 一种服务器固件刷新方法和装置 | |
CN113434387A (zh) | 一种基于脚本驱动的自动化测试工具及系统 | |
CN111309297A (zh) | 脚本开发系统及方法 | |
CN111414194A (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 |