[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN115248783B - 软件测试方法、系统、可读存储介质及计算机设备 - Google Patents

软件测试方法、系统、可读存储介质及计算机设备 Download PDF

Info

Publication number
CN115248783B
CN115248783B CN202211170103.3A CN202211170103A CN115248783B CN 115248783 B CN115248783 B CN 115248783B CN 202211170103 A CN202211170103 A CN 202211170103A CN 115248783 B CN115248783 B CN 115248783B
Authority
CN
China
Prior art keywords
test
software
test case
data
tested
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.)
Active
Application number
CN202211170103.3A
Other languages
English (en)
Other versions
CN115248783A (zh
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.)
Nanchang Senmu Technology Co ltd
Original Assignee
Jiangxi Firefly Microelectronics Technology Co 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 Jiangxi Firefly Microelectronics Technology Co ltd filed Critical Jiangxi Firefly Microelectronics Technology Co ltd
Priority to CN202211170103.3A priority Critical patent/CN115248783B/zh
Publication of CN115248783A publication Critical patent/CN115248783A/zh
Application granted granted Critical
Publication of CN115248783B publication Critical patent/CN115248783B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/3664Environments for testing or debugging software
    • 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)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种软件测试方法、系统、可读存储介质及计算机设备,该方法包括:基于待测试软件的版本数据和软件类型及测试环境配置数据构建测试场景模型;根据软件类型获取测试源代码,并基于测试源代码在测试场景模型中生成测试用例基础文件;自定义测试节点,并将测试节点和测试用例基础文件进行组合得到多个测试用例文件;利用各测试用例文件对待测试软件进行初步测试得到初步测试结果;基于初步测试结果计算出各测试用例文件的纠错度、信赖度,并根据各测试用例文件的实际测试情况确定各测试用例文件的需求度;根据纠错度、信赖度以及需求度构建软件测试模型,并根据软件测试模型和优先级调整规则对待测试软件进行软件测试得到最终测试结果。

Description

