CN107992406B - 一种软件测试方法、相关系统及计算机可读存储介质 - Google Patents
一种软件测试方法、相关系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107992406B CN107992406B CN201711099744.3A CN201711099744A CN107992406B CN 107992406 B CN107992406 B CN 107992406B CN 201711099744 A CN201711099744 A CN 201711099744A CN 107992406 B CN107992406 B CN 107992406B
- Authority
- CN
- China
- Prior art keywords
- software
- observation
- variable
- observation variable
- data acquisition
- 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
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/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- 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/3696—Methods or tools to render software testable
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)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种软件测试方法、相关系统及计算机可读存储介质,具体为:测试系统接收变量设置指令,并针对变量设置指令所指示的各个观测变量,向基础系统发起数据采集指令;基础系统通过预先划分出的任务分区,采集数据采集指令所指示的各个观测变量对应的运行数据并返回至测试系统;测试系统基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常。这样,在更改观测变量时,向测试系统发起变量设置指令即可,无需重新编译、修改和固化被测软件的源代码,实现了观测变量的随时更改,灵活性较强,而且,各个观测变量的运行数据能够实时地反应出被测软件的运行情况,从而方便了测试系统对被测软件的错误分析和排查。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种软件测试方法、相关系统及计算机可读存储介质。
背景技术
目前,在软件验证阶段,为了验证整个软件在运行过程中是否存在异常,通常需要采集一段时间内的运行数据,通过将采集到的运行数据与用户预先设定的运行数据进行比较,来判断软件的运行是否符合设计预期。
现有技术中,通常会根据测试需求,选取多个变量作为被测软件的观测变量,并将各个观测变量编译并固化在被测软件中,以便测试系统能够在被测软件的运行过程中获取该被测软件中的各个观测变量所对应的运行数据,并将获得的各个观测变量所对应的运行数据保存至本地,此外,为了使测试人员能够直观地了解软件的运行情况,测试系统通常以绘图的形式展示本地保存的各个观测变量所对应的运行数据,从而直观地显示出各个观测变量在连续一段时间内的变化情况。
基于上述分析可知,现有技术中的软件测试方法,虽然在一定程度上能够采集到各个观测变量所对应的运行数据,但是,在每次更改观测变量时,都必须重新修改被测软件的源代码、重新编译并固化,灵活性和调试效率较差。而且,测试系统主要是根据离线的运行数据进行绘图的,显然,这种离线绘图方式并不能即时地反应出被测软件的实时运行情况,此外,若根据离线的运行数据确定被测软件运行出现错误时,也无法及时地了解被测软件的错误情况,不便于测试人员对错误的排查和分析。
发明内容
本发明实施例提供了一种软件测试方法、相关系统及计算机可读存储介质,用以解决现有技术中的软件测试方法存在灵活性和调试效率较差,无法实时反应被测软件的运行情况,以及不便对被测软件的错误进行分析和排查的问题。
本发明实施例提供的具体技术方案如下:
一种软件测试方法,包括:
接收针对被测软件发起的变量设置指令,并获取变量设置指令所指示的各个观测变量;
针对各个观测变量向基础系统发送数据采集指令,以指示基础系统在被测软件的运行过程中采集各个观测变量对应的运行数据;
接收基础系统返回的各个观测变量对应的运行数据,并基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常。
较佳的,针对各个观测变量向基础系统发送数据采集指令,包括:
基于预先建立的观测变量与数据采集地址之间的映射关系,确定各个观测变量对应的数据采集地址,并将各个观测变量对应的数据采集地址携带在数据采集指令中发送至基础系统。
较佳的,在基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常的过程中,该软件测试方法还包括:
基于各个观测变量对应的运行数据,分别为各个观测变量绘制相应的数据分析图,并将各个观测变量对应的数据分析图显示在预设数据显示区域。
较佳的,该软件测试方法还包括:
若检测出被测软件在运行过程中出现异常,则向基础系统发送暂停测试指令,以指示基础系统控制被测软件暂停运行并暂停采集各个观测变量对应的运行数据。
一种软件测试方法,通过预先针对被测软件划分出的任务分区执行以下操作:
实时监测测试系统针对被测软件发送的数据采集指令;
若监测到测试系统发送的数据采集指令,则获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据;
将各个观测变量对应的运行数据返回至测试系统,以便测试系统基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常。
较佳的,获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据,包括:
获取数据采集指令中携带的各个观测变量对应的数据采集地址,并将各个观测变量对应的数据采集地址保存至预设存储区域;
在被测软件的运行过程中,周期性地从预设存储区域中读取各个观测变量对应的数据采集地址,并基于各个观测变量对应的数据采集地址,采集各个观测变量对应的运行数据。
较佳的,该软件测试方法还包括:
接收测试系统发送的暂停测试指令,其中,暂停测试指令是测试系统在检测出被测软件在运行过程中出现异常的情况下发送的;
控制被测软件暂停运行,并暂停采集各个观测变量对应的运行数据。
一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行上述软件测试方法。
一种测试系统,包括:
获取模块,用于接收针对被测软件发起的变量设置指令,并获取变量设置指令所指示的各个观测变量;
指示模块,用于针对各个观测变量向基础系统发送数据采集指令,以指示基础系统在被测软件的运行过程中采集各个观测变量对应的运行数据;
检测模块,用于接收基础系统返回的各个观测变量对应的运行数据,并基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常。
较佳的,在针对各个观测变量向基础系统发送数据采集指令时,指示模块具体用于:
基于预先建立的观测变量与数据采集地址之间的映射关系,确定各个观测变量对应的数据采集地址,并将各个观测变量对应的数据采集地址携带在数据采集指令中发送至基础系统。
较佳的,该测试系统还包括绘图模块,其中,
绘图模块,用于在检测模块基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常的过程中,基于各个观测变量对应的运行数据,分别为各个观测变量绘制相应的数据分析图,并将各个观测变量对应的数据分析图显示在预设数据显示区域。
较佳的,指示模块还用于:
若检测模块检测出被测软件在运行过程中出现异常,则向基础系统发送暂停测试指令,以指示基础系统控制被测软件暂停运行并暂停采集各个观测变量对应的运行数据。
一种基础系统,包括:
划分模块,用于针对被测软件划分任务分区;
执行模块,用于通过划分模块针对被测软件划分出的任务分区执行以下操作:实时监测测试系统针对被测软件发送的数据采集指令;若监测到测试系统发送的数据采集指令,则获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据;将各个观测变量对应的运行数据返回至测试系统,以便测试系统基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常。
较佳的,在获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据时,执行模块具体用于:
获取数据采集指令中携带的各个观测变量对应的数据采集地址,并将各个观测变量对应的数据采集地址保存至预设存储区域;
在被测软件的运行过程中,周期性地从预设存储区域中读取各个观测变量对应的数据采集地址,并基于各个观测变量对应的数据采集地址,采集各个观测变量对应的运行数据。
较佳的,执行模块还用于:
接收测试系统发送的暂停测试指令,其中,暂停测试指令是测试系统在检测出被测软件在运行过程中出现异常的情况下发送的;
控制被测软件暂停运行,并暂停采集各个观测变量对应的运行数据。
一种软件测试系统,包括测试系统,以及基础系统,其中,
测试系统,用于接收针对被测软件发起的变量设置指令,并获取变量设置指令所指示的各个观测变量;针对各个观测变量向基础系统发送数据采集指令;接收基础系统返回的各个观测变量对应的运行数据,并基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常;
基础系统,用于通过预先针对被测软件划分出的任务分区执行以下操作:实时监测测试系统针对被测软件发送的数据采集指令;若监测到测试系统发送的数据采集指令,则获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据;以及将各个观测变量对应的运行数据返回至测试系统。
较佳的,在针对各个观测变量向基础系统发送数据采集指令时,测试系统具体用于:
基于预先建立的观测变量与数据采集地址之间的映射关系,确定各个观测变量对应的数据采集地址,并将各个观测变量对应的数据采集地址携带在数据采集指令中发送至基础系统。
较佳的,在获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据时,基础系统具体用于:
获取数据采集指令中携带的各个观测变量对应的数据采集地址,并将各个观测变量对应的数据采集地址保存至预设存储区域;
在被测软件的运行过程中,周期性地从预设存储区域中读取各个观测变量对应的数据采集地址,并基于各个观测变量对应的数据采集地址,采集各个观测变量对应的运行数据。
较佳的,在基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常的过程中,测试系统还用于:
基于各个观测变量对应的运行数据,分别为各个观测变量绘制相应的数据分析图,并将各个观测变量对应的数据分析图显示在预设数据显示区域。
较佳的,测试系统还用于:若检测出被测软件在运行过程中出现异常,则向基础系统发送暂停测试指令,以指示基础系统控制被测软件暂停运行并暂停采集各个观测变量对应的运行数据。
较佳的,基础系统还用于:接收测试系统发送的暂停测试指令,其中,暂停测试指令是测试系统在检测出被测软件在运行过程中出现异常的情况下发送的;控制被测软件暂停运行,并暂停采集各个观测变量对应的运行数据。
本发明实施例的有益效果如下:
本发明实施例中,通过向测试系统发起变量设置指令,即可设置被测软件对应的各个观测变量,无需将各个观测变量编译并固化在被测软件中,同样的,若要更改被测软件对应的各个观测变量,也无需重新编译、修改和固化被测软件的源代码,重新向测试系统发起变量设置指令即可,从而实现了观测变量的随时更改,灵活性较强,测试效率较高,而且,通过基础系统的任务分区,来执行变量设置指令的监测以及运行数据的采集,不仅可以及时地获取到测试系统发送的各个观测变量,还可以及时地采集到各个观测变量对应运行数据,从而使得基础系统返回给测试系统的运行数据能够实时地反应出被测软件的运行情况,进而,给测试系统提供了良好的数据基础,方便了测试系统对被测软件的错误分析和排查。
附图说明
图1为本发明实施例一中软件测试系统的结构示意图;
图2A为本发明实施例二中软件测试方法的概况流程示意图;
图2B为本发明实施例二中用户操作界面示意图;
图2C为本发明实施例二中数据显示管理界面示意图;
图3为本发明实施例三中软件测试方法的具体流程示意图;
图4为本发明实施例四中测试系统的功能结构示意图;
图5为本发明实施例五中基础系统的功能结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中的软件测试方法存在灵活性和调试效率较差,无法实时反应被测软件的运行情况,以及不便对被测软件的错误进行分析和排查的问题,本发明实施例中,测试系统接收针对被测软件发起的变量设置指令,并针对该变量设置指令所指示的各个观测变量,向基础系统发起数据采集指令;基础系统通过预先针对被测软件划分出的任务分区,实时监测测试系统发起的数据采集指令,若监测到数据采集指令,则获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据,以及将各个观测变量对应的运行数据返回至测试系统;测试系统基于基础系统返回的各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常。这样,测试人员通过向测试系统发起变量设置指令,即可设置被测软件对应的各个观测变量,无需将各个观测变量编译并固化在被测软件中,同样的,若要更改被测软件对应的各个观测变量,也无需重新编译、修改和固化被测软件的源代码,重新向测试系统发起变量设置指令即可,从而实现了观测变量的随时更改,灵活性较强,测试效率较高,而且,通过基础系统的任务分区,来执行变量设置指令的监测以及运行数据的采集,不仅可以及时地获取到测试系统发送的各个观测变量,还可以及时地采集到各个观测变量对应运行数据,从而使得基础系统返回给测试系统的运行数据能够实时地反应出被测软件的运行情况,进而,给测试系统提供了良好的数据基础,方便了测试系统对被测软件的错误分析和排查。
下面通过具体实施例对本发明方案进行详细描述,当然,本发明并不限于以下实施例,此外,以下实施例中的基础系统可以是但不限于是Vxworks,道系统等,在具体实施时,可以以基础系统是道系统为最佳实施例。
实施例一
本发明实施例一提供了一种软件测试系统,参阅图1所示,该软件测试系统至少包括测试系统101,以及基础系统102,其中,
测试系统101,用于接收针对被测软件发起的变量设置指令,并获取变量设置指令所指示的各个观测变量;针对各个观测变量向基础系统102发送数据采集指令;接收基础系统102返回的各个观测变量对应的运行数据,并基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常;
基础系统102,用于通过预先针对被测软件划分出的任务分区执行以下操作:实时监测测试系统101针对被测软件发送的数据采集指令;若监测到测试系统101发送的数据采集指令,则获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据;以及将各个观测变量对应的运行数据返回至测试系统101。
较佳的,在针对各个观测变量向基础系统102发送数据采集指令时,测试系统101具体用于:
基于预先建立的观测变量与数据采集地址之间的映射关系,确定各个观测变量对应的数据采集地址,并将各个观测变量对应的数据采集地址携带在数据采集指令中发送至基础系统102。
较佳的,在获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据时,基础系统102具体用于:
获取数据采集指令中携带的各个观测变量对应的数据采集地址,并将各个观测变量对应的数据采集地址保存至预设存储区域;
在被测软件的运行过程中,周期性地从预设存储区域中读取各个观测变量对应的数据采集地址,并基于各个观测变量对应的数据采集地址,采集各个观测变量对应的运行数据。
较佳的,在基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常的过程中,测试系统101还用于:
基于各个观测变量对应的运行数据,分别为各个观测变量绘制相应的数据分析图,并将各个观测变量对应的数据分析图显示在预设数据显示区域。
较佳的,测试系统101还用于:若检测出被测软件在运行过程中出现异常,则向基础系统102发送暂停测试指令,以指示基础系统102控制被测软件暂停运行并暂停采集各个观测变量对应的运行数据。
较佳的,基础系统102还用于:接收测试系统101发送的暂停测试指令,其中,暂停测试指令是测试系统101在检测出被测软件在运行过程中出现异常的情况下发送的;控制被测软件暂停运行,并暂停采集各个观测变量对应的运行数据。
实施例二
基于上述实施例一提供的软件测试系统,本发明实施例二提供了一种软件测试方法,参阅图2A所示,该软件测试方法的流程如下:
步骤201:测试系统接收针对被测软件发起的变量设置指令,并获取变量设置指令所指示的各个观测变量。
在具体实施时,测试系统可向测试人员提供一个如图2B所示的用户操作界面,该用户操作界面上可以包含但不限于:分区选择区域,变量选择区域,变量显示区域,确定选择图标,以及取消操作图标,等等。其中,分区选择区域用于显示包含基础系统划分的各个任务分区的分区名称的分区选择下拉菜单(其中,各个任务分区的分区名称可以是基础系统划分完各个任务分区后上报至测试系统的,也可以是测试系统从基础系统中获取的,具体实现方式在此不作具体限定);变量选择区域用于显示变量输入框,包含被测软件对应的所有变量的变量列表(其中,被测软件对应的所有变量是预先配置在测试系统中的),以及加入变量图标;变量显示区域用于显示测试人员选择的各个观测变量,即变量选择列表,以及移除变量图标。
在实际应用中,测试人员可通过该分区选择下拉菜单,选择被测软件对应的任务分区;通过在变量输入框中输入观测变量并点击加入变量图标,来选取被测软件对应的各个观测变量,当然,测试人员也可以通过在变量列表中选取观测变量并点击加入变量图标,来选择被测软件对应的各个观测变量;在测试人员选择观测变量的过程中,变量显示区域会显示出测试人员选择的每一个观测变量,即显示出变量选择列表;测试人员还可通过在变量选择列表中选择观测变量并点击移除变量图标,来移除被选择的观测变量;通过点击取消操作图标,取消选择操作;通过点击确定选择图标,向测试系统发起变量设置指令,其中,该变量设置指令中至少携带有测试人员选择的各个观测变量。
步骤202:测试系统针对各个观测变量向基础系统发送数据采集指令,以指示基础系统在被测软件的运行过程中采集各个观测变量对应的运行数据。
在实际应用中,基础系统一般只能识别地址信息,因此,为了确保基础系统能够准确地采集到各个观测变量的运行数据,可以预先建立观测变量与数据采集地址之间的映射关系,测试系统在获取到变量设置指令所指示的各个观测变量后,即可基于预先建立的观测变量与数据采集地址之间的映射关系,确定获得的各个观测变量对应的数据采集地址,并将各个观测变量对应的数据采集地址携带在数据采集指令中发送至基础系统,这样,基础系统就可以根据各个观测变量对应的数据采集地址,快速准确地采集到各个观测变量对应的运行数据。
步骤203:基础系统通过预先针对被测软件划分出的任务分区执行以下操作:实时监测测试系统针对被测软件发送的数据采集指令;若监测到测试系统发送的数据采集指令,则获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据;以及,将各个观测变量对应的运行数据返回至测试系统。
值得说的是,为了避免各个任务分区相互干扰,确保各个任务分区稳定运行,基础系统可以为各个任务分区分别配置相应的运行周期,各个任务分区只能在各自对应的运行周期内运行,而在各自对应的运行周期外暂停运行。基于此,基础系统在通过预先针对被测软件划分出的任务分区,获取到数据采集指令中携带的各个观测变量对应的数据采集地址后,为了确保在该任务分区对应的每一个运行周期内都可以快速准确地读取到各个观测变量对应的数据采集地址,基础系统还可以将各个观测变量对应的数据采集地址保存至预设存储区域,这样,在该任务分区对应的每一个运行周期内,基础系统都可以从预设存储区域中读取到各个观测变量对应的数据采集地址。
此外,为了在更改观测变量后,基础系统能够及时地获取到更改后的各个观测变量对应的数据采集地址,在该任务分区对应的每一个运行周期内,基础系统可以在被测软件的运行过程中周期性地从预设存储区域中读取各个观测变量对应的数据采集地址,并基于各个观测变量对应的数据采集地址,采集各个观测变量所对应的运行数据,以及将采集到的各个观测变量所对应的运行数据返回至测试系统,这样,即使更改了观测变量,基础系统也可以及时地获取到更改后的各个观测变量对应的数据采集地址,从而保证了获取到的各个观测变量对应的运行数据的准确性和实时性,进而,确保了返回给测试系统的运行数据能够实时地反应出被测软件的运行情况,给测试系统提供了良好的数据基础,方便了测试系统对被测软件的错误分析和排查。
步骤204:测试系统接收基础系统返回的各个观测变量对应的运行数据,并基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常。
在具体实施时,在测试人员点击显示在用户操作界面上的确定选择图标之后,测试系统还可以将用户操作界面切换至如图2C所示的数据显示管理界面,该数据显示管理界面可以包含但不限于:数据管理区域,数据显示区域,数据控制区域,测试结果显示区域,以及返回上一级图标,等等。其中,数据管理区域用于显示数据管理菜单,该数据管理菜单可以包括但不限于数据查找,数据保存,数据删除等,测试人员可通过该数据管理菜单,针对被测软件的运行数据执行相应的管理操作;数据控制区域用于显示数据控制菜单,该数据控制菜单可以包括但不限于暂停数据显示,继续数据显示,暂停采集数据,继续采集数据等,测试人员可通过该数据控制菜单针对被测软件的运行数据执行相应的控制操作;测试结果显示区域用于显示被测软件的测试结果;数据显示区域用于显示基础系统返回的各个观测变量对应的运行数据;返回上一级图标用于返回用户操作界面。
在实际应用中,测试系统在接收到基础系统返回的各个观测变量对应的运行数据的情况下,可以针对接收到的各个观测变量对应的运行数据进行分析,若确定各个观测变量对应的运行数据均符合针对相应观测变量设定的正常条件,则认定该被测软件在运行过程中未出现异常;若确定任意一个观测变量对应的运行数据不符合针对该观测变量设定的正常条件,则认定该被测软件在运行过程中出现异常。较佳的,测试系统还可以将被测软件在运行过程中是否出现异常的测试结果显示在数据显示管理界面上的测试结果显示区域中。
较佳的,为了使得测试人员能够简单明了地确定该被测软件在运行过程中是否出现异常,测试系统在接收到基础系统返回的各个观测变量对应的运行数据时,可以在数据显示管理界面上的数据显示区域中,以数据分析图的形式显示基础系统返回的各个观测变量对应的运行数据,具体为,测试系统根据接收到的各个观测变量对应的运行数据,分别为各个观测变量绘制相应的数据分析图,并将各个观测变量对应的数据分析图显示在数据显示管理界面上的数据显示区域,可选地,可以直接将各个观测变量对应的数据分析图显示在数据显示区域,也可以根据观测变量的数目,将数据显示区域划分为相应数目的数据显示子区域,并将各个观测变量对应的数据分析图分别显示在不同的数据显示子区域上,具体显示方式在此不作具体限定。
进一步地,测试系统在确定被测软件在运行过程中出现异常时,为了能够及时地暂停被测软件的运行和数据采集,测试系统还可以向基础系统发送暂停测试指令,基础系统在接收到测试系统发送的暂停测试指令时,控制被测软件暂停运行,并暂停采集各个观测变量对应的运行数据。
较佳的,为了方便测试系统分析被测软件在运行过程中出现异常的原因,基础系统在接收到测试系统发送的暂停测试指令时,在控制被测软件暂停运行并暂停采集各个观测变量对应的运行数据之前,还可以采集在被测软件出现异常时被测软件对应的所有变量(其中,这里的变量不仅限于变量设置指令所指示的各个观测变量,还可以包括被测软件对应的其他变量)的运行数据,并将采集到的所有变量对应的运行数据返回至测试系统,这样,测试系统就可以针对在被测软件出现异常时该被测软件对应的所有变量的运行数据进行综合全面地分析,从而定位出被测软件出现异常的具体原因。
实施例三
下面采用具体的应用场景对上述实施例二提供的软件测试方法作进一步详细说明,参阅图3所示,本发明实施例三中,软件测试方法的具体流程如下:
步骤301:测试人员在测试系统的用户操作界面选择被测软件对应的各个观测变量,并通过点击确定选择图标,向测试系统发送变量设置指令。
具体地,测试人员可以通过在变量输入框中输入观测变量并点击加入变量图标,来选取被测软件对应的各个观测变量,也可以通过在变量列表中选取观测变量并点击加入变量图标,来选择被测软件对应的各个观测变量。
步骤302:测试系统接收到变量设置指令时,将用户操作界面切换至数据显示管理界面,并获取该变量设置指令所指示的各个观测变量。
步骤303:测试系统基于预先建立的观测变量与数据采集地址之间的映射关系,确定获得的各个观测变量对应的数据采集地址,并将各个观测变量对应的数据采集地址携带在数据采集指令中发送至基础系统。
步骤304:基础系统通过预先针对被测软件划分出的任务分区,实时监测测试系统发送的数据采集指令,并执行下述步骤305至步骤307。
步骤305:基础系统若监测到测试系统发送的数据采集指令,则获取该数据采集指令中携带的各个观测变量对应的数据采集地址,并将获得的各个观测变量对应的数据采集地址保存至预设存储区域。
步骤306:基础系统在被测软件的运行过程中,周期性地从预设存储区域中读取各个观测变量对应的数据采集地址,并基于各个观测变量对应的数据采集地址,采集各个观测变量对应的运行数据。
步骤307:基础系统周期性地将采集到的各个观测变量对应的运行数据返回至测试系统。
步骤308:测试系统接收到基础系统返回的各个观测变量对应的运行数据时,对接收到的各个观测变量对应的运行数据进行分析,并为各个观测变量分别绘制相应的数据分析图。
步骤309:测试系统将各个观测变量对应的数据分析图显示在数据显示管理界面上的数据显示区域中,并将该被测软件在运行过程中是否出现异常的测试结果显示在数据显示管理界面上的测试结果显示区域中。
步骤310:测试系统若确定被测软件在运行过程中出现异常,则向基础系统发送暂停测试指令。
步骤311:基础系统接收到测试系统发送的暂停测试指令时,采集在被测软件出现异常时该被测软件对应的所有观测变量的运行数据,并将采集到的所有观测变量对应的运行数据返回至测试系统,以及控制被测软件暂停运行并暂停采集运行数据。
步骤312:测试系统针对接收到的所有观测变量对应的运行数据进行综合全面地分析,并定位出该被测软件出现异常的具体原因。
实施例四
本发明实施例四提供了一种测试系统,参阅图4所示,该测试系统至少包括:
获取模块401,用于接收针对被测软件发起的变量设置指令,并获取变量设置指令所指示的各个观测变量;
指示模块402,用于针对各个观测变量向基础系统发送数据采集指令,以指示基础系统在被测软件的运行过程中采集各个观测变量对应的运行数据;
检测模块403,用于接收基础系统返回的各个观测变量对应的运行数据,并基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常。
较佳的,在针对各个观测变量向基础系统发送数据采集指令时,指示模块402具体用于:
基于预先建立的观测变量与数据采集地址之间的映射关系,确定各个观测变量对应的数据采集地址,并将各个观测变量对应的数据采集地址携带在数据采集指令中发送至基础系统。
较佳的,该测试系统还包括绘图模块404,其中,
绘图模块404,用于在检测模块403基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常的过程中,基于各个观测变量对应的运行数据,分别为各个观测变量绘制相应的数据分析图,并将各个观测变量对应的数据分析图显示在预设数据显示区域。
较佳的,指示模块402还用于:
若检测模块403检测出被测软件在运行过程中出现异常,则向基础系统发送暂停测试指令,以指示基础系统控制被测软件暂停运行并暂停采集各个观测变量对应的运行数据。
实施例五
本发明实施例五提供了一种基础系统,参阅图5所示,该基础系统至少包括:
划分模块501,用于针对被测软件划分任务分区;
执行模块502,用于通过划分模块501针对被测软件划分出的任务分区执行以下操作:实时监测测试系统针对被测软件发送的数据采集指令;若监测到测试系统发送的数据采集指令,则获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据;将各个观测变量对应的运行数据返回至测试系统,以便测试系统基于各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常。
较佳的,在获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据时,执行模块502具体用于:
获取数据采集指令中携带的各个观测变量对应的数据采集地址,并将各个观测变量对应的数据采集地址保存至预设存储区域;
在被测软件的运行过程中,周期性地从预设存储区域中读取各个观测变量对应的数据采集地址,并基于各个观测变量对应的数据采集地址,采集各个观测变量对应的运行数据。
较佳的,执行模块503还用于:
接收测试系统发送的暂停测试指令,其中,暂停测试指令是测试系统在检测出被测软件在运行过程中出现异常的情况下发送的;
控制被测软件暂停运行,并暂停采集各个观测变量对应的运行数据。
实施例六
在介绍了本发明示例性实施方式的方法和相关系统之后,接下来,对本发明示例性实施方式的用于软件测试的计算机可读存储介质进行介绍。本发明实施例六提供了一种计算机可读存储介质,该非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述软件测试方法的步骤。
综上所述,本发明实施例中,测试系统接收针对被测软件发起的变量设置指令,并针对该变量设置指令所指示的各个观测变量,向基础系统发起数据采集指令;基础系统通过预先针对被测软件划分出的任务分区,实时监测测试系统发起的数据采集指令,若监测到数据采集指令,则获取数据采集指令所指示的各个观测变量,并在被测软件的运行过程中采集各个观测变量对应的运行数据,以及将各个观测变量对应的运行数据返回至测试系统;测试系统基于基础系统返回的各个观测变量对应的运行数据,检测被测软件在运行过程中是否出现异常。这样,测试人员通过向测试系统发起变量设置指令,即可设置被测软件对应的各个观测变量,无需将各个观测变量编译并固化在被测软件中,同样的,若要更改被测软件对应的各个观测变量,也无需重新编译、修改和固化被测软件的源代码,重新向测试系统发起变量设置指令即可,从而实现了观测变量的随时更改,灵活性较强,测试效率较高,而且,通过基础系统的任务分区,来执行变量设置指令的监测以及运行数据的采集,不仅可以及时地获取到测试系统发送的各个观测变量,还可以及时地采集到各个观测变量对应运行数据,从而使得基础系统返回给测试系统的运行数据能够实时地反应出被测软件的运行情况,进而,给测试系统提供了良好的数据基础,方便了测试系统对被测软件的错误分析和排查。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种软件测试方法,其特征在于,包括:
接收针对被测软件发起的变量设置指令,并获取所述变量设置指令所指示的各个观测变量;
针对所述各个观测变量向基础系统发送数据采集指令,以指示所述基础系统通过预先针对所述被测软件划分出的任务分区,在所述任务分区对应的运行周期内周期性地采集所述被测软件的运行过程中所述各个观测变量对应的运行数据;
接收所述基础系统返回的所述各个观测变量对应的运行数据,并基于所述各个观测变量对应的运行数据,检测所述被测软件在运行过程中是否出现异常。
2.如权利要求1所述的软件测试方法,其特征在于,针对所述各个观测变量向所述基础系统发送数据采集指令,包括:
基于预先建立的观测变量与数据采集地址之间的映射关系,确定所述各个观测变量对应的数据采集地址,并将所述各个观测变量对应的数据采集地址携带在所述数据采集指令中发送至所述基础系统。
3.如权利要求1所述的软件测试方法,其特征在于,在基于所述各个观测变量对应的运行数据,检测所述被测软件在运行过程中是否出现异常的过程中,所述软件测试方法还包括:
基于所述各个观测变量对应的运行数据,分别为所述各个观测变量绘制相应的数据分析图,并将所述各个观测变量对应的数据分析图显示在预设绘图显示区域。
4.如权利要求1-3任一项所述的软件测试方法,其特征在于,所述软件测试方法还包括:
若检测出所述被测软件在运行过程中出现异常,则向所述基础系统发送暂停测试指令,以指示所述基础系统控制所述被测软件暂停运行并暂停采集所述各个观测变量对应的运行数据。
5.一种软件测试方法,其特征在于,通过预先针对被测软件划分出的任务分区,在所述任务分区对应的运行周期内执行以下操作:
实时监测测试系统针对所述被测软件发送的数据采集指令;
若监测到所述测试系统发送的数据采集指令,则获取所述数据采集指令所指示的各个观测变量,并在所述被测软件的运行过程中周期性地采集所述各个观测变量对应的运行数据;
将所述各个观测变量对应的运行数据返回至所述测试系统,以便所述测试系统基于所述各个观测变量对应的运行数据,检测所述被测软件在运行过程中是否出现异常。
6.如权利要求5所述的软件测试方法,其特征在于,获取所述数据采集指令所指示的各个观测变量,并在所述被测软件的运行过程中周期性地采集所述各个观测变量对应的运行数据,包括:
获取所述数据采集指令中携带的所述各个观测变量对应的数据采集地址,并将所述各个观测变量对应的数据采集地址保存至预设存储区域;
在所述被测软件的运行过程中,周期性地从所述预设存储区域中读取所述各个观测变量对应的数据采集地址,并基于所述各个观测变量对应的数据采集地址,采集所述各个观测变量对应的运行数据。
7.如权利要求5-6任一项所述的软件测试方法,其特征在于,所述软件测试方法还包括:
接收所述测试系统发送的暂停测试指令,其中,所述暂停测试指令是所述测试系统在检测出所述被测软件在运行过程中出现异常的情况下发送的;
控制所述被测软件暂停运行,并暂停采集所述各个观测变量对应的运行数据。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如权利要求1-4任一项所述的软件测试方法;和/或,执行如权利要求5-7任一项所述的软件测试方法。
9.一种测试系统,其特征在于,包括:
获取模块,用于接收针对被测软件发起的变量设置指令,并获取所述变量设置指令所指示的各个观测变量;
指示模块,用于针对所述各个观测变量向基础系统发送数据采集指令,以指示所述基础系统通过预先针对所述被测软件划分出的任务分区,在所述任务分区对应的运行周期内采集所述被测软件的运行过程中周期性地所述各个观测变量对应的运行数据;
检测模块,用于接收所述基础系统返回的所述各个观测变量对应的运行数据,并基于所述各个观测变量对应的运行数据,检测所述被测软件在运行过程中是否出现异常。
10.一种基础系统,其特征在于,包括:
划分模块,用于针对被测软件划分任务分区;
执行模块,用于通过所述划分模块针对所述被测软件划分出的所述任务分区,在所述任务分区对应的运行周期内执行以下操作:实时监测测试系统针对所述被测软件发送的数据采集指令;若监测到所述测试系统发送的数据采集指令,则获取所述数据采集指令所指示的各个观测变量,并在所述被测软件的运行过程中周期性地采集所述各个观测变量对应的运行数据;将所述各个观测变量对应的运行数据返回至所述测试系统,以便所述测试系统基于所述各个观测变量对应的运行数据,检测所述被测软件在运行过程中是否出现异常。
11.一种软件测试系统,其特征在于,包括测试系统,以及基础系统,其中,
所述测试系统,用于接收针对被测软件发起的变量设置指令,并获取所述变量设置指令所指示的各个观测变量;针对所述各个观测变量向所述基础系统发起数据采集指令;接收所述基础系统返回的所述各个观测变量对应的运行数据,并基于所述各个观测变量对应的运行数据,检测所述被测软件在运行过程中是否出现异常;
所述基础系统,用于通过预先针对被测软件划分出的任务分区,在所述任务分区对应的运行周期内执行以下操作:实时监测所述测试系统针对所述被测软件发起的数据采集指令;若监测到所述测试系统发起的数据采集指令,则获取所述数据采集指令所指示的各个观测变量,并在所述被测软件的运行过程中周期性地采集所述各个观测变量对应的运行数据;以及将所述各个观测变量对应的运行数据返回至所述测试系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711099744.3A CN107992406B (zh) | 2017-11-09 | 2017-11-09 | 一种软件测试方法、相关系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711099744.3A CN107992406B (zh) | 2017-11-09 | 2017-11-09 | 一种软件测试方法、相关系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107992406A CN107992406A (zh) | 2018-05-04 |
CN107992406B true CN107992406B (zh) | 2020-11-13 |
Family
ID=62030324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711099744.3A Active CN107992406B (zh) | 2017-11-09 | 2017-11-09 | 一种软件测试方法、相关系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107992406B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175124A (zh) * | 2019-05-23 | 2019-08-27 | 深圳前海微众银行股份有限公司 | 一种诊断Spark应用的方法及装置 |
CN112835773B (zh) * | 2019-11-25 | 2023-08-11 | 合肥欣奕华智能机器股份有限公司 | 一种操作系统中任务运行实时性的评估方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10235267B2 (en) * | 2015-08-13 | 2019-03-19 | Molbase (Shanghai) Biotechnology Co., Ltd. | Online testing system and method thereof |
CN105426299B (zh) * | 2015-10-10 | 2018-03-06 | 中国运载火箭技术研究院 | 一种基于工作流技术的测试数据实时判读系统 |
CN106326107B (zh) * | 2016-07-27 | 2019-03-08 | 北京计算机技术及应用研究所 | 基于仿真环境的非侵入式嵌入式软件异常处理验证方法 |
-
2017
- 2017-11-09 CN CN201711099744.3A patent/CN107992406B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107992406A (zh) | 2018-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9864676B2 (en) | Bottleneck detector application programming interface | |
CN104391795B (zh) | 一种分布式系统中自动化测试覆盖率的测试方法及系统 | |
EP2960799A1 (en) | Defect localization in software integration tests | |
US7636871B1 (en) | Method for comparing customer and test load data with comparative functional coverage hole analysis | |
CN103246602A (zh) | 代码覆盖率确定方法及系统、代码覆盖检测方法及系统 | |
TWI566090B (zh) | Debugging firmware / software to produce tracking systems and methods, recording media and computer program products | |
CN107992406B (zh) | 一种软件测试方法、相关系统及计算机可读存储介质 | |
US11422920B2 (en) | Debugging multiple instances of code using thread patterns | |
CN108681506B (zh) | 一种压力测试方法及装置 | |
CN104123397A (zh) | Web页面的自动化测试装置及方法 | |
Wienke et al. | Results of the survey: failures in robotics and intelligent systems | |
US10409636B2 (en) | Apparatus and method to correct an execution time of a program executed by a virtual machine | |
CN114638096A (zh) | 一种程序变量间的逻辑展示方法、装置、设备及存储介质 | |
CN107168778B (zh) | 一种任务处理方法及任务处理装置 | |
CN105095093A (zh) | 一种智能终端性能测试方法及系统 | |
CN109634851A (zh) | 一种系统级实时获取被测程序内部运行数据的方法 | |
CN106940772B (zh) | 变量对象的跟踪方法及装置 | |
Ma et al. | A vector table model-based systematic analysis of spectral fault localization techniques | |
CN114327963A (zh) | 一种异常检测方法及装置 | |
CN107665166B (zh) | 信息系统的功能检测方法及系统 | |
CN102880457B (zh) | 一种对数据进行处理的方法和设备 | |
CN114297666B (zh) | 一种基于模糊测试的云部署自动化漏洞挖掘系统 | |
CN111240963B (zh) | 软件缺陷的信息展示方法、装置、电子设备和存储介质 | |
CN116594750A (zh) | 一种函数调用收集方法、装置、设备、存储介质及产品 | |
US20170220450A1 (en) | Analytic method and analyzing apparatus |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20180504 Assignee: Kedong (Guangzhou) Software Technology Co., Ltd Assignor: Beijing Dongtu Technology Co., Ltd.|Beijing keyin Jingcheng Technology Co., Ltd Contract record no.: X2020980000255 Denomination of invention: Software test method, related system and computer readable storage medium License type: Exclusive License Record date: 20200218 |
|
GR01 | Patent grant | ||
GR01 | Patent grant |