CN107656872A - 软件测试方法、装置、设备和计算机存储介质 - Google Patents
软件测试方法、装置、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN107656872A CN107656872A CN201710928075.XA CN201710928075A CN107656872A CN 107656872 A CN107656872 A CN 107656872A CN 201710928075 A CN201710928075 A CN 201710928075A CN 107656872 A CN107656872 A CN 107656872A
- Authority
- CN
- China
- Prior art keywords
- test
- software
- atom
- assignment
- information
- 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.)
- Granted
Links
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3692—Test management for test results analysis
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
技术领域
本发明涉及原子操作领域,尤其涉及软件测试方法、装置、设备和计算机存储介质。
背景技术
由于开发使用中软件的程序语句可能不够完善,在测试人员的使用过程中还需要进行完善。
软件在开发、使用中,都需要运营维护人员进行维护和健康检查,软件测试是指对软件进行常规的检测,并根据检测结果对软件进行修改使之优化完善,健康检查是指针对上线的软件,出现问题的改进,排除软件的安全隐患,现有的维护和健康检测都是运营维护人员进行检测,软件的维护时可能会出现手工操作存在误输入命令或者漏执行脚本的风险,软件管理效率较低风险性大,而健康检查是根据用户的使用过程中反馈问题,由运营维护人员进行检测,需要依赖反馈进行系统健康检查,这样的方式缺少自动发现的手段。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种软件测试方法、装置、设备和计算机存储介质,旨在利用原子操作降低软件测试的成本,提高软件测试的效率避免人为操作导致的误差。
为实现上述目的,本发明提供一种软件测试方法,软件测试方法包括以下步骤:
当检测到软件测试请求时,根据软件测试请求显示软件测试任务单,以供测试人员输入测试信息;
根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合;
当检测到软件测试的执行指令时,根据测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作。
可选地,当检测到软件测试请求时,根据软件测试请求显示软件测试任务单,以供测试人员输入测试信息的步骤之前,还包括:
根据软件测试的测试任务和测试步骤,确定软件测试的测试逻辑,以根据测试逻辑创建测试原子;
将创建的测试原子进行校验,并将校验通过的测试原子统计汇总,以生成测试原子库。
可选地,根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合的步骤包括:
根据测试信息确定测试任务,并判断测试任务是否满足测试步骤分解的条件;
若测试任务满足测试步骤分解的条件,则将测试任务进行分解,并将分解的测试步骤作为测试任务单元;
根据测试任务单元调用预置测试原子库中的测试原子,将调用的测试原子配置形成测试原子子集合,并将测试原子子集合组成测试任务的测试原子集合。
可选地,根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合的步骤之后,还包括:
当检测到测试原子集合配置完成后,获取测预设执行参数;
将预设执行参数输入测试原子集合中,并执行测试原子集合中的测试原子,以根据执行结果判断测试原子集合是否有效;
若测试原子集合有效,则判断是否采集到软件测试的执行指令,若测试原子集合无效,则返回执行根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合的步骤。
可选地,当检测到软件测试的执行指令时,根据测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作的步骤之后,包括:
当检测到软件测试原子操作完成时,获取测试结果并输入至测试报告模板中,以生成测试日志;
将测试日志中的测试结果与预存理论结果进行比对,判断测试结果是否异常,若测试结果异常,则标记异常的测试结果。
可选地,将测试日志中的测试结果与预存理论结果进行比对,判断测试结果是否异常,若测试结果异常,则标记异常的测试结果的步骤之后,还包括:
当检测到软件维护的请求时,获取测试日志中的标记异常的测试结果;
根据标记异常的测试结果追溯测试原子集合中输出异常测试结果的测试原子,以使测试人员根据测试原子与软件功能块之间的映射关系,对测试软件进行维护。
可选地,当检测到软件测试请求时,根据软件测试请求显示软件测试任务单,以供测试人员输入测试信息的步骤之后,还包括:
获取输入的测试信息,判断测试信息中是否包含时间任务;
若测试信息中不包含时间任务,则触发执行根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合;
若测试信息中包含时间任务,则在时间任务的时间节点时根据测试信息中的测试任务调用预置测试原子库中的测试原子;
将调用的测试原子配置形成测试原子集合,以根据测试原子集合进行定时的软件测试。
为实现上述目的,本发明提供一种软件测试装置,软件测试装置包括:
检测输入模块,用于当检测到软件测试请求时,根据软件测试请求显示软件测试任务单,以供测试人员输入测试信息;
调用配置模块,用于根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合;
执行配置模块,用户当检测到软件测试的执行指令时,根据测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作。
为实现上述目的,本发明还提供一种软件测试设备,软件测试设备包括:软件测试装置、存储器、处理器及存储在存储器上并可在处理器上运行的软件测试应用程序,其中:
软件测试应用程序被处理器执行时实现上述的软件测试方法的步骤。
为实现上述目的,本发明还提供一种计算机存储介质,计算机存储介质上存储有软件测试应用程序,软件测试应用程序被处理器执行时实现上述的软件测试方法的步骤。
本发明实施例提出的一种软件测试方法、装置、设备及计算机存储介质,软件测试方法包括以下步骤:当检测到软件测试请求时,根据软件测试请求显示软件测试任务单,以供测试人员输入测试信息;根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合;当检测到软件测试的执行指令时,根据测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作。与传统的软件测试相比本发明测试效率和测试精度更高,与单纯地创建原子通过原子操作进行软件测试相比,本发明中首先总结软件测试的测试步骤,创建测试原子生成测试原子库,在软件测试时可调用测试原子库中的测试原子,配置生成测试原子集合实现测试原子操作的自动化,减少了原子定制的成本投入;本发明中根据软件测试的测试任务调用预置测试原子库中的测试原子,配置形成测试集合,再调用测试人员在测试任务单输入的执行参数,实现软件测试的原子操作;提高了软件测试的效率,避免了由测试人员进行人工软件测试导致的测试误差,以此同时,可以在测试信息中添加时间任务,到达预置时间点时可进行测试的自动化原子操作,使软件测试更加灵活。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明软件测试方法第一实施例的流程示意图;
图3为本发明软件测试方法第二实施例的流程示意图;
图4为图2中软件测试方法的步骤S20的细化流程示意图;
图5为本发明软件测试方法第三实施例的流程示意图;
图6为本发明软件测试方法第四实施例的流程示意图;
图7为本发明软件测试装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
"原子操作(atomic operation)是不需要synchronized",所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何context switch(切换到另一个线程)如果这个操作所处的层(layer)的更高层不能发现其内部实现与结构,那么这个操作是一个原子(atomic)操作。
原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序不可以被打乱,也不可以被切割而只执行其中的一部分;将整个操作视作一个整体是原子性的核心特征;由于原子的不可分割性,每一个原子的中的步骤都是相对固定的,原子可以理解为执行在操作中不可被调用的逻辑语言(或者命令),在利用原子进行任务的原子操作时,大都需要单独的进行原子的制定,以实现任务的原子操作,因此现有的原子操作成本较高,在原子定制的过程中需要消耗大量的人力物力,以导致任务的原子操作并没有得到广泛地使用。
本发明中首先由测试人员或者开发人员根据总结软件测试的测试步骤,并将软件测试的测试步骤创建生成测试原子,并将测试原子汇总生成测试原子库,在进行具体指定软件测试时,确定软件测试的测试任务,并调用测试测试原子库中的测试原子配置形成针对指定软件的测试原子集合,并利用测试人员输入的测试信息进行软件测试的原子操作。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端可以是PC,也可以是智能手机、平板电脑、便携计算机等具有显示功能的可移动式终端设备,本发明中的软件测试方法依赖于如图1所示的终端。
如图1所示的终端包含有软件测试装置和/或软件测试设备(可以将本发明中软件测试装置理解为软件测试的虚拟模块,用于实现软件测试方法;将软件测试设备理解为软件测试的真实硬件),本发明涉及的软件测试装置和/或软件测试设备既可以作为终端的组成部件,也可以作为独立的部件,需要补充明的是:本发明中的软件测试装置、设备和计算机存储介质也可以用在服务器中,其中服务器为具有显示功能的计算机设备,还可以根据终端与服务器的通信连接,利用终端调用服务器中的软件测试应用程序实现终端中安装应用的软件测试。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的软件(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及软件测试应用程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的软件测试应用程序,并执行以下操作:
当检测到软件测试请求时,根据软件测试请求显示软件测试任务单,以供测试人员输入测试信息;
根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合;
当检测到软件测试的执行指令时,根据测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作。
进一步地,处理器1001可以调用存储器1005中存储的软件测试应用程序,还执行以下操作:
当检测到软件测试请求时,根据软件测试请求显示软件测试任务单,以供测试人员输入测试信息的步骤之前,还包括:
根据软件测试的测试任务和测试步骤,确定软件测试的测试逻辑,以根据测试逻辑创建测试原子;
将创建的测试原子进行校验,并将校验通过的测试原子统计汇总,以生成测试原子库。
进一步地,处理器1001可以调用存储器1005中存储的软件测试应用程序,还执行以下操作:
根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合的步骤包括:
根据测试信息确定测试任务,并判断测试任务是否满足测试步骤分解的条件;
若测试任务满足测试步骤分解的条件,则将测试任务进行分解,并将分解的测试步骤作为测试任务单元;
根据测试任务单元调用预置测试原子库中的测试原子,将调用的测试原子配置形成测试原子子集合,并将测试原子子集合组成测试任务的测试原子集合。
进一步地,处理器1001可以调用存储器1005中存储的软件测试应用程序,还执行以下操作:
根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合的步骤之后,还包括:
当检测到测试原子集合配置完成后,获取测预设执行参数;
将预设执行参数输入测试原子集合中,并执行测试原子集合中的测试原子,以根据执行结果判断测试原子集合是否有效;
若测试原子集合有效,则判断是否采集到软件测试的执行指令,若测试原子集合无效,则返回执行根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合的步骤。
进一步地,处理器1001可以调用存储器1005中存储的软件测试应用程序,还执行以下操作:
当检测到软件测试的执行指令时,根据测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作的步骤之后,包括:
当检测到软件测试原子操作完成时,获取测试结果并输入至测试报告模板中,以生成测试日志;
将测试日志中的测试结果与预存理论结果进行比对,判断测试结果是否异常,若测试结果异常,则标记异常的测试结果。
进一步地,处理器1001可以调用存储器1005中存储的软件测试应用程序,还执行以下操作:
将测试日志中的测试结果与预存理论结果进行比对,判断测试结果是否异常,若测试结果异常,则标记异常的测试结果的步骤之后,还包括:
当检测到软件维护的请求时,获取测试日志中的标记异常的测试结果;
根据标记异常的测试结果追溯测试原子集合中输出异常测试结果的测试原子,以使测试人员根据测试原子与软件功能块之间的映射关系,对测试软件进行维护。
进一步地,处理器1001可以调用存储器1005中存储的软件测试应用程序,还执行以下操作:
当检测到软件测试请求时,根据软件测试请求显示软件测试任务单,以供测试人员输入测试信息的步骤之后,还包括:
获取输入的测试信息,判断测试信息中是否包含时间任务;
若测试信息中不包含时间任务,则触发执行根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合;
若测试信息中包含时间任务,则在时间任务的时间节点时根据测试信息中的测试任务调用预置测试原子库中的测试原子;
将调用的测试原子配置形成测试原子集合,以根据测试原子集合进行定时的软件测试。
参照图2,本发明一种软件测试方法的第一实施例中,软件测试方法包括:
当检测到软件测试请求时,根据软件测试请求显示软件测试任务单,以供测试人员输入测试信息;
根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合;
当检测到软件测试的执行指令时,根据测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作。
在执行本实施例的执行依赖于预置测试原子库,其中预置测试原子库(测试原子库和数据库相同,测试原子库中保存的是测试原子,测试原子即执行测试操作对应的步骤),无效人工进行软件测试,提高软件测试效率。
步骤S10,当检测到软件测试请求时,根据软件测试请求显示软件测试任务单,以供测试人员输入测试信息。
测试人员测试终端的显示界面上,触发软件测试请求,测试终端上根据软件测试请求显示测试任务单(测试任务单:测试任务单与测试请求相对应,具体地,由于测试终端可用于测试不同的软件,不同的软件测试的任务不同,所涉及的需要测试的测试参数也不同,测试任务单中需要测试人员输入的测试信息有所不同),测试人员根据测试任务单的提示,对应输入测试信息,测试终端获取测试信息,并将输入的测试信息应用到软件测试请求的软件测试中。
步骤S20,根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合。
测试终端获取测试人员在测试任务单中输入的测试信息,根据测试信息确定软件测试的测试任务,测试终端根据确定测试任务确定测试步骤,具体地,测试终端模拟测试人员执行测试任务的步骤,确定完成该测试任务需要的测试步骤,并根据测试步骤确定完成测试步骤需要的测试指令;在测试终端确定测试任务后调用预置测试原子库中的测试原子(测试原子:测试原子可理解为一句或者多句测试命令语句,其中一句或者多句测试命令语句用于完成一个测试步骤或者多个测试步骤),根据测试任务和对应的测试步骤从预置原子库中调用的所需的测试原子,并将调用的测试原子配置形成测试原子集合。
需要补充说明的是:测试任务、测试步骤、测试原子和测试原子集合之间的关系;具体地一个测试任务中可能包含一个或者多个测试步骤,一个测试步骤中可能包含一个或者多个测试原子,一个测试测试原子集合中可能包含一个或者多个测试原子。
步骤S30,当检测到软件测试的执行指令时,根据测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作。
在测试终端检测到测试原子集合配置完成时,首先提供相应的测试环境对测试原子集合进行验证;具体地包括:
步骤a、当检测到测试原子集合配置完成后,获取测预设执行参数;
步骤b、将预设执行参数输入测试原子集合中,并执行测试原子集合中的测试原子,以根据执行结果判断测试原子集合是否有效;
步骤c、若测试原子集合有效,则判断是否采集到软件测试的执行指令,若测试原子集合无效,则返回执行根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合的步骤。
测试原子集合配置是基于原子的执行步骤将各个原子以此组合得到的集合,因此在配置完成一个测试原子集合后,就可以利用此测试原子集合完成对应的原子操作步骤,即,在一个测试任务对应的原子集合配置完成时,就可以利用对应原子集合执行任务,当能用一个原子集合执行完一个任务时,测试原子集合就配置完成,若配置的原子集合不能完成对应任务,则测试原子集合配置没有完成,在对配置的测试参数校验完成后,可以将配置的测试原子集合用于进行软件测试,当检测到测试人员在测试终端上,触发软件测试的执行命令时,获取测试人员在测试任务单上输入的测试信息,并将测试信息中的执行参数输入至配置原子集合的对应位置,以利用配置原子集合完成软件测试的原子操作。
在本实施例中在测试人员触发软件测试请求时,测试人员在测试终端的测试任务单上,输入测试信息,测试终端就可以利用预置的测试原子库,配置测试原子集合完成软件的测试,这样的软件测试方式提高了软件的测试效率,以此同时,测试人员仅需要在测试任务单上输入测试信息,无需测试人员进行人工的测试,可以降低测试人员的专业程度,从而节约测试人员的人力成本。
进一步的,参照图3,本发明的第二实施例是第一实施例的实现基础,本发明一种软件测试方法的第二实施例中,软件测试方法还包括:
步骤S40,根据软件测试的测试任务和测试步骤,确定软件测试的测试逻辑,以根据测试逻辑创建测试原子。
步骤S50,将创建的测试原子进行校验,并将校验通过的测试原子统计汇总,以生成测试原子库。
本实施例中终端根据软件测试的测试任务和测试步骤,即,终端根据测试任务生成测试指令,并获取完成测试指令的测试步骤,将测试步骤与测试指令结合形成对应的软件测试的测试逻辑,以此同时和可以由测试人员或者开发人员根据软件测试可能的测试任务和测试步骤,确定测试的逻辑,即,软件测试的步骤包括:软件以根据测试逻辑创建测试原子,例如,软件测试中可能涉及到:测试人员在用户接口处模拟用户操作,软件根据模拟的用户输入操作进行数据的调用计算,并最终响应用户操作,若软件存在bug(漏洞)则在响应时可能出现问题,并不能输出正确的响应结果,根据测试任务创建的测试原子,测试原子用户执行软件测试的步骤,即,进行数据的调用和数据的计算,复制拷贝等,在测试原子创建完成时,需要对创建的测试原子进行校验,即,校验创建的测试原子是否可以完成其中的测试语句,若测试原子校验通过,则将其中的测试原子保存,将多个测试原子校验分类形成测试原子库。
在本实施例中通过总结不同软件的测试任务和测试步骤,创建测试原子,在对指定软件进行测试时,可以通过调动原子库中的测试原子,创建测试原子库这样的方式,减少了软件测试原子操作的定制化,降低了原子操作软件测试的人力物力成本。
参照图4,在本实施例中,本发明软件测试方法的步骤S20包括:
步骤S21,根据测试信息确定测试任务,并判断测试任务是否满足测试步骤分解的条件;
步骤S22,若测试任务满足测试步骤分解的条件,则将测试任务进行分解,并将分解的测试步骤作为测试任务单元;
步骤S23,根据测试任务单元调用预置测试原子库中的测试原子,将调用的测试原子配置形成测试原子子集合,并将测试原子子集合组成测试任务的测试原子集合。
测试终端确定测试任务后,测试终端对测试任务进行解析,确定测试任务是否包含多个测试步骤,若测试任务包含多个测试步骤,则测试任务满足测试步骤分解的条件,当测试测试任务满足测试步骤分解的条件,测试终端将测试任务进行分解,并将分解的测试步骤作为测试任务单元,测试单元调用预置测试原子库中的测试原子,测试中终端将调用的测试原子配置形成测试原子子集合,并将测试原子子集合组成测试任务的测试原子集合。
需要补充说明的是测试原子集合中的测试原子子集合之间也可以进行调用。
在本实施例中将测试任务进行分解可以使软件测试的流程更加直观,提高软件测试的效率,可以保证测试原子直接互不干扰快速地完成测试任务。
参照图5,在本发明软件测试方法的第三实施例中,软件测试的步骤还包括:
步骤S60,当检测到软件测试原子操作完成时,获取测试结果并输入至测试报告模板中,以生成测试日志;
步骤S70,将测试日志中的测试结果与预存理论结果进行比对,判断测试结果是否异常,若测试结果异常,则标记异常的测试结果。
在测试终端检测到软件测试的原子操作完成时,获取软件测试的测试结果,并将测试结果输入对应测测试模板中,以生成软件测试的测试日志,在测试完成后,测试终端可以将测试报告中的测试结果与预存理论结果(预存理论结果:为软件正常运行时得到的理论值)进行比对,若测试结果与理论结果相同则测试结果正常,若测试结果与理论结果不相同则测试结果异常,当测试结果异常时,测试终端对异常的测试结果进行标记,以便测试人员快速地查看。
步骤S80,当检测到软件维护的请求时,获取测试日志中的标记异常的测试结果;
步骤S90,根据标记异常的测试结果测试原子集合中输出异常测试结果的测试原子,以使测试人员根据测试原子与软件功能块之间的映射关系,对测试软件进行维护。
测试人员在测试终端上查看测试日志,在测试终端上检测到软件维护请求时(软件维护请求是测试人员查看测试日志后,根据测试日志中标记的异常测试结果提出的软件的维护请求)获取测试日志中的标记异常的测试结果;根据标记异常的测试结果测试原子集合中输出异常测试结果的测试原子,根据测试确定输出异常结果的测试原子集合,再进一步追溯输出测试异常结果的测试原子(或者是测试原子中的命令语句),测试人员可根据测试原子与测试软件的映射关系,即,测试原子是根据测试软件进行创建的,测试原子是模拟部分测试人员的测试工作,在测试原子正确的条件下,出现了的测试结果异常就可说明的测试软件出现漏洞,可根据测试原子确定测试软件漏洞的位置,并对测试软件进行维护。
在本实施例中针对测试结果进行输出,并针对测试结果形成测试日志,以使测试人员查看测试日志快速地对测试问题进行定位,并根据测试日志对测试软件进行维护,提高了测试人员的工作效率。
参照图6,在本发明软件测试方法的第四实施例中,第四实施例与第一实施例的区别在于软件测试人员是否设置时间任务信息,在本发明的第四实施例中软件测试方法还包括:
步骤S101,获取输入的测试信息,判断测试信息中是否包含时间任务;
步骤S102,若测试信息中不包含时间任务,则触发执行根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合;
步骤S103,若测试信息中包含时间任务,则在时间任务的时间节点时根据测试信息中的测试任务调用预置测试原子库中的测试原子;
步骤S104,将调用的测试原子配置形成测试原子集合,以根据测试原子集合进行定时的软件测试。
测试人员可在测试任务单上输入测试的时间任务,测试终端获取输入的测试信息,判断测试信息中是否包含时间任务,测试任务中包含时间任务,则测试终端检测到到达测试时间任务的时间节点时根据测试信息中的测试任务调用预置测试原子库中的测试原子,测试终端将调用的测试原子配置形成测试原子集合,以根据测试原子集合进行定时的软件测试。
在本实施例中测试任务设置时间任务,在到达时间节点时,软件测试的测试任务可以自动执行减少了测试人员的工作量,使软件测试更加灵活。
参照图7,本发明软件测试装置的一实施例中,软件测试装置包括:
检测输入模块10,用于当检测到软件测试请求时,根据软件测试请求显示软件测试任务单,以供测试人员输入测试信息。
测试人员测试终端的显示界面上,触发软件测试请求,测试终端上检测输入模块10根据软件测试请求显示测试任务单(测试任务单:测试任务单与测试请求相对应,具体地,由于测试终端可用于测试不同的软件,不同的软件测试的任务不同,所涉及的需要测试的测试参数也不同,测试任务单中需要测试人员输入的测试信息有所不同),测试人员根据测试任务单的提示,对应输入测试信息,测试终端获取测试信息,并将输入的测试信息应用到软件测试请求的软件测试中。
调用配置模块20,用于根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合。
测试终端获取测试人员在测试任务单中输入的测试信息,调用配置模块20根据测试信息确定软件测试的测试任务,测试终端根据确定测试任务确定测试步骤,具体地,测试终端模拟测试人员执行测试任务的步骤,确定完成该测试任务需要的测试步骤,并根据测试步骤确定完成测试步骤需要的测试指令;在测试终端确定测试任务后调用预置测试原子库中的测试原子(测试原子:测试原子可理解为一句或者多句测试命令语句,其中一句或者多句测试命令语句用于完成一个测试步骤或者多个测试步骤),根据测试任务和对应的测试步骤从预置原子库中调用的所需的测试原子,并将调用的测试原子配置形成测试原子集合。
需要补充说明的是:测试任务、测试步骤、测试原子和测试原子集合之间的关系;具体地一个测试任务中可能包含一个或者多个测试步骤,一个测试步骤中可能包含一个或者多个测试原子,一个测试测试原子集合中可能包含一个或者多个测试原子。
执行配置模块30,用户当检测到软件测试的执行指令时,根据测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作。
在测试终端检测到测试原子集合配置完成时,执行配置模块30首先提供相应的测试环境对测试原子集合进行验证;具体地包括:
步骤a、当检测到测试原子集合配置完成后,获取测预设执行参数;
步骤b、将预设执行参数输入测试原子集合中,并执行测试原子集合中的测试原子,以根据执行结果判断测试原子集合是否有效。
在对配置的测试参数校验完成后,可以将配置的测试原子集合用于进行软件测试,当检测到测试人员在测试终端上,触发软件测试的执行命令时,执行配置模块30获取测试人员在测试任务单上输入的测试信息,并将测试信息中的执行参数输入至配置原子集合的对应位置,以利用配置原子集合完成软件测试的原子操作。
在本实施例中在测试人员触发软件测试请求时,测试人员尽需要在测试终端的测试任务单上,输入测试信息,测试终端就可以利用预置的测试原子库,配置测试原子集合完成软件的测试,这样的软件测试方式提高了软件的测试效率,以此同时,测试人员仅需要在测试任务单上输入测试信息,无需测试人员进行人工的测试,可以降低测试人员的专业程度,从而节约测试人员的人力成本。
此外,本发明实施例还提出一种计算机存储介质。
计算机存储介质上存储有软件测试应用程序,软件测试应用程序被处理器执行时实现软件测试方法的步骤。
其中,软件测试应用程序被执行时所实现的方法可参照本发明软件测试方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种软件测试方法,其特征在于,所述软件测试方法包括以下步骤:
当检测到软件测试请求时,根据所述软件测试请求显示软件测试任务单,以供测试人员输入测试信息;
根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合;
当检测到软件测试的执行指令时,根据所述测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作。
2.如权利要求1所述的软件测试方法,其特征在于,所述当检测到软件测试请求时,根据所述软件测试请求显示软件测试任务单,以供测试人员输入测试信息的步骤之前,还包括:
根据软件测试的测试任务和测试步骤,确定软件测试的测试逻辑,以根据测试逻辑创建测试原子;
将创建的测试原子进行校验,并将校验通过的测试原子统计汇总,以生成测试原子库。
3.如权利要求1所述的软件测试方法,其特征在于,所述根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合的步骤包括:
根据测试信息确定测试任务,并判断测试任务是否满足测试步骤分解的条件;
若测试任务满足测试步骤分解的条件,则将测试任务进行分解,并将分解的测试步骤作为测试任务单元;
根据测试任务单元调用预置测试原子库中的测试原子,将调用的测试原子配置形成测试原子子集合,并将测试原子子集合组成测试任务的测试原子集合。
4.如权利要求1所述的软件测试方法,其特征在于,所述根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合的步骤之后,还包括:
当检测到测试原子集合配置完成后,获取测预设执行参数;
将预设执行参数输入测试原子集合中,并执行测试原子集合中的测试原子,以根据执行结果判断测试原子集合是否有效;
若测试原子集合有效,则判断是否采集到软件测试的执行指令,若测试原子集合无效,则返回执行根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合的步骤。
5.如权利要求1所述的软件测试方法,其特征在于,所述当检测到软件测试的执行指令时,根据所述测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作的步骤之后,包括:
当检测到软件测试原子操作完成时,获取测试结果并输入至测试报告模板中,以生成测试日志;
将测试日志中的测试结果与预存理论结果进行比对,判断测试结果是否异常,若测试结果异常,则标记异常的测试结果。
6.如权利要求5所述的软件测试方法,其特征在于,所述将测试日志中的测试结果与预存理论结果进行比对,判断测试结果是否异常,若测试结果异常,则标记异常的测试结果的步骤之后,还包括:
当检测到软件维护的请求时,获取测试日志中的标记异常的测试结果;
根据标记异常的测试结果追溯测试原子集合中输出异常测试结果的测试原子,以使测试人员根据测试原子与软件功能块之间的映射关系,对测试软件进行维护。
7.如权利要求1至6任意一项所述的软件测试方法,其特征在于,所述当检测到软件测试请求时,根据所述软件测试请求显示软件测试任务单,以供测试人员输入测试信息的步骤之后,还包括:
获取输入的测试信息,判断测试信息中是否包含时间任务;
若测试信息中不包含时间任务,则触发执行根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合;
若测试信息中包含时间任务,则在时间任务的时间节点时根据测试信息中的测试任务调用预置测试原子库中的测试原子;
将调用的测试原子配置形成测试原子集合,以根据测试原子集合进行定时的软件测试。
8.一种软件测试装置,其特征在于,所述软件测试装置包括:
检测输入模块,用于当检测到软件测试请求时,根据所述软件测试请求显示软件测试任务单,以供测试人员输入测试信息;
调用配置模块,用于根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合;
执行配置模块,用户当检测到软件测试的执行指令时,根据所述测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作。
9.一种软件测试设备,其特征在于,所述软件测试设备包括:软件测试装置、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的软件测试应用程序,其中:
所述软件测试应用程序被所述处理器执行时实现如权利要求1至7中任一项所述的软件测试方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有软件测试应用程序,所述软件测试应用程序被处理器执行时实现如权利要求1至7中任一项所述的软件测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710928075.XA CN107656872B (zh) | 2017-10-09 | 2017-10-09 | 软件测试方法、装置、设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710928075.XA CN107656872B (zh) | 2017-10-09 | 2017-10-09 | 软件测试方法、装置、设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107656872A true CN107656872A (zh) | 2018-02-02 |
CN107656872B CN107656872B (zh) | 2020-09-29 |
Family
ID=61117183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710928075.XA Active CN107656872B (zh) | 2017-10-09 | 2017-10-09 | 软件测试方法、装置、设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107656872B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334336A (zh) * | 2017-10-10 | 2018-07-27 | 平安普惠企业管理有限公司 | 原子操作自动化方法、系统、装置和计算机存储介质 |
CN108549602A (zh) * | 2018-03-30 | 2018-09-18 | 深圳市江波龙电子有限公司 | 一种软件调试方法 |
CN108776642A (zh) * | 2018-06-01 | 2018-11-09 | 平安普惠企业管理有限公司 | 测试报告生成方法、装置、计算机设备和存储介质 |
CN109272251A (zh) * | 2018-10-12 | 2019-01-25 | 广东电网有限责任公司 | 一种软件测试的管理方法、装置及设备 |
CN109885499A (zh) * | 2019-02-27 | 2019-06-14 | 弗徕威智能机器人科技(上海)有限公司 | 一种机器人自动化测试系统及测试方法 |
CN112527611A (zh) * | 2020-09-24 | 2021-03-19 | 上海趣蕴网络科技有限公司 | 一种产品健康度评估方法及系统 |
CN112783758A (zh) * | 2019-11-11 | 2021-05-11 | 阿里巴巴集团控股有限公司 | 测试案例库与特征库生成方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6249881B1 (en) * | 1997-07-01 | 2001-06-19 | National Semiconductor Corporation | Method for enabling and servicing critical interrupts while running an interrupt based debug monitor |
CN101339532A (zh) * | 2007-07-06 | 2009-01-07 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试方法及装置 |
CN102135938A (zh) * | 2011-03-21 | 2011-07-27 | 中国工商银行股份有限公司 | 一种软件产品测试方法及系统 |
-
2017
- 2017-10-09 CN CN201710928075.XA patent/CN107656872B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6249881B1 (en) * | 1997-07-01 | 2001-06-19 | National Semiconductor Corporation | Method for enabling and servicing critical interrupts while running an interrupt based debug monitor |
CN101339532A (zh) * | 2007-07-06 | 2009-01-07 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试方法及装置 |
CN102135938A (zh) * | 2011-03-21 | 2011-07-27 | 中国工商银行股份有限公司 | 一种软件产品测试方法及系统 |
Non-Patent Citations (1)
Title |
---|
杨小强等: "《机械参数虚拟测试实验教程》", 31 May 2016 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334336A (zh) * | 2017-10-10 | 2018-07-27 | 平安普惠企业管理有限公司 | 原子操作自动化方法、系统、装置和计算机存储介质 |
CN108549602A (zh) * | 2018-03-30 | 2018-09-18 | 深圳市江波龙电子有限公司 | 一种软件调试方法 |
CN108776642A (zh) * | 2018-06-01 | 2018-11-09 | 平安普惠企业管理有限公司 | 测试报告生成方法、装置、计算机设备和存储介质 |
CN109272251A (zh) * | 2018-10-12 | 2019-01-25 | 广东电网有限责任公司 | 一种软件测试的管理方法、装置及设备 |
CN109885499A (zh) * | 2019-02-27 | 2019-06-14 | 弗徕威智能机器人科技(上海)有限公司 | 一种机器人自动化测试系统及测试方法 |
CN109885499B (zh) * | 2019-02-27 | 2022-07-26 | 弗徕威智能机器人科技(上海)有限公司 | 一种机器人自动化测试系统及测试方法 |
CN112783758A (zh) * | 2019-11-11 | 2021-05-11 | 阿里巴巴集团控股有限公司 | 测试案例库与特征库生成方法、设备及存储介质 |
CN112783758B (zh) * | 2019-11-11 | 2024-02-27 | 阿里云计算有限公司 | 测试案例库与特征库生成方法、设备及存储介质 |
CN112527611A (zh) * | 2020-09-24 | 2021-03-19 | 上海趣蕴网络科技有限公司 | 一种产品健康度评估方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107656872B (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107656872A (zh) | 软件测试方法、装置、设备和计算机存储介质 | |
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
CN105094783B (zh) | 安卓应用稳定性测试的方法及装置 | |
CN109582579B (zh) | 应用程序测试方法、装置、电子设备及存储介质 | |
CN107608889B (zh) | 一种测试脚本自动生成方法及系统 | |
US10216377B2 (en) | Visual regression analysis | |
CN107678935A (zh) | 数据生成方法、终端及计算机可读存储介质 | |
CN107908551A (zh) | 终端软件测试方法、装置、终端和计算机存储介质 | |
CN107463362A (zh) | 基于多个Jenkins的持续部署的方法和系统 | |
CN104731566B (zh) | 集成开发环境测试装置、方法及系统 | |
CN107729019A (zh) | 版本部署的方法、装置、设备和计算机存储介质 | |
CN109840206A (zh) | 数据测试方法、装置、终端及存储介质 | |
CN109726108B (zh) | 基于模拟数据的前端代码测试方法、装置、系统和介质 | |
CN107145438A (zh) | 代码测试方法、代码测试装置及代码测试系统 | |
CN107957956A (zh) | 软件差异覆盖率的测试方法、装置及可读存储介质 | |
CN109933521A (zh) | 基于bdd的自动化测试方法、装置、计算机设备及存储介质 | |
CN110196795A (zh) | 检测移动终端应用运行状态的方法及相关装置 | |
CN111475390A (zh) | 日志采集系统部署方法、装置、设备及存储介质 | |
CN108614775A (zh) | 自动化测试方法、装置、终端设备及计算机可读存储介质 | |
CN102968367A (zh) | 一种基于嵌入式软件的静态检测方法及其系统 | |
CN113590454A (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN113268416A (zh) | 一种应用程序的测试方法、装置、存储介质及终端 | |
CN110489347A (zh) | 基于git的版本管理方法、装置、设备及可读存储介质 | |
CN107229567A (zh) | 一种ipmi固件自动化测试系统 | |
CN109726112A (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 |