软件测试方法、系统、可读存储介质及计算机设备
技术领域
本发明涉及数据处理技术领域,特别涉及一种软件测试方法、系统、可读存储介质及计算机设备。
背景技术
随着科技的飞速发展和人们生活水平的提高,各类软件在生活中也层出不穷,因此,软件开发的数量也在逐渐增加。
随着软件数量的增加,其版本迭代也较为频繁,为了使得用户能够正常的使用软件,通常会在软件上线前对软件进行测试,目的是发现软件错误(错误或其他缺陷),并验证软件产品是否适合使用,以保证软件的正常运行。
针对软件测试,通常需要软件开发者自己针对软件进行测试,因此也需要软件开发者针对该软件开发测试系统,利用测试系统对该软件进行单一测试,导致软件测试所需要的专业技能水平较高、软件开发者的工作量较大、工作效率较低,单一测试的方式无法达到较好的软件测试结果;并且,在软件测试的过程中需要对测试用例进行回归测试,以确保新添加的代码能够解决测试中存在问题,然而,随着测试系统的开发数量的增加,回归测试的次数也在逐渐增加,导致回规测试的成本越来越高,错误率也在逐渐上升。
发明内容
基于此,本发明的目的是提供一种软件测试方法、系统、可读存储介质及计算机设备,以至少解决上述技术中的不足。
本发明提出一种软件测试方法,包括:
基于待测试软件的版本数据和软件类型以及测试环境配置数据对应构建成测试场景模型;
根据所述软件类型获取所述待测试软件的测试源代码,并基于所述测试源代码在所述测试场景模型中对应生成测试用例基础文件;
自定义测试节点,并将所述测试节点和所述测试用例基础文件进行组合,以得到多个测试用例文件;
利用各所述测试用例文件对所述待测试软件进行初步测试,以得到对应的初步测试结果;
基于所述初步测试结果计算出各所述测试用例文件的纠错度、信赖度,并根据各所述测试用例文件的实际测试情况确定各所述测试用例文件的需求度;
根据所述纠错度、所述信赖度以及所述需求度构建软件测试模型,并根据所述软件测试模型和优先级调整规则对所述待测试软件进行软件测试,以得到最终测试结果。
进一步的,基于待测试软件的版本数据和软件类型以及测试环境配置数据对应构建成测试场景模型的步骤之前,所述方法还包括:
基于待测试软件的软件类型获取对应的模拟环境数据,并根据所述软件类型创建环境编辑器,利用数据编辑方式对所述环境编辑器进行数据编辑,以得到所述待测试软件对应的场景编辑器;
获取当前环境数据,并根据所述模拟环境数据和所述当前环境数据优化所述场景编辑器,以得到所述待测试软件对应的测试环境配置数据。
进一步的,基于待测试软件的版本数据和软件类型以及测试环境配置数据对应构建成测试场景模型的步骤包括:
根据所述软件类型对应创建建模编辑器,并根据所述版本数据获取所述待测试软件的多个最小的建模数据基类;
将各所述建模数据基类与所述测试环境配置数据相结合,并将结合后的数据输入至所述建模编辑器中,以生成所述测试场景模型。
进一步的,基于所述测试源代码在所述测试场景模型中对应生成测试用例基础文件的步骤包括:
调用所述待测试软件的需求规格书,并根据所述测试源代码对应生成测试基础文件;
根据所述需求规格书选择测试路径,并通过所述测试路径和所述测试基础文件在所述测试场景模型中对应生成测试用例基础文件。
进一步的,基于所述初步测试结果计算出各所述测试用例文件的纠错度、信赖度的步骤包括:
获取所述初步测试结果中各所述测试用例文件的错误次数,并基于各所述测试用例文件的错误次数按照以下公式计算出各所述测试用例文件的纠错度:
Figure 910604DEST_PATH_IMAGE001
式中,
Figure 811564DEST_PATH_IMAGE002
为测试用例文件
Figure 702160DEST_PATH_IMAGE003
的第
Figure 295952DEST_PATH_IMAGE004
次测试时的错误次数,初始值为0;
Figure 639209DEST_PATH_IMAGE005
为测试 用例文件
Figure 91662DEST_PATH_IMAGE003
的第
Figure 836765DEST_PATH_IMAGE004
次测试时的纠错度;
Figure 601458DEST_PATH_IMAGE006
为测试用例文件
Figure 432011DEST_PATH_IMAGE003
的第
Figure 940353DEST_PATH_IMAGE007
次测试时的纠错 度;
获取所述初步测试结果中各所述测试用例文件的运行情况,并基于各所述测试用例文件的运行情况按照以下公式计算出各所述测试用例文件的信赖度:
Figure 805541DEST_PATH_IMAGE008
式中,
Figure 741135DEST_PATH_IMAGE009
为测试用例
Figure 793405DEST_PATH_IMAGE003
的第
Figure 856170DEST_PATH_IMAGE004
次测试时的运行情况,运行异常时取值为1,运行正 常时取值为0;
Figure 575864DEST_PATH_IMAGE010
为测试用例文件
Figure 682361DEST_PATH_IMAGE003
的第
Figure 221927DEST_PATH_IMAGE004
次测试时的信赖度;
Figure 72071DEST_PATH_IMAGE011
为测试用例文件
Figure 646272DEST_PATH_IMAGE003
的第
Figure 923669DEST_PATH_IMAGE012
次测试时的信赖度。
本发明还提出一种软件测试系统,包括:
测试场景构建模块,用于基于待测试软件的版本数据和软件类型以及测试环境配置数据对应构建成测试场景模型;
测试代码处理模块,用于根据所述软件类型获取所述待测试软件的测试源代码,并基于所述测试源代码在所述测试场景模型中对应生成测试用例基础文件;
测试用例生成模块,用于自定义测试节点,并将所述测试节点和所述测试用例基础文件进行组合,以得到多个测试用例文件;
初步测试模块,用于利用各所述测试用例文件对所述待测试软件进行初步测试,以得到对应的初步测试结果;
模型数据计算模块,用于基于所述初步测试结果计算出各所述测试用例文件的纠错度、信赖度,并根据各所述测试用例文件的实际测试情况确定各所述测试用例文件的需求度;
测试模型构建模块,用于根据所述纠错度、所述信赖度以及所述需求度构建软件测试模型,并根据所述软件测试模型和优先级调整规则对所述待测试软件进行软件测试,以得到最终测试结果。
进一步的,所述系统还包括:
场景编辑模块,用于基于待测试软件的软件类型获取对应的模拟环境数据,并根据所述软件类型创建环境编辑器,利用数据编辑方式对所述环境编辑器进行数据编辑,以得到所述待测试软件对应的场景编辑器;
测试环境配置模块,用于获取当前环境数据,并根据所述模拟环境数据和所述当前环境数据优化所述场景编辑器,以得到所述待测试软件对应的测试环境配置数据。
进一步的,所述测试场景构建模块包括:
建模编辑单元,用于根据所述软件类型对应创建建模编辑器,并根据所述版本数据获取所述待测试软件的多个最小的建模数据基类;
场景构建单元,用于将各所述建模数据基类与所述测试环境配置数据相结合,并将结合后的数据输入至所述建模编辑器中,以生成所述测试场景模型。
进一步的,所述测试代码处理模块包括:
需求规格获取单元,用于调用所述待测试软件的需求规格书,并根据所述测试源代码对应生成测试基础文件;
测试用例处理单元,用于根据所述需求规格书选择测试路径,并通过所述测试路径和所述测试基础文件在所述测试场景模型中对应生成测试用例基础文件。
本发明还提出一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的软件测试方法。
本发明还提出一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的软件测试方法。
本发明当中的软件测试方法、系统、可读存储介质及计算机设备,通过获取测试环境配置数据、版本数据以及软件类型对应构建测试场景模型,使得软件测试能够在测试场景模型中进行,当需要针对不同软件时,根据不同产品的版本数据和软件类型即可重新构建测试场景模型,避免针对不同软件对应开发不同的测试系统,降低工作量以及提升工作效率;具体的,通过自定义节点和测试用例基础文件生成测试用例文件,使得软件测试的过程能够根据工作人员的自定义节点控制,提升软件测试的精准度;进一步的,通过各测试用例文件的纠错度、信赖度以及需求度提升回归测试的错误检查能力,进一步提升回归测试的效率。
附图说明
图1为本发明第一实施例中软件测试方法的流程图;
图2为图1中步骤S101的详细流程图;
图3为图1中步骤S102的详细流程图;
图4为本发明第二实施例中软件测试方法的流程图;
图5为本发明第三实施例中软件测试系统的结构框图;
图6为本发明第四实施例中的计算机设备的结构框图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
实施例一
请参阅图1,所示为本发明第一实施例中的软件测试方法,所述软件测试方法具体包括步骤S101至S106:
S101,基于待测试软件的版本数据和软件类型以及测试环境配置数据对应构建成测试场景模型;
进一步的,请参阅图2,所述步骤S101具体包括步骤S1011~S1012:
S1011,根据所述软件类型对应创建建模编辑器,并根据所述版本数据获取所述待测试软件的多个最小的建模数据基类;
S1012,将各所述建模数据基类与所述测试环境配置数据相结合,并将结合后的数据输入至所述建模编辑器中,以生成所述测试场景模型。
在本实施例中,预先构建建模数据库,将各软件类型所需要的建模函数、建模参数预存至所述建模数据库中,当获取到所述软件类型时,利用对应的建模函数和建模参数创建建模编辑器,同时根据该待测试软件的版本数据获取多个最小的建模数据基类,其中,最小的建模数据基类为数据建模的最小图形化模型元素。
进一步的,将各最小图形化模型元素和上述的测试环境配置数据结合成模型元素的属性和行为函数,通过模型元素的属性和行为函数生成测试场景模型,可以理解的,模型元素的属性即为测试场景模型中各测试场景的属性配置,行为函数即为测试场景模型的执行函数,通过对应的行为函数使得待测试软件在测试场景模型中执行对应的行为动作(软件测试动作)。
S102,根据所述软件类型获取所述待测试软件的测试源代码,并基于所述测试源代码在所述测试场景模型中对应生成测试用例基础文件;
进一步的,请参阅图3,所述步骤S102具体包括步骤S1021~S1022:
S1021,调用所述待测试软件的需求规格书,并根据所述测试源代码对应生成测试基础文件;
S1022,根据所述需求规格书选择测试路径,并通过所述测试路径和所述测试基础文件在所述测试场景模型中对应生成测试用例基础文件。
在具体实施时,根据所述软件类型查找所述待测试软件的测试源代码,通过构建软件类型与测试源代码映射表的方式,当获得到软件类型时,通过查表方式即可得到该软件类型对应的测试源代码,可以理解的,该测试源代码为该待测试软件的基础测试源代码,仅用于该待测试软件的基础测试。
需要说明的是,在其他实施例中,能够通过将该待测试软件的测试源代码预先存储于该待测试软件的注册表中,通过获取注册表能够找到该待测试软件的测试源代码。
进一步的,获取该待测试软件的需求规格书,其中,通过该规格需求书能够构建出该待测试软件的执行模型,其中,该执行模型由多个原子模型构成,该原子模型为测试流程的最小单元,包括测试协议、测试条件、测试路径以及结果验证。利用该测试软件的测试条件选择对应的测试路径,将该测试路径和上述的测试基础文件在测试场景模型中对应生成测试用例基础文件。
S103,自定义测试节点,并将所述测试节点和所述测试用例基础文件进行组合,以得到多个测试用例文件;
在具体实施时,在测试场景模型中,包含有多个测试节点属性,用户根据测试节点属性自定义创建测试节点,测试节点中包含有节点属性标识、节点配置数据,其中,节点属性标识,即为测试节点属性的唯一标识,通过该标识能够获取对应的测试节点属性的信息;节点属性数据,包括用户根据需求自定义的节点属性,例如:用户需求为连通性测试,该节点属性则为连通性测试节点属性(构建连通性测试接口等属性信息)。
在获得用户自定义的测试节点后,将测试节点与测试用例基础文件进行组合,进而得到测试用例文件。
S104,利用各所述测试用例文件对所述待测试软件进行初步测试,以得到对应的初步测试结果;
需要说明的是,由于测试用例文件不具备执行能力,需要将测试用例文件转换成可执行的测试执行文件,将测试用例文件转换成C语言或编程语言程序文件,并通过测试执行文件对待测试软件进行测试,以得到对应的测试结果。
S105,基于所述初步测试结果计算出各所述测试用例文件的纠错度、信赖度,并根据各所述测试用例文件的实际测试情况确定各所述测试用例文件的需求度;
需要说明的是,在软件测试过程中,测试人员在测试过程中发现测试用例引起异常时,会需要对该异常的部分进行代码修复,然而为了得知修复后的代码是否能够解决上述的异常或引起其他的异常,因此需要对测试用例重新进行测试,该测试过程即为回归测试。通常在软件开发的过程中,软件测试的回归测试的占比很大,并且由于软件的快速迭代,对软件也需要进行多次修改,每次修改即意味着需要进行回归测试,在本实施例中,通过对测试用例文件进行优先级排序来提高回归测试的错误检测能力,当上一次回归测试的过程中,某个测试用例文件出现异常,意味着需要在下次进行测试的时候针对上次的异常进行代码修复,因此,在下一次测试时将该测试用例文件的优先级提前,就能使得快速检查代码修复后的测试用例文件是否够解决上述的异常或引起其他的异常。
具体的,获取所述初步测试结果中各所述测试用例文件的错误次数,并基于各所述测试用例文件的错误次数按照以下公式(1)计算出各所述测试用例文件的纠错度:
公式(1):
Figure 216110DEST_PATH_IMAGE001
式中,
Figure 355099DEST_PATH_IMAGE002
为测试用例文件
Figure 314964DEST_PATH_IMAGE003
的第
Figure 700946DEST_PATH_IMAGE004
次测试时的错误次数,初始值为0;
Figure 277421DEST_PATH_IMAGE005
为测试 用例文件
Figure 407051DEST_PATH_IMAGE003
的第
Figure 18161DEST_PATH_IMAGE004
次测试时的纠错度;
Figure 575045DEST_PATH_IMAGE013
为测试用例文件
Figure 373236DEST_PATH_IMAGE003
的第
Figure 572136DEST_PATH_IMAGE014
次测试时的纠错 度;
由上述公式(1)可知,每次测试的纠错度都是本次的错误次数和之前的错误次数的叠加,因此,纠错度会随着测试的逐渐进行越来越大,纠错度不再增大意味着代码修复已经解决异常问题,则不需要再提高该测试用例文件的执行顺序,而逐渐增大的纠错度意味着代码修复并未解决异常问题或仍然存在问题。
进一步的,获取所述初步测试结果中各所述测试用例文件的运行情况,并基于各所述测试用例文件的运行情况按照以下公式(2)计算出各所述测试用例文件的信赖度:
公式(2):
Figure 522906DEST_PATH_IMAGE015
式中,
Figure 313007DEST_PATH_IMAGE009
为测试用例
Figure 67337DEST_PATH_IMAGE003
的第
Figure 804349DEST_PATH_IMAGE004
次测试时的运行情况,运行异常时取值为1,运行正 常时取值为0;
Figure 124472DEST_PATH_IMAGE010
为测试用例文件
Figure 23157DEST_PATH_IMAGE003
的第
Figure 61521DEST_PATH_IMAGE004
次测试时的信赖度;
Figure 336644DEST_PATH_IMAGE011
为测试用例文件
Figure 259076DEST_PATH_IMAGE003
的第
Figure 594243DEST_PATH_IMAGE014
次测试时的信赖度。
需要说明的是,在本实施例中,信赖度是测试用例文件在运行过程中的执行情况,在运行测试用例文件时,由于该测试用例文件所导致测试无法正常运行或因测试用例文件因代码修复后出现无法运行;若没有发现无法运行的测试用例文件,则将该测试用例文件的信赖度取值为0。
由上述的公式(2)可知,信赖度和纠错度一样,会根据测试过程中测试用例文件的无法运行的次数来逐渐增大,若测试用例文件在多次执行时,其信赖度不断增大,意味着该测试用例文件存在异常或代码修复并未解决问题。
在本实施例中,需求度即为根据系统中各个需求的重要程度来对需求进行划分,对于用户所使用的关键功能进行测试能够保证测试的收益最大化,使得整体测试过程的效率更高,在本实施例中,将需求度设置在0到1之间,并将需求度Lx定义成5个等级:其中,绝对重要的需求度Lx取值为1,较为重要的需求度Lx取值为0.7≤Lx≤1,略微重要的需求度Lx取值为0.4≤Lx≤0.7,不重要的需求度Lx取值为0.2≤Lx≤0.4,无需求的需求度Lx取值为0。
S106,根据所述纠错度、所述信赖度以及所述需求度构建软件测试模型,并根据所述软件测试模型和优先级调整规则对所述待测试软件进行软件测试,以得到最终测试结果。
需要说明的是,在本实施例中,通过上述的纠错度、信赖度以及需求度加入到总的 评判指标中,以构建软件测试模型的方式,把测试用例文件中按照需求度和纠错度以及信 赖度数值来将测试用例进行排序。其中,
Figure 854323DEST_PATH_IMAGE016
为纠错度在测试用例文件中的最大值,
Figure 933137DEST_PATH_IMAGE017
为 信赖度在测试用例文件中的最大值,α(0≤α≤1)、β(0≤β≤1)为测试人员对于因素偏重的 权值,软件测试模型为:
式(3):
Figure 962273DEST_PATH_IMAGE018
式中,
Figure 468341DEST_PATH_IMAGE019
的值越大意味着需求度和纠错度的综合值越高,对应的测试用例文件 需要提高优先级进行测试,α和β作为测试人员对于上述的三个因素的侧重,若认为需求度 更重要,则将α值调大,需求度的优先级所占的比例则会增大;若认为纠错度更重要,则将α 值调小、并通过调整β来对信赖度和纠错度进行调整。
进一步的,由于测试用例文件的判定过程中,很多测试用例文件对需求的覆盖是 相同或相似的,例如:回归测试的测试用例集合为
Figure 215717DEST_PATH_IMAGE020
,而需求集合为
Figure 832643DEST_PATH_IMAGE021
,若想要表达每个测试用例文件之间的相似关系,可以通过建立m*n关联矩 阵
Figure 732597DEST_PATH_IMAGE022
,若测试用例中
Figure 409566DEST_PATH_IMAGE023
Figure 847501DEST_PATH_IMAGE024
存在相似关系,则该矩阵中x行y列元素
Figure 330435DEST_PATH_IMAGE025
值为一, 若不相似,则该元素值为零:
式(4):
Figure 68583DEST_PATH_IMAGE026
根据上述式(4)中的矩阵即为一个四个测试用例文件以及四个需求的关联矩阵, 从矩阵可以看出,
Figure 916454DEST_PATH_IMAGE027
Figure 638422DEST_PATH_IMAGE028
相似、
Figure 597151DEST_PATH_IMAGE027
Figure 471697DEST_PATH_IMAGE029
相似,通过将测试用例文件之间的信息用矩阵表示, 能够作为排序算法依据,还能够在回归测试中重复使用,减少了测试的计算量。
本实施例中通过构建优先级调整规则,来加快测试用例文件的测试速度,提高整体效率,其中,根据上述公式(3)中的软件测试模型对每个测试用例文件进行评价,若第一次在没有执行前,评价就仅根据测试模型中的需求优先级进行评价。其次,在测试用例文件按照顺序执行时使用优先级动态调整算法,如果运行正确则执行该顺序的下一个测试用例,如果运行过程中出现错误情况,那么通过关联矩阵求出所有相似的测试用例,并对所有相似的测试用例优先级向前一级。
最后,继续执行剩下的测试用例直到执行完,输出最终的测试结果。
综上,本发明上述实施例中的软件测试方法,通过获取测试环境配置数据、版本数据以及软件类型对应构建测试场景模型,使得软件测试能够在测试场景模型中进行,当需要针对不同软件时,根据不同产品的版本数据和软件类型即可重新构建测试场景模型,避免针对不同软件对应开发不同的测试系统,降低工作量以及提升工作效率;具体的,通过自定义节点和测试用例基础文件生成测试用例文件,使得软件测试的过程能够根据工作人员的自定义节点控制,提升软件测试的精准度;进一步的,通过各测试用例文件的纠错度、信赖度以及需求度提升回归测试的错误检查能力,进一步提升回归测试的效率。
实施例二
请参阅图4,所示为本发明第二实施例中的软件测试方法,所述方法具体包括步骤S201~S208:
S201,基于待测试软件的软件类型获取对应的模拟环境数据,并根据所述软件类型创建环境编辑器,利用数据编辑方式对所述环境编辑器进行数据编辑,以得到所述待测试软件对应的场景编辑器;
S202,获取当前环境数据,并根据所述模拟环境数据和所述当前环境数据优化所述场景编辑器,以得到所述待测试软件对应的测试环境配置数据;
在具体实施时,通过创建与待测试软件的数据接口来获取该待测试软件的软件信息,具体的,当获取到该待测试软件通过数据接口所传递的测试请求时,通过该数据接口从该测试软件的注册表中获取该待测试软件的软件信息,该软件信息中包含有该软件的版本数据和软件类型。
可以理解的,该版本数据能够体现该软件的当前版本,该版本数据能够避免因待测试软件的版本不同导致软件测试的精准度存在差异;该软件类型能够体现该软件的具体作用,例如:检索软件、办公软件等。
利用上述的待测试软件的软件类型确定该待测试软件的软件测试所需要的模拟环境,即模拟环境数据,在本实施例中,能够将各软件类型所对应的模拟环境数据存储于数据库中,当获取到某个待测试软件的软件类型时,通过该数据库即可得到该软件类型所对应的模拟环境数据。
具体的,根据软件类型对应创建环境编辑器,其中,该环境编辑器中包含有环境配置的基础属性以及对应的编辑函数和功能函数,通过功能函数能够将该基础属性转换成对应的基础功能,例如:新建、打开、关闭等基础功能;利用拖动控件的方式将构建测试场景模型所需要的功能进行添加,再利用编辑函数将上述的各功能对应转换成测试场景模型所需要的元素属性,进而得到该待测试软件的场景编辑器;
进一步的,获取本次软件测试的硬件设备的硬件信息,并模拟出该待测试软件的运算量,根据所述运算量和该硬件设备的硬件信息确定本次软件测试的当前环境数据,可以理解的,在其他实施例中,还能够通过用户根据该硬件信息自行设定当前环境数据,例如:当硬件信息中部分硬件即可满足软件测试时,用户可以将不需要的硬件从当前环境数据中剔除,以降低硬件设备的使用率。
在确定当前环境数据后,利用当前环境数据和模拟环境数据对上述的场景编辑器进行优化,具体的,分别将当前环境数据和模拟环境数据与上述的场景编辑器中的元素属性进行分析,若当前环境数据满足场景编辑器中的元素属性需求、且所述模拟环境数据同样满足场景编辑器中的元素属性需求时,将所述当前环境数据和所述模拟环境数据进行数据组合,以组合后的环境数据作为所述场景编辑器中的环境配置数据,即待测试软件对应的测试环境配置数据;
若当前环境数据满足场景编辑器中的元素属性需求、且所述模拟环境数据不满足场景编辑器中的元素属性需求时,将所述模拟环境数据中满足场景编辑器中的元素属的模拟环境数据与当前环境数据进行数据组合,以组合后的环境数据作为所述场景编辑器中的环境配置数据,即待测试软件对应的测试环境配置数据;
若当前环境数据不满足场景编辑器中的元素属性需求、且所述模拟环境数据满足场景编辑器中的元素属性需求时,以所述模拟环境数据作为所述场景编辑器中的环境配置数据,即待测试软件对应的测试环境配置数据;
若当前环境数据不满足场景编辑器中的元素属性需求、且所述模拟环境数据同样不满足场景编辑器中的元素属性需求时,将所述当前环境数据和所述模拟环境数据中满足场景编辑器中的元素属性需求的当前环境数据和模拟环境数据进行数据组合,以组合后的环境数据作为所述场景编辑器中的环境配置数据,即待测试软件对应的测试环境配置数据。
S203,基于待测试软件的版本数据和软件类型以及测试环境配置数据对应构建成测试场景模型;
在本实施例中,预先构建建模数据库,将各软件类型所需要的建模函数、建模参数预存至所述建模数据库中,当获取到所述软件类型时,利用对应的建模函数和建模参数创建建模编辑器,同时根据该待测试软件的版本数据获取多个最小的建模数据基类,其中,最小的建模数据基类为数据建模的最小图形化模型元素。
进一步的,将各最小图形化模型元素和上述的测试环境配置数据结合成模型元素的属性和行为函数,通过模型元素的属性和行为函数生成测试场景模型,可以理解的,模型元素的属性即为测试场景模型中各测试场景的属性配置,行为函数即为测试场景模型的执行函数,通过对应的行为函数使得待测试软件在测试场景模型中执行对应的行为动作(软件测试动作)。
S204,根据所述软件类型获取所述待测试软件的测试源代码,并基于所述测试源代码在所述测试场景模型中对应生成测试用例基础文件;
在具体实施时,根据所述软件类型查找所述待测试软件的测试源代码,通过构建软件类型与测试源代码映射表的方式,当获得到软件类型时,通过查表方式即可得到该软件类型对应的测试源代码,可以理解的,该测试源代码为该待测试软件的基础测试源代码,仅用于该待测试软件的基础测试。
需要说明的是,在其他实施例中,能够通过将该待测试软件的测试源代码预先存储于该待测试软件的注册表中,通过获取注册表能够找到该待测试软件的测试源代码。
进一步的,获取该待测试软件的需求规格书,其中,通过该规格需求书能够构建出该待测试软件的执行模型,其中,该执行模型由多个原子模型构成,该原子模型为测试流程的最小单元,包括测试协议、测试条件、测试路径以及结果验证。利用该测试软件的测试条件选择对应的测试路径,将该测试路径和上述的测试基础文件在测试场景模型中对应生成测试用例基础文件。
S205,自定义测试节点,并将所述测试节点和所述测试用例基础文件进行组合,以得到多个测试用例文件;
在具体实施时,在测试场景模型中,包含有多个测试节点属性,用户根据测试节点属性自定义创建测试节点,测试节点中包含有节点属性标识、节点配置数据,其中,节点属性标识,即为测试节点属性的唯一标识,通过该标识能够获取对应的测试节点属性的信息;节点属性数据,包括用户根据需求自定义的节点属性,例如:用户需求为连通性测试,该节点属性则为连通性测试节点属性(构建连通性测试接口等属性信息)。
在获得用户自定义的测试节点后,将测试节点与测试用例基础文件进行组合,进而得到测试用例文件。
S206,利用各所述测试用例文件对所述待测试软件进行初步测试,以得到对应的初步测试结果;
需要说明的是,由于测试用例文件不具备执行能力,需要将测试用例文件转换成可执行的测试执行文件,将测试用例文件转换成C语言或编程语言程序文件,并通过测试执行文件对待测试软件进行测试,以得到对应的测试结果。
S207,基于所述初步测试结果计算出各所述测试用例文件的纠错度、信赖度,并根据各所述测试用例文件的实际测试情况确定各所述测试用例文件的需求度;
需要说明的是,在软件测试过程中,测试人员在测试过程中发现测试用例引起异常时,会需要对该异常的部分进行代码修复,然而为了得知修复后的代码是否能够解决上述的异常或引起其他的异常,因此需要对测试用例重新进行测试,该测试过程即为回归测试。通常在软件开发的过程中,软件测试的回归测试的占比很大,并且由于软件的快速迭代,对软件也需要进行多次修改,每次修改即意味着需要进行回归测试,在本实施例中,通过对测试用例文件进行优先级排序来提高回归测试的错误检测能力,当上一次回归测试的过程中,某个测试用例文件出现异常,意味着需要在下次进行测试的时候针对上次的异常进行代码修复,因此,在下一次测试时将该测试用例文件的优先级提前,就能使得快速检查代码修复后的测试用例文件是否够解决上述的异常或引起其他的异常。
具体的,获取所述初步测试结果中各所述测试用例文件的错误次数,并基于各所述测试用例文件的错误次数按照以下公式(1)计算出各所述测试用例文件的纠错度:
公式(1):
Figure 224889DEST_PATH_IMAGE001
式中,
Figure 434154DEST_PATH_IMAGE002
为测试用例文件
Figure 196573DEST_PATH_IMAGE003
的第
Figure 378156DEST_PATH_IMAGE004
次测试时的错误次数,初始值为0;
Figure 630146DEST_PATH_IMAGE005
为测试 用例文件
Figure 998810DEST_PATH_IMAGE003
的第
Figure 361659DEST_PATH_IMAGE004
次测试时的纠错度;
Figure 397748DEST_PATH_IMAGE013
为测试用例文件
Figure 571371DEST_PATH_IMAGE003
的第
Figure 427332DEST_PATH_IMAGE014
次测试时的纠错 度;
由上述公式(1)可知,每次测试的纠错度都是本次的错误次数和之前的错误次数的叠加,因此,纠错度会随着测试的逐渐进行越来越大,纠错度不再增大意味着代码修复已经解决异常问题,则不需要再提高该测试用例文件的执行顺序,而逐渐增大的纠错度意味着代码修复并未解决异常问题或仍然存在问题。
进一步的,获取所述初步测试结果中各所述测试用例文件的运行情况,并基于各所述测试用例文件的运行情况按照以下公式(2)计算出各所述测试用例文件的信赖度:
公式(2):
Figure 593871DEST_PATH_IMAGE015
式中,
Figure 484466DEST_PATH_IMAGE009
为测试用例
Figure 78259DEST_PATH_IMAGE003
的第
Figure 421516DEST_PATH_IMAGE004
次测试时的运行情况,运行异常时取值为1,运行正 常时取值为0;
Figure 126166DEST_PATH_IMAGE010
为测试用例文件
Figure 871268DEST_PATH_IMAGE003
的第
Figure 383765DEST_PATH_IMAGE004
次测试时的信赖度;
Figure 214318DEST_PATH_IMAGE011
为测试用例文件
Figure 722659DEST_PATH_IMAGE003
的第
Figure 322268DEST_PATH_IMAGE014
次测试时的信赖度。
需要说明的是,在本实施例中,信赖度是测试用例文件在运行过程中的执行情况,在运行测试用例文件时,由于该测试用例文件所导致测试无法正常运行或因测试用例文件因代码修复后出现无法运行;若没有发现无法运行的测试用例文件,则将该测试用例文件的信赖度取值为0。
由上述的公式(2)可知,信赖度和纠错度一样,会根据测试过程中测试用例文件的无法运行的次数来逐渐增大,若测试用例文件在多次执行时,其信赖度不断增大,意味着该测试用例文件存在异常或代码修复并未解决问题。
在本实施例中,需求度即为根据系统中各个需求的重要程度来对需求进行划分,对于用户所使用的关键功能进行测试能够保证测试的收益最大化,使得整体测试过程的效率更高,在本实施例中,将需求度设置在0到1之间,并将需求度Lx定义成5个等级:其中,绝对重要的需求度Lx取值为1,较为重要的需求度Lx取值为0.7≤Lx≤1,略微重要的需求度Lx取值为0.4≤Lx≤0.7,不重要的需求度Lx取值为0.2≤Lx≤0.4,无需求的需求度Lx取值为0。
S208,根据所述纠错度、所述信赖度以及所述需求度构建软件测试模型,并根据所述软件测试模型和优先级调整规则对所述待测试软件进行软件测试,以得到最终测试结果。
需要说明的是,在本实施例中,通过上述的纠错度、信赖度以及需求度加入到总的 评判指标中,以构建软件测试模型的方式,把测试用例文件中按照需求度和纠错度以及信 赖度数值来将测试用例进行排序。其中,
Figure 257863DEST_PATH_IMAGE030
为纠错度在测试用例文件中的最大值,
Figure 575712DEST_PATH_IMAGE031
为 信赖度在测试用例文件中的最大值,α(0≤α≤1)、β(0≤β≤1)为测试人员对于因素偏重的 权值,软件测试模型为:
式(3):
Figure 91007DEST_PATH_IMAGE032
式中,
Figure 607439DEST_PATH_IMAGE019
的值越大意味着需求度和纠错度的综合值越高,对应的测试用例文件 需要提高优先级进行测试,α和β作为测试人员对于上述的三个因素的侧重,若认为需求度 更重要,则将α值调大,需求度的优先级所占的比例则会增大;若认为纠错度更重要,则将α 值调小、并通过调整β来对信赖度和纠错度进行调整。
进一步的,由于测试用例文件的判定过程中,很多测试用例文件对需求的覆盖是 相同或相似的,例如:回归测试的测试用例集合为
Figure 651618DEST_PATH_IMAGE020
,而需求集合为
Figure 269812DEST_PATH_IMAGE033
,若想要表达每个测试用例文件之间的相似关系,可以通过建立m*n关联矩 阵
Figure 57640DEST_PATH_IMAGE034
,若测试用例中
Figure 694158DEST_PATH_IMAGE023
Figure 705976DEST_PATH_IMAGE024
存在相似关系,则该矩阵中x行y列元素
Figure 263996DEST_PATH_IMAGE025
值为一, 若不相似,则该元素值为零:
式(4):
Figure 589935DEST_PATH_IMAGE035
根据上述式(4)中的矩阵即为一个四个测试用例文件以及四个需求的关联矩阵, 从矩阵可以看出,
Figure 80959DEST_PATH_IMAGE027
Figure 732521DEST_PATH_IMAGE028
相似、
Figure 59728DEST_PATH_IMAGE027
Figure 189358DEST_PATH_IMAGE029
相似,通过将测试用例文件之间的信息用矩阵表示, 能够作为排序算法依据,还能够在回归测试中重复使用,减少了测试的计算量。
本实施例中通过构建优先级调整规则,来加快测试用例文件的测试速度,提高整体效率,其中,根据上述公式(3)中的软件测试模型对每个测试用例文件进行评价,若第一次在没有执行前,评价就仅根据测试模型中的需求优先级进行评价。其次,在测试用例文件按照顺序执行时使用优先级动态调整算法,如果运行正确则执行该顺序的下一个测试用例,如果运行过程中出现错误情况,那么通过关联矩阵求出所有相似的测试用例,并对所有相似的测试用例优先级向前一级。
最后,继续执行剩下的测试用例直到执行完,输出最终的测试结果。
本实施例中的软件测试方法与第一实施例中的软件测试方法相比,利用模拟环境数据和当前环境数据优化场景编辑器,进而更加准确的得到待测试软件的测试环境配置数据,进而保证软件测试的精准度。
实施例三
本发明另一方面还提出一种软件测试系统,请查阅图5,所示为本发明第三实施例中的软件测试系统,所述系统包括:
测试场景构建模块11,用于基于待测试软件的版本数据和软件类型以及测试环境配置数据对应构建成测试场景模型;
进一步的,所述测试场景构建模块11包括:
建模编辑单元,用于根据所述软件类型对应创建建模编辑器,并根据所述版本数据获取所述待测试软件的多个最小的建模数据基类;
场景构建单元,用于将各所述建模数据基类与所述测试环境配置数据相结合,并将结合后的数据输入至所述建模编辑器中,以生成所述测试场景模型。
测试代码处理模块12,用于根据所述软件类型获取所述待测试软件的测试源代码,并基于所述测试源代码在所述测试场景模型中对应生成测试用例基础文件;
进一步的,所述测试代码处理模块12包括:
需求规格获取单元,用于调用所述待测试软件的需求规格书,并根据所述测试源代码对应生成测试基础文件;
测试用例处理单元,用于根据所述需求规格书选择测试路径,并通过所述测试路径和所述测试基础文件在所述测试场景模型中对应生成测试用例基础文件。
测试用例生成模块13,用于自定义测试节点,并将所述测试节点和所述测试用例基础文件进行组合,以得到多个测试用例文件;
初步测试模块14,用于利用各所述测试用例文件对所述待测试软件进行初步测试,以得到对应的初步测试结果;
模型数据计算模块15,用于基于所述初步测试结果计算出各所述测试用例文件的纠错度、信赖度,并根据各所述测试用例文件的实际测试情况确定各所述测试用例文件的需求度;
测试模型构建模块16,用于根据所述纠错度、所述信赖度以及所述需求度构建软件测试模型,并根据所述软件测试模型和优先级调整规则对所述待测试软件进行软件测试,以得到最终测试结果。
在一些可选实施例中,所述系统还包括:
场景编辑模块,用于基于待测试软件的软件类型获取对应的模拟环境数据,并根据所述软件类型创建环境编辑器,利用数据编辑方式对所述环境编辑器进行数据编辑,以得到所述待测试软件对应的场景编辑器;
测试环境配置模块,用于获取当前环境数据,并根据所述模拟环境数据和所述当前环境数据优化所述场景编辑器,以得到所述待测试软件对应的测试环境配置数据。
上述各模块、单元被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
本发明实施例所提供的软件测试系统,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,系统实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例四
本发明还提出一种计算机设备,请参阅图6,所示为本发明第四实施例中的计算机设备,包括存储器10、处理器20以及存储在所述存储器10上并可在所述处理器20上运行的计算机程序30,所述处理器20执行所述计算机程序30时实现上述的软件测试方法。
其中,存储器10至少包括一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器10在一些实施例中可以是计算机设备的内部存储单元,例如该计算机设备的硬盘。存储器10在另一些实施例中也可以是外部存储装置,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器10还可以既包括计算机设备的内部存储单元也包括外部存储装置。存储器10不仅可以用于存储安装于计算机设备的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
其中,处理器20在一些实施例中可以是电子控制单元 (Electronic ControlUnit,简称ECU,又称行车电脑)、中央处理器(Central Processing Unit, CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器10中存储的程序代码或处理数据,例如执行访问限制程序等。
需要指出的是,图6示出的结构并不构成对计算机设备的限定,在其它实施例当中,该计算机设备可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还提出一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的软件测试方法。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种软件测试方法,其特征在于,包括:
基于待测试软件的版本数据和软件类型以及测试环境配置数据对应构建成测试场景模型;
根据所述软件类型获取所述待测试软件的测试源代码,并基于所述测试源代码在所述测试场景模型中对应生成测试用例基础文件;
自定义测试节点,并将所述测试节点和所述测试用例基础文件进行组合,以得到多个测试用例文件;
利用各所述测试用例文件对所述待测试软件进行初步测试,以得到对应的初步测试结果;
基于所述初步测试结果计算出各所述测试用例文件的纠错度、信赖度,并根据各所述测试用例文件的实际测试情况确定各所述测试用例文件的需求度,所述需求度为根据系统中各个需求的重要程度来对各所述测试用例文件的需求进行划分,其中,所述需求度Lx设置在0到1之间,并将所述需求度Lx定义成5个等级:绝对重要的需求度Lx取值为1,较为重要的需求度Lx取值为0.7≤Lx≤1,略微重要的需求度Lx取值为0.4≤Lx≤0.7,不重要的需求度Lx取值为0.2≤Lx≤0.4,无需求的需求度Lx取值为0;
其中,基于所述初步测试结果计算出各所述测试用例文件的纠错度、信赖度的步骤包括:
获取所述初步测试结果中各所述测试用例文件的错误次数,并基于各所述测试用例文件的错误次数按照以下公式计算出各所述测试用例文件的纠错度:
Figure 812314DEST_PATH_IMAGE001
式中,
Figure 4261DEST_PATH_IMAGE002
为测试用例文件
Figure 287475DEST_PATH_IMAGE003
的第
Figure 172254DEST_PATH_IMAGE004
次测试时的错误次数,初始值为0;
Figure 173708DEST_PATH_IMAGE005
为测试用例 文件
Figure 903767DEST_PATH_IMAGE003
的第
Figure 307067DEST_PATH_IMAGE004
次测试时的纠错度;
Figure 113480DEST_PATH_IMAGE006
为测试用例文件
Figure 336651DEST_PATH_IMAGE003
的第
Figure 135979DEST_PATH_IMAGE007
次测试时的纠错度;
获取所述初步测试结果中各所述测试用例文件的运行情况,并基于各所述测试用例文件的运行情况按照以下公式计算出各所述测试用例文件的信赖度:
Figure 393785DEST_PATH_IMAGE008
式中,
Figure 354788DEST_PATH_IMAGE009
为测试用例
Figure 330834DEST_PATH_IMAGE003
的第
Figure 668275DEST_PATH_IMAGE004
次测试时的运行情况,运行异常时取值为1,运行正常时 取值为0;
Figure 780587DEST_PATH_IMAGE010
为测试用例文件
Figure 928803DEST_PATH_IMAGE003
的第
Figure 126566DEST_PATH_IMAGE004
次测试时的信赖度;
Figure 267698DEST_PATH_IMAGE011
为测试用例文件
Figure 500096DEST_PATH_IMAGE003
的第
Figure 802901DEST_PATH_IMAGE007
次测试时的信赖度;根据所述纠错度、所述信赖度以及所述需求度构建软件测试模 型,并根据所述软件测试模型和优先级调整规则对所述待测试软件进行软件测试,以得到 最终测试结果。
2.根据权利要求1所述的软件测试方法,其特征在于,基于待测试软件的版本数据和软件类型以及测试环境配置数据对应构建成测试场景模型的步骤之前,所述方法还包括:
基于待测试软件的软件类型获取对应的模拟环境数据,并根据所述软件类型创建环境编辑器,利用数据编辑方式对所述环境编辑器进行数据编辑,以得到所述待测试软件对应的场景编辑器;
获取当前环境数据,并根据所述模拟环境数据和所述当前环境数据优化所述场景编辑器,以得到所述待测试软件对应的测试环境配置数据。
3.根据权利要求1所述的软件测试方法,其特征在于,基于待测试软件的版本数据和软件类型以及测试环境配置数据对应构建成测试场景模型的步骤包括:
根据所述软件类型对应创建建模编辑器,并根据所述版本数据获取所述待测试软件的多个最小的建模数据基类;
将各所述建模数据基类与所述测试环境配置数据相结合,并将结合后的数据输入至所述建模编辑器中,以生成所述测试场景模型。
4.根据权利要求1所述的软件测试方法,其特征在于,基于所述测试源代码在所述测试场景模型中对应生成测试用例基础文件的步骤包括:
调用所述待测试软件的需求规格书,并根据所述测试源代码对应生成测试基础文件;
根据所述需求规格书选择测试路径,并通过所述测试路径和所述测试基础文件在所述测试场景模型中对应生成测试用例基础文件。
5.一种软件测试系统,其特征在于,包括:
测试场景构建模块,用于基于待测试软件的版本数据和软件类型以及测试环境配置数据对应构建成测试场景模型;
测试代码处理模块,用于根据所述软件类型获取所述待测试软件的测试源代码,并基于所述测试源代码在所述测试场景模型中对应生成测试用例基础文件;
测试用例生成模块,用于自定义测试节点,并将所述测试节点和所述测试用例基础文件进行组合,以得到多个测试用例文件;
初步测试模块,用于利用各所述测试用例文件对所述待测试软件进行初步测试,以得到对应的初步测试结果;
模型数据计算模块,用于基于所述初步测试结果计算出各所述测试用例文件的纠错度、信赖度,并根据各所述测试用例文件的实际测试情况确定各所述测试用例文件的需求度,所述需求度为根据系统中各个需求的重要程度来对各所述测试用例文件的需求进行划分,其中,所述需求度Lx设置在0到1之间,并将所述需求度Lx定义成5个等级:绝对重要的需求度Lx取值为1,较为重要的需求度Lx取值为0.7≤Lx≤1,略微重要的需求度Lx取值为0.4≤Lx≤0.7,不重要的需求度Lx取值为0.2≤Lx≤0.4,无需求的需求度Lx取值为0;
其中,所述模型数据计算模块具体用于:
获取所述初步测试结果中各所述测试用例文件的错误次数,并基于各所述测试用例文件的错误次数按照以下公式计算出各所述测试用例文件的纠错度:
Figure 753540DEST_PATH_IMAGE001
式中,
Figure 432783DEST_PATH_IMAGE002
为测试用例文件
Figure 519687DEST_PATH_IMAGE003
的第
Figure 196656DEST_PATH_IMAGE004
次测试时的错误次数,初始值为0;
Figure 913552DEST_PATH_IMAGE005
为测试用例 文件
Figure 396486DEST_PATH_IMAGE003
的第
Figure 337897DEST_PATH_IMAGE004
次测试时的纠错度;
Figure 248084DEST_PATH_IMAGE006
为测试用例文件
Figure 907736DEST_PATH_IMAGE003
的第
Figure 132044DEST_PATH_IMAGE007
次测试时的纠错度;
获取所述初步测试结果中各所述测试用例文件的运行情况,并基于各所述测试用例文件的运行情况按照以下公式计算出各所述测试用例文件的信赖度:
Figure 255858DEST_PATH_IMAGE008
式中,
Figure 274629DEST_PATH_IMAGE009
为测试用例
Figure 969047DEST_PATH_IMAGE003
的第
Figure 731467DEST_PATH_IMAGE004
次测试时的运行情况,运行异常时取值为1,运行正常时 取值为0;
Figure 709787DEST_PATH_IMAGE010
为测试用例文件
Figure 696197DEST_PATH_IMAGE003
的第
Figure 596020DEST_PATH_IMAGE004
次测试时的信赖度;
Figure 896552DEST_PATH_IMAGE011
为测试用例文件
Figure 729378DEST_PATH_IMAGE003
的第
Figure 89953DEST_PATH_IMAGE007
次测试时的信赖度;
测试模型构建模块,用于根据所述纠错度、所述信赖度以及所述需求度构建软件测试模型,并根据所述软件测试模型和优先级调整规则对所述待测试软件进行软件测试,以得到最终测试结果。
6.根据权利要求5所述的软件测试系统,其特征在于,所述系统还包括:
场景编辑模块,用于基于待测试软件的软件类型获取对应的模拟环境数据,并根据所述软件类型创建环境编辑器,利用数据编辑方式对所述环境编辑器进行数据编辑,以得到所述待测试软件对应的场景编辑器;
测试环境配置模块,用于获取当前环境数据,并根据所述模拟环境数据和所述当前环境数据优化所述场景编辑器,以得到所述待测试软件对应的测试环境配置数据。
7.根据权利要求5所述的软件测试系统,其特征在于,所述测试场景构建模块包括:
建模编辑单元,用于根据所述软件类型对应创建建模编辑器,并根据所述版本数据获取所述待测试软件的多个最小的建模数据基类;
场景构建单元,用于将各所述建模数据基类与所述测试环境配置数据相结合,并将结合后的数据输入至所述建模编辑器中,以生成所述测试场景模型。
8.一种可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一所述的软件测试方法。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一所述的软件测试方法。
CN202211170103.3A 2022-09-26 2022-09-26 软件测试方法、系统、可读存储介质及计算机设备 Active CN115248783B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211170103.3A CN115248783B (zh) 2022-09-26 2022-09-26 软件测试方法、系统、可读存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211170103.3A CN115248783B (zh) 2022-09-26 2022-09-26 软件测试方法、系统、可读存储介质及计算机设备

Publications (2)

Publication Number Publication Date
CN115248783A CN115248783A (zh) 2022-10-28
CN115248783B true CN115248783B (zh) 2022-12-23

Family

ID=83699844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211170103.3A Active CN115248783B (zh) 2022-09-26 2022-09-26 软件测试方法、系统、可读存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN115248783B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115840711B (zh) * 2022-12-29 2023-05-09 江西萤火虫微电子科技有限公司 图形用户界面的软件测试方法、系统、存储介质及计算机

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137087B1 (en) * 2003-08-20 2006-11-14 Adaptec, Inc. Integrated circuit verification scheme
CN114817015A (zh) * 2022-04-14 2022-07-29 芯天下技术股份有限公司 测试用例的覆盖率统计方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601018B1 (en) * 1999-02-04 2003-07-29 International Business Machines Corporation Automatic test framework system and method in software component testing
US8265100B2 (en) * 2005-06-28 2012-09-11 Wilfried Steiner Safe start-up of a network
US8924938B2 (en) * 2006-09-28 2014-12-30 Nec Laboratories America, Inc. Software testing using machine learning
CN102915271A (zh) * 2012-10-31 2013-02-06 北京邮电大学 基于控制流图的单元回归测试用例集合优化方法
CN108153658A (zh) * 2016-12-02 2018-06-12 富士通株式会社 优先级模型训练方法及确定测试用例优先级的方法和装置
CN109062782B (zh) * 2018-06-27 2022-05-31 创新先进技术有限公司 一种回归测试用例的选择方法、装置及设备
CN111406252B (zh) * 2019-11-06 2022-04-15 支付宝(杭州)信息技术有限公司 基于纠错码的共享区块链数据存储的共识
US11068387B1 (en) * 2020-04-20 2021-07-20 Webomates Inc. Classifying a test case executed on a software
CN111427802B (zh) * 2020-06-09 2021-06-22 南京大学 利用集成学习进行测试用例优先级排序的测试方法和系统
CN111858371A (zh) * 2020-07-28 2020-10-30 北京达佳互联信息技术有限公司 软件测试方法、系统、存储介质及计算机设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137087B1 (en) * 2003-08-20 2006-11-14 Adaptec, Inc. Integrated circuit verification scheme
CN114817015A (zh) * 2022-04-14 2022-07-29 芯天下技术股份有限公司 测试用例的覆盖率统计方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN115248783A (zh) 2022-10-28

Similar Documents

Publication Publication Date Title
US5500941A (en) Optimum functional test method to determine the quality of a software system embedded in a large electronic system
US8745588B2 (en) Method for testing operation of software
CN109063829B (zh) 神经网络构建方法、装置、计算机设备和存储介质
KR101334806B1 (ko) 테스트 케이스 자동 생성 시스템에서 테스트 케이스를 구성하는 입력값의 집합을 자동으로 산출하는 방법
CN111309734A (zh) 自动生成表数据的方法及系统
US11409928B2 (en) Configurable digital twin
CN103970654B (zh) 一种软件可靠性虚拟测试方法
CN115248783B (zh) 软件测试方法、系统、可读存储介质及计算机设备
CN111651358B (zh) 生成测试用例的方法、软件测试方法、装置和服务器
US10324829B2 (en) Application testing
US7793271B2 (en) Bi-directional product development process simulation
CN114143235A (zh) Nfv自动测试方法、装置、设备及存储介质
CN105787214A (zh) 一种验证模型的方法及装置
CN112948480B (zh) 数据抽取方法、装置、电子设备及存储介质
CN112988565B (zh) 接口自动化测试方法、装置、计算机设备及存储介质
CN115827353A (zh) 故障诊断方法及装置
CN114610648A (zh) 一种测试方法、装置及设备
CN113973068A (zh) 混沌测试方法、装置、混沌测试平台及存储介质
JP2022124240A (ja) 診断パターン生成方法及び計算機
CN112256559A (zh) 单片机程序的测试方法与系统
CN118132448B (zh) 测试用例处理方法、装置、计算机设备和存储介质
CN112328281A (zh) 一种服务器固件刷新方法和装置
CN116383068B (zh) 一种c++程序接口的快速测试方法、装置及存储介质
CN113448865B (zh) 基于形式模型的关系型测试数据生成方法及装置
CN114692382B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230410

Address after: Room 3602, Zifeng Building, No. 3333 Ziyang Avenue, Nanchang High tech Industrial Development Zone, Nanchang City, Jiangxi Province, 330224

Patentee after: Nanchang Senmu Technology Co.,Ltd.

Address before: 5th Floor, Building 3, Science and Technology Innovation Center, No. 269 Aixihu North Road, Nanchang High tech Industrial Development Zone, Nanchang City, Jiangxi Province, 330096

Patentee before: Jiangxi Firefly Microelectronics Technology Co.,Ltd.

TR01 Transfer of patent right