CN107562637A - 一种用于软件测试的方法、设备、系统及存储介质 - Google Patents
一种用于软件测试的方法、设备、系统及存储介质 Download PDFInfo
- Publication number
- CN107562637A CN107562637A CN201710900207.8A CN201710900207A CN107562637A CN 107562637 A CN107562637 A CN 107562637A CN 201710900207 A CN201710900207 A CN 201710900207A CN 107562637 A CN107562637 A CN 107562637A
- Authority
- CN
- China
- Prior art keywords
- test
- software
- confirmation
- test case
- target terminal
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种用于软件测试的方法、设备、系统及存储介质,所述方法包括:服务器接收终端同意作为目标终端的确认信息,所述目标终端具有所述软件;响应于所述确认信息,向终端发送生成的测试用例,所述测试用例用于对所述软件进行测试;接收由终端发送的根据所述测试用例得到的第一测试结果。
Description
技术领域
本发明涉及测试领域,尤其涉及一种用于软件测试的方法、设备、系统及存储介质。
背景技术
当前,每个软件产品在上线前,都需要有一套优秀的测试方案和测试方法来实现对软件的测试及其验证。因此,软件测试的重要性是毋庸置疑的。
另外,要使最终用户对软件感到满意,最有力的举措就是对最终用户的期望加以明确阐述,以便对这些期望进行核实并确认其有效性,而测试用例恰巧反映了要核实的需求,故测试用例是软件测试的核心。
现有的软件测试方案包括如下两种方式:
方式一,通过测试人员将软件安装在各种测试环境中,模拟用户场景来进行测试。具体地,在软件上线前,测试人员通过在购买的测试机上执行测试用例的方式实现软件测试,以获取功能、性能和稳定性数据。
方式二,采用众测的方式,即由第三方或者忠实用户进行基于测试人员要求的内部测试,以获取功能、性能和稳定性数据。
然而,上述软件测试方案至少存在如下缺陷:
首先,通过在购买的测试机上执行测试用例的方式实现软件测试,由于用户终端对应机型千万种,测试人员很难穷尽所有的用户终端。
其次,随着各种软件的交互越来越多,用户自身环境的复杂进一步加大。测试人员的环境并不能完全模拟用户在其他应用干扰下的使用情况。比如,用户不安装微信的情况下,使用微信登陆是否存在异常,用户在root系统之后是否存在异常等;
再次,采用众测的方式,其成本较高,需要使用外部资源。
另外,测试质量与众测人员素质相关,如果测试人员不认真或者能力较差,很可能导致错误或者遗漏测试的现象发生。
发明内容
因此,现有技术的软件测试中存在多个问题亟需解决。
由此,本公开的目的在于至少地解决上述其中一个问题,能够在最大程度上节省人力、资源投入的基础上,有效提高测试的时效性和可靠性,进而提升用户体验。
根据本公开的第一方面,提供一种用于软件测试的方法,所述方法包括:
接收同意作为目标终端的确认信息,所述目标终端具有所述软件;
响应于所述确认信息,发送生成的测试用例,所述测试用例用于对所述软件进行测试;
接收根据所述测试用例得到的第一测试结果。
根据本公开的一个实施方式,进一步包括:
遍历所述第一测试结果,以查询所述第一测试结果是否与所述测试用例的预期结果相匹配;
若第一特定比例的所述第一测试结果与所述测试用例的预期结果不匹配,则确定存在有软件错误。
根据本公开的一个实施方式,进一步包括:
遍历所述第一测试结果,以查询所述第一测试结果是否与所述测试用例的预期结果相匹配;
若第二特定比例的所述第一测试结果与所述测试用例的预期结果不匹配,则发送所述测试用例至其他目标终端,以对所述其他目标终端进行再测试以得到再测试结果;
如果第三特定比例的所述再测试结果与所述测试用例的预期结果不匹配,则确定存在软件错误。
根据本公开的一个实施方式,进一步包括:
对所述第一测试结果进行分析,确定所述目标终端的软件信息;
基于所述软件信息,确定所述软件错误的因素。
根据本公开的一个实施方式,其中,所述目标终端的软件信息至少包括如下信息之一:
所述目标终端所安装的操作系统;
所述目标终端是否已安装特定应用软件。
根据本公开的一个实施方式,进一步包括:
基于所确定的软件错误的因素,对所述软件进行修复,得到修复后的软件;
再次发送所述测试用例,以对修复后的软件进行验证测试。
根据本公开的一个实施方式,其中,所述测试用例包括定时测试信息。
根据本公开的一个实施方式,进一步包括:
推送有奖激励的消息;
执行所述有奖激励对应的操作。
根据本公开的一个实施方式,所述执行所述有奖激励对应的操作,包括:
发送测试用例的同时,开始执行所述有奖激励对应的操作;或者
在接收到所述第一测试结果后,开始执行所述有奖激励对应的操作。
根据本公开的第二方面,提供一种用于软件测试的方法,所述方法包括:
生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;
接收响应于所述确认信息的测试用例;
基于所述测试用例执行测试操作,得到第一测试结果;
反馈所述第一测试结果。
根据本公开的一个实施方式,其中,所述测试用例包括定时测试信息。
根据本公开的一个实施方式,其中,所述基于所述测试用例执行测操作,包括:
解析所述测试用例,得到定时测试信息;
根据所述定时测试信息定时执行所述测试操作。
根据本公开的一个实施方式,进一步包括:
接收有奖激励的消息;
在基于所述测试用例执行测试操作的同时,执行所述有奖激励对应的操作的互动操作;或者
在反馈所述测试结果之后,执行所述有奖激励对应的操作的互动操作。
根据本公开的第三方面,提供一种用于软件测试的方法,包括:
在终端侧,
生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;
在服务器侧,
接收同意作为目标终端的确认信息;
响应于所述确认信息,发送生成的测试用例;
在终端侧,
接收响应于所述确认信息的测试用例;
基于所述测试用例执行测试操作,得到第一测试结果;
反馈所述第一测试结果;
在服务器侧,
接收所述第一测试结果。
根据本公开的第四方面,提供一种用于软件测试的设备,包括:
第一接收装置,用于接收同意作为目标终端的确认信息,所述目标终端具有所述软件;
发送装置,用于响应于所述确认信息,发送测试用例,所述测试用例用于对所述软件进行测试;以及,
第二接收装置,用于接收根据所述测试用例得到的第一测试结果。
根据本公开的一个实施方式,还包括:查询装置,用于遍历所述第一测试结果,以查询所述第一测试结果是否与所述测试用例的预期结果相匹配;以及确定装置,用于若第一特定比例的所述第一测试结果与所述测试用例的预期结果不匹配,则确定存在有软件错误。
根据本公开的一个实施方式,还包括:查询装置,用于遍历所述第一测试结果,以查询所述第一测试结果是否与所述测试用例的预期结果相匹配;所述发送装置,还用于若第二特定比例的所述第一测试结果与所述测试用例的预期结果不匹配,则发送所述测试用例至其他目标终端,以对所述其他目标终端进行再测试以得到再测试结果;以及确定装置,用于如果第三特定比例的所述再测试结果与所述测试用例的预期结果不匹配,则确定存在软件错误。
根据本公开的一个实施方式,还包括:分析装置,用于对所述第一测试结果进行分析,确定所述目标终端的软件信息;以及确定装置,用于基于所述软件信息,确定所述软件错误的因素。
根据本公开的一个实施方式,其中,所述目标终端的软件信息至少包括如下信息之一:所述目标终端所安装的操作系统;所述目标终端是否已安装特定应用软件。
根据本公开的一个实施方式,还包括:修复装置,用于基于所确定的软件错误的因素,对所述软件进行修复,得到修复后的软件;以及所述发送装置,还用于再次发送所述测试用例,以对修复后的软件进行验证测试。
根据本公开的一个实施方式,其中,所述测试用例包括定时测试信息。
根据本公开的一个实施方式,还包括:推送装置,用于推送有奖激励的消息;以及执行装置,用于执行所述有奖激励对应的操作。
根据本公开的一个实施方式,其中,所述执行装置,还用于发送测试用例的同时,开始执行所述有奖激励对应的操作;或者所述执行装置,还用于在接收到所述第一测试结果后,开始执行所述有奖激励对应的操作。
根据本公开的第五方面,提供一种用于软件测试的设备,包括:
生成装置,用于生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;
接收装置,用于接收响应于所述确认信息的测试用例;
执行装置,用于基于所述测试用例执行测试操作,得到第一测试结果;以及,
反馈装置,用于反馈所述第一测试结果。
根据本公开的一个实施方式,其中,所述测试用例包括定时测试信息。
根据本公开的一个实施方式,其中,所述执行装置包括:解析子装置,用于解析所述测试用例,得到定时测试信息;执行子装置,用于根据所述定时测试信息定时执行所述测试操作。
根据本公开的一个实施方式,其中,所述接收装置,还用于接收有奖激励的消息;所述执行装置,还用于在基于所述测试用例执行测试操作的同时,执行所述有奖激励对应的操作的互动操作;或者所述执行装置,还用于在反馈所述测试结果之后,执行所述有奖激励对应的操作的互动操作。
根据本公开的第六方面,提供一种用于软件测试的系统,包括终端和服务器;
所述终端配置用于,
生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;
接收响应于所述确认信息的测试用例;
基于所述测试用例执行测试操作,得到第一测试结果;
反馈所述第一测试结果;
所述服务器配置用于,
接收同意作为目标终端的确认信息;
响应于所述确认信息,发送生成的测试用例,所述测试用例用于对所述软件进行测试;
接收所述第一测试结果。
根据本公开的第七方面,提供一种服务器,包括:
一个或者多个处理器;
存储器;
存储在所述存储器中的程序,当被所述一个或者多个处理器执行时,所述程序使所述服务器执行上述第一方面任一用于软件测试的方法。
根据本公开的第八方面,提供一种终端,包括:
一个或者多个处理器;
存储器;
存储在所述存储器中的程序,当被所述一个或者多个处理器执行时,所述程序使所述终端执行上述第二方面任一用于软件测试的方法。
根据本公开的第九方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行上述第一方面至第三方面任一用于软件测试的所述的方法。
本公开的实施方式能够实现以下技术效果中的至少一种。
通过本公开的教导,能够基于真实用户场景进行软件测试,使得整个软件测试可以在线上持续进行,并且收集到更多用户的实际使用情况;进一步地,测试过程不依赖于用户本身,而是靠任务的下发和自动执行,有效避免了人为因素的干扰;而且,可以针对性的对某些场景进行测试,从而节省测试环境构建成本。这样,能够在最大程度上节省人力、资源投入的基础上,有效提高测试的时效性和可靠性,进而提升用户体验。
需要理解的是,本公开的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本公开的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1为本公开的测试用例的一个可选的流线形示意图;
图2为本公开用于软件测试的系统的一个可选的网络架构示意图;
图3示出了根据本发明一个实施方式的在终端和服务器之间进行软件测试的信息交互图;
图4a示出了本发明一应用示例中终端的一个可选的组成结构示意图;
图4b示出了本发明一应用示例中终端的另一个可选的组成结构示意图;
图4c示出了本发明又一应用示例用于软件测试的方法的实现流程示意图;
图5示出了根据本发明一个实施方式的服务器接收到第一测试结果后的操作流程示意图;
图6示出了根据本发明另一个实施方式的服务器接收到第一测试结果后的操作流程示意图;
图7示出了根据本发明另一方面的用于软件测试的设备的框图;
图8示出了根据本发明又一方面的用于软件测试的设备的框图;
图9示出了根据本发明实施方式的用于软件测试的终端或服务器对应设备的示意图;以及
图10示出了根据本发明实施方式的用于软件测试的计算机可读存储介质的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
下面结合附图对本发明的具体实施方式进行详细描述。
对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)测试用例(Test Case),是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式;同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。测试用例是一组条件或变量,测试者根据它来确定应用软件或软件系统是否正确工作。
这里,用于功能性测试的测试用例来源于测试目标的用例。应该为每个用例场景编制测试用例。用例场景要通过描述流经用例的路径来确定,这个流经过程要从用例开始到结束遍历其中所有基本流和备选流,如图1所示。图1中经过用例的每条不同路径都反映了基本流和备选流,都用箭头来表示。基本流用实线来表示,是经过用例的最简单的路径。备选流用虚线来表示,每个备选流自基本流开始会在某个特定条件下执行。备选流可能会重新加入基本流中(如备选流1和3),还可能起源于另一个备选流(备选流2),或者终止用例而不再重新加入某个流(备选流2和4)。当然,遵循图1中每个经过用例的可能路径,可以确定得到若干个不同的用例场景。
2)应用(Application),简称App,是指安装在手机等智能设备上的程序,一般需要与服务端互相配合运行。常见的应用主要分两类:一类属于预装的系统应用,比如短信、照片、备忘录、Safari等;另一类属于第三方应用,比如资讯类的网易新闻、购物类的淘宝、社交类的微信等等。
3)操作系统,包括但不限于Windows,Linux,Android和iOS等等。其中,iOS主流系统包括10、9、8,以及各自的分支版本,主流机型包括iphone7\7p\6\6p\6s\6sp\5s\5se\5等,不同机型搭配不同操作系统,用户场景非常复杂。Android主流操作系统包括8、7、6、5、4,以及各自的分支版本,主流品牌包括OPPO\Vivo\小米\华为\魅族\三星\联想,各品牌的系统经过不同定制差异非常大,且硬件差异明显,不同型号的安卓机型超过一万种,用户场景非常复杂。
图2为本公开提供的用于软件测试的系统20的一个可选的网络架构示意图。
如图2所示,本公开所述用于软件测试的系统20可以包括:目标终端21(如个人计算机(PC)、笔记本电脑、平板电脑、个人数字助理、iMac、智能手机等)和服务器22。服务器22根据测试目标类型有选择性地调用测试用例库(如用于功能测试的测试用例库、用于性能测试的测试用例库、用于稳定性测试的测试用例库等)中的测试用例来对目标终端21进行软件测试。其中,所述目标终端21可以包括终端11、终端12,终端13,终端14,…,终端1n;所述测试用例库可以包括测试用例库1,测试用例库2,…,测试用例库m。
这里,所述目标终端21可以是固定的,如位于家庭,办公室,网吧等处的固定通信设备,也可以是位于其他移动平台上的,如位于汽车,火车,飞机等平台上。
目标终端21可以通过有线、无线或者二者的组合连接到各个服务器22或者云端。无线网络包括但不限于移动电话网、无线局域网(LAN)、蓝牙个人区域网、wifi、以太网、令牌环、广域网、因特网等等。有线网络包括但不限于电话线网、光缆线网、电缆线网、有线电视网等等。
服务器22可以采用任何商用或专用的服务器,本发明对此无任何限制。图2所示的网络架构仅仅是一种示例,以便于理解,而不对本发明的网络架构构成任何限制。
图3示出了根据本发明一个实施方式的在终端和服务器之间进行软件测试的信息交互图。
如图3所示,本发明实施例提供一种用于软件测试的方法,该方法包括如下操作。
首先,在终端侧,在操作A310,生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;
接下来,在服务器侧,在操作B320,接收同意作为目标终端的确认信息;以及,在操作B330,响应于所述确认信息,发送生成的测试用例;
接下来,在终端侧,在操作A340,接收响应于所述确认信息的测试用例;在操作A350,基于所述测试用例执行测试操作,得到第一测试结果;以及,在操作A360,反馈所述第一测试结果;
接下来,在服务器侧,在操作B370,接收所述第一测试结果。
需要理解的是,这里所述的终端泛指参与软件测试的目标终端,而所述目标终端的个数可以为一个,也可以为多个。
另外,所述第一测试结果通常可以包括测试期间所记录的数据信息和/或测试完毕后得到的数据信息。
本发明一应用示例中,结合图4a和图4b所示,预先在目标终端的待测软件中设置协助测试模块41,从而为终端用户提供协助测试模块41。这样,终端在执行操作A310时,可以通过用户与终端之间的人机交互来触发启动该协助测试模块41的方式,促使终端生成并向服务器发送同意作为目标终端的确认信息,以进一步实现服务器与终端之间的软件测试。这里,用户与终端之间的人机交互来触发启动该协助测试模块41的过程与人机交互模块42本身有关。具体来讲,如图4a所示,所述人机交互模块42可以为终端上具有显示界面功能的触摸屏或位于终端机身上的可触控键;如图4b所示,所述人机交互模块42可以为键盘、鼠标、触摸笔等用于实现人机交互的产品。
图4c示出了本发明又一应用示例用于软件测试的方法的实现流程示意图。
如图4c所示,本发明又一应用示例用于软件测试的方法包括如下步骤:
这里,需要预先在被测应用App中,为用户提供协助测试模块,用户开启后即可接收测试任务。
步骤1,当产生测试需求的时候,首先进行分析,确认需要进行测试的手机机型、品牌、操作系统等硬件信息,确认要执行的软件测试流程(例如打开APP、点击一个按钮、再点击一个控件,输入一段文字等)。
步骤2,用户机型信息统计到之后进行分析,筛选出符合步骤1要求的手机作为被测机。
步骤3,根据步骤1和2生成测试用例。
步骤4,将测试用例下发到用户的手机上。
步骤5,用户手机接收测试用例。
步骤6,任务执行模块开始测试操作。
步骤7,测试完毕,把测试结果进行上传。
步骤8,统计结果进行分析,得出测试结论。
这里,需要补充说明的是,该应用示例中所提及的测试用例不需要用户手工点击操作进行测试,直接使用自动化用例在用户手机进行执行。
如此,本发明实施例能够基于真实用户场景进行软件测试,使得整个软件测试可以在线上持续进行,并且收集到更多用户的实际使用情况;进一步地,测试过程不依赖于用户本身,而是靠任务的下发和自动执行,有效避免了人为因素的干扰;而且,可以针对性的对某些场景进行测试,从而节省测试环境构建成本。这样,能够在最大程度上节省人力、资源投入的基础上,有效提高测试的时效性和可靠性,进而提升用户体验。
回到图3,B320、B330和B370示出了在服务器侧的操作。需要理解的是,操作B320、B330和B370也可以构成单独和完整的技术方案,本发明也对在服务器侧执行的操作进行相应的保护。
图5示出了根据本发明一个实施方式的服务器接收到第一测试结果后的操作流程示意图。
如图5所示,根据本发明的一个实施方式,在操作B510,在服务器接收到第一测试结果之后,首先遍历所述第一测试结果,以查询所述第一测试结果是否与所述测试用例的预期结果相匹配。即通过确定所述第一测试结果是否与预期结果相匹配,来确定所述软件是否存在错误,即该软件存在Bug。
接下来,在操作B520,如果服务器确定有第一特定比例的所述第一测试结果与所述测试用例的预期结果不匹配,则确定存在有软件错误。
举例来说,在某一特定机型的手机终端(如小米6)的有道词典App应用中,当在查询框中输入数字信息时,存在有搜索闪退的第一测试结果。很显然,该第一测试结果与正常的预期结果(如界面跳转到显示搜索结果或界面显示无搜索结果的信息显示)不匹配,则确定存在有软件Bug。
这样,本发明实施例通过操作B510和B520,可以在不进行专门购买测试机的情况下,基于真实用户场景对线上版本的质量进行测试。
图6示出了根据本发明另一个实施方式的服务器接收到第一测试结果后的操作流程示意图。
首先,和图5相类似,如图6所示,在操作B610,在服务器接收到第一测试结果之后,遍历所述第一测试结果,以查询所述第一测试结果是否与所述测试用例的预期结果相匹配。即通过确定所述第一测试结果是否与预期结果相匹配,来确定所述软件是否存在错误,即该软件存在Bug。
接下来,在操作B620,若服务器确定有第二特定比例的所述第一测试结果与所述测试用例的预期结果不匹配,则发送所述测试用例至其他目标终端,以对所述其他目标终端进行再测试以得到再测试结果。
接下来,在操作B630,若服务器确定有第三特定比例的所述再测试结果与所述测试用例的预期结果不匹配,则确定存在软件错误。
需要补充说明的是,所述第一特定比例、第二特定比例及其第三特定比例的取值可以相同也可以不同。在实际应用中,所述第一特定比例、第二特定比例及其第三特定比例的取值范围的确定可以综合考虑测试需要的时效性、可靠性等多种因素来具体确定。
这样,本发明实施例通过操作B620和B630,能够在确定软件存在Bug的反馈后,可以快速的验证是否与目标终端属于同一机型的其他终端也存在有此类Bug。
根据本发明的一个实施方式,在服务器接收到第一测试结果后,所述方法还包括:对所述第一测试结果进行分析,确定所述目标终端的软件信息;基于所述软件信息,确定所述软件错误的因素。
其中,所述目标终端的软件信息至少包括如下信息之一:所述目标终端所安装的操作系统;所述目标终端是否已安装特定应用软件。这里,所述目标终端的软件信息用于表征终端的使用场景。
在一示例中,当在一项针对某一特定机型的手机终端(如小米6)的有道词典App应用中确定是否支持微博登陆的用例测试中,若第一测试结果中记录有弹出登录界面的窗口,则可以确定出所述目标终端的软件信息为已安装微博App;若第一测试结果中记录有弹出Wap浏览页面的窗口,则可以确定出所述目标终的软件信息为未安装微博App。
根据本发明的一个实施方式,在服务器基于所述软件信息确定出所述软件错误的因素之后,可以进一步对所述软件进行修复,以得到修复后的软件;再次发送所述测试用例,以对修复后的软件进行验证测试。
这样,本发明实施例能够在确定出软件错误的因素之后,通过对软件进行及时的修复再验证,以实现对软件测试的快速验证,从而提高时效性。
根据本发明的一个实施方式,所述测试用例包括定时测试信息。这样,当终端接收到服务器发送的包括有定时测试信息的测试用例后,可以不及时执行基于所述测试用例的测试操作,而是有选择性的在终端用户空闲的情况下再执行基于所述测试用例的测试操作,从而避免对用户进行不必要的干扰,提升用户体验。
根据本发明的一个实施方式,在服务器接收到第一测试结果后,进一步通过推送有奖激励的消息,来激励用户通过触发协助测试模块来开启协助测试模式。
这里,服务器执行所述有奖激励对应的操作的时机具有可选择性,如可以是在发送测试用例的同时开始执行所述有奖激励对应的操作;还可以是在接收到所述第一测试结果后,开始执行所述有奖激励对应的操作。
回到图3,A310和A340-A360示出了在终端侧的操作。需要理解的是,操作A310和A340-A360也可以构成单独和完整的技术方案,本发明也对在终端侧执行的操作进行相应的保护。
根据本发明的一个实施方式,所述测试用例包括定时测试信息。这样,当终端接收到服务器发送的包括有定时测试信息的测试用例后,可以不及时执行基于所述测试用例的测试操作,而是有选择性的在终端用户空闲的情况下再执行基于所述测试用例的测试操作,从而避免对用户进行不必要的干扰,提升用户体验。
根据本发明的一个实施方式,所述方法还包括:接收由服务器在接收到第一测试结果后推送的有奖激励的消息,并进一步执行所述有奖激励对应操作的互动操作。
当然,终端执行所述有奖激励对应的操作的互动操作的时机具有可选择性,如可以是在基于所述测试用例执行测试操作的同时,执行所述有奖激励对应的操作的互动操作;还可以是在反馈所述测试结果之后,执行所述有奖激励对应的操作的互动操作。
图7示出了根据本发明另一方面的用于软件测试的设备的框图。如图7所示,本发明的设备70包括:
第一接收装置710,用于接收同意作为目标终端的确认信息,所述目标终端具有所述软件;
发送装置720,用于响应于所述确认信息,发送测试用例,所述测试用例用于对所述软件进行测试;以及,
第二接收装置730,用于接收根据所述测试用例得到的第一测试结果。
根据本公开的一个实施方式,如图7所示,还包括:查询装置740,用于遍历所述第一测试结果,以查询所述第一测试结果是否与所述测试用例的预期结果相匹配;以及确定装置750,用于若第一特定比例的所述第一测试结果与所述测试用例的预期结果不匹配,则确定存在有软件错误。
根据本公开的一个实施方式,如图7所示,还包括:查询装置740,用于遍历所述第一测试结果,以查询所述第一测试结果是否与所述测试用例的预期结果相匹配;所述发送装置720,还用于若第二特定比例的所述第一测试结果与所述测试用例的预期结果不匹配,则发送所述测试用例至其他目标终端,以对所述其他目标终端进行再测试以得到再测试结果;以及确定装置750,用于如果第三特定比例的所述再测试结果与所述测试用例的预期结果不匹配,则确定存在软件错误。
根据本公开的一个实施方式,如图7所示,还包括:分析装置760,用于对所述第一测试结果进行分析,确定所述目标终端的软件信息;以及确定装置750,用于基于所述软件信息,确定所述软件错误的因素。
根据本公开的一个实施方式,其中,所述目标终端的软件信息至少包括如下信息之一:所述目标终端所安装的操作系统;所述目标终端是否已安装特定应用软件。
根据本公开的一个实施方式,如图7所示,还包括:修复装置770,用于基于所确定的软件错误的因素,对所述软件进行修复,得到修复后的软件;以及所述发送装置720,还用于再次发送所述测试用例,以对修复后的软件进行验证测试。
根据本公开的一个实施方式,其中,所述测试用例包括定时测试信息。
根据本公开的一个实施方式,如图7所示,还包括:推送装置780,用于推送有奖激励的消息;以及执行装置790,用于执行所述有奖激励对应的操作。
根据本公开的一个实施方式,其中,所述执行装置790,还用于发送测试用例的同时,开始执行所述有奖激励对应的操作;或者所述执行装置790,还用于在接收到所述第一测试结果后,开始执行所述有奖激励对应的操作。
图8示出了根据本发明又一方面的用于软件测试的设备的框图。如图8所示,本发明的设备80包括:
生成装置810,用于生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;
接收装置820,用于接收响应于所述确认信息的测试用例;
执行装置830,用于基于所述测试用例执行测试操作,得到第一测试结果;以及,
反馈装置840,用于反馈所述第一测试结果。
根据本公开的一个实施方式,其中,所述测试用例包括定时测试信息。
根据本公开的一个实施方式,其中,如图8所示,所述执行装置830包括:解析子装置831,用于解析所述测试用例,得到定时测试信息;执行子装置832,用于根据所述定时测试信息定时执行所述测试操作。
根据本公开的一个实施方式,其中,所述接收装置820,还用于接收有奖激励的消息;所述执行装置830,还用于在基于所述测试用例执行测试操作的同时,执行所述有奖激励对应的操作的互动操作;或者所述执行装置830,还用于在反馈所述测试结果之后,执行所述有奖激励对应的操作的互动操作。
回到图2,在如图2所示的用于软件测试的系统20中,所述目标终端21配置用于,生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;接收响应于所述确认信息的测试用例;基于所述测试用例执行测试操作,得到第一测试结果;反馈所述第一测试结果;所述服务器22配置用于,接收同意作为目标终端的确认信息;响应于所述确认信息,发送生成的测试用例,所述测试用例用于对所述软件进行测试;接收所述第一测试结果。
通过本公开的教导,用户能够基于真实用户场景进行软件测试,使得整个软件测试可以在线上持续进行,并且收集到更多用户的实际使用情况;进一步地,测试过程不依赖于用户本身,而是靠任务的下发和自动执行,有效避免了人为因素的干扰;而且,可以针对性的对某些场景进行测试,从而节省测试环境构建成本。这样,能够在最大程度上节省人力、资源投入的基础上,有效提高测试的时效性和可靠性,进而提升用户体验。
示例性设备
在介绍了本发明示例性实施方式的方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的用于软件测试的终端或服务器对应设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,本发明的终端可以至少包括一个或多个处理器、以及至少一个存储器。其中,所述存储器存储有程序,当所述程序被所述处理器执行时,使得所述处理器执行本说明书中描述各个步骤,例如,所述处理器可以执行如图3中所示的步骤A310,生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;A340,接收响应于所述确认信息的测试用例;A350,基于所述测试用例执行测试操作,得到第一测试结果;以及A360,反馈所述第一测试结果。
在又一些可能的实施方式中,本发明的服务器可以至少包括一个或多个处理器、以及至少一个存储器。其中,所述存储器存储有程序,当所述程序被所述处理器执行时,使得所述处理器执行本说明书中描述各个步骤,例如,所述处理器可以执行如图3中所示的步骤B320,接收同意作为目标终端的确认信息;B330,响应于所述确认信息,发送生成的测试用例;以及B370,接收所述第一测试结果。
下面参照图9来描述根据本发明的这种实施方式的用于软件测试的终端(或服务器)。图9显示的终端(或服务器)900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,终端(或服务器)900以通用计算设备的形式表现,包括但不限于:上述至少一个处理器910、上述至少一个存储器920、连接不同系统组件(包括存储器920和处理器910)的总线960。
总线960包括地址总线,控制总线和数据总线。
存储器920可以包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器920还可以包括一组(至少一个)程序模块924,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
终端(或服务器)900还可以与一个或多个外部设备90(例如键盘、指向设备、蓝牙设备等)通信。这种通信可以通过输入/输出(I/O)接口940进行,并在显示单元930上进行显示。并且,终端(或服务器)900还可以通过网络适配器950与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器950通过总线960与终端(或服务器)900中的其它模块通信。应当明白,尽管图中未示出,但可以结合终端(或服务器)900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
示例性程序产品
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序代码在被处理器执行时,所述程序代码用于使所述处理器执行上面描述的方法的各个步骤,例如,所述处理器可以执行如图3中所示的步骤A310,生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;A340,接收响应于所述确认信息的测试用例;A350,基于所述测试用例执行测试操作,得到第一测试结果;以及A360,反馈所述第一测试结果。
在另一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序代码在被处理器执行时,所述程序代码用于使所述处理器执行上面描述的方法的各个步骤,例如,所述处理器可以执行如图3中所示的步骤B320,接收同意作为目标终端的确认信息;B330,响应于所述确认信息,发送生成的测试用例;以及B370,接收所述第一测试结果。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图10所示,描述了根据本发明的实施方式的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端或服务器上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在用户计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
应当注意,尽管在上文详细描述中提及了用于软件测试的若干装置及子装置,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种用于软件测试的方法,所述方法包括:
接收同意作为目标终端的确认信息,所述目标终端具有所述软件;
响应于所述确认信息,发送生成的测试用例,所述测试用例用于对所述软件进行测试;
接收根据所述测试用例得到的第一测试结果。
2.根据权利要求1所述的方法,进一步包括:
遍历所述第一测试结果,以查询所述第一测试结果是否与所述测试用例的预期结果相匹配;
若第一特定比例的所述第一测试结果与所述测试用例的预期结果不匹配,则确定存在有软件错误。
3.一种用于软件测试的方法,所述方法包括:
生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;
接收响应于所述确认信息的测试用例;
基于所述测试用例执行测试操作,得到第一测试结果;
反馈所述第一测试结果。
4.一种用于软件测试的方法,包括:
在终端侧,
生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;
在服务器侧,
接收同意作为目标终端的确认信息;
响应于所述确认信息,发送生成的测试用例;
在终端侧,
接收响应于所述确认信息的测试用例;
基于所述测试用例执行测试操作,得到第一测试结果;
反馈所述第一测试结果;
在服务器侧,
接收所述第一测试结果。
5.一种用于软件测试的设备,包括:
第一接收装置,用于接收同意作为目标终端的确认信息,所述目标终端具有所述软件;
发送装置,用于响应于所述确认信息,发送测试用例,所述测试用例用于对所述软件进行测试;以及,
第二接收装置,用于接收根据所述测试用例得到的第一测试结果。
6.一种用于软件测试的设备,包括:
生成装置,用于生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;
接收装置,用于接收响应于所述确认信息的测试用例;
执行装置,用于基于所述测试用例执行测试操作,得到第一测试结果;以及,
反馈装置,用于反馈所述第一测试结果。
7.一种用于软件测试的系统,包括终端和服务器;
所述终端配置用于,
生成并发送同意作为目标终端的确认信息,所述目标终端具有所述软件;
接收响应于所述确认信息的测试用例;
基于所述测试用例执行测试操作,得到第一测试结果;
反馈所述第一测试结果;
所述服务器配置用于,
接收同意作为目标终端的确认信息;
响应于所述确认信息,发送生成的测试用例,所述测试用例用于对所述软件进行测试;
接收所述第一测试结果。
8.一种服务器,包括:
一个或者多个处理器;
存储器;
存储在所述存储器中的程序,当被所述一个或者多个处理器执行时,所述程序使所述服务器执行如权利要求1-2中任意一项所述的方法。
9.一种终端,包括:
一个或者多个处理器;
存储器;
存储在所述存储器中的程序,当被所述一个或者多个处理器执行时,所述程序使所述终端执行如权利要求3中任意一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行如权利要求1-3中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710900207.8A CN107562637B (zh) | 2017-09-28 | 2017-09-28 | 一种用于软件测试的方法、设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710900207.8A CN107562637B (zh) | 2017-09-28 | 2017-09-28 | 一种用于软件测试的方法、设备、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107562637A true CN107562637A (zh) | 2018-01-09 |
CN107562637B CN107562637B (zh) | 2021-12-21 |
Family
ID=60983491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710900207.8A Active CN107562637B (zh) | 2017-09-28 | 2017-09-28 | 一种用于软件测试的方法、设备、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562637B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287792A (zh) * | 2018-01-26 | 2018-07-17 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN108519950A (zh) * | 2018-04-13 | 2018-09-11 | 深圳市国富前海区块链技术股份有限公司 | 终端、应用软件的故障检测方法及其装置和可读存储介质 |
CN109241722A (zh) * | 2018-09-25 | 2019-01-18 | 上海盛付通电子支付服务有限公司 | 用于获取信息的方法、电子设备和计算机可读介质 |
CN110134581A (zh) * | 2019-04-02 | 2019-08-16 | 浙江数链科技有限公司 | 软件测试方法、装置、计算机设备和存储介质 |
CN110618937A (zh) * | 2019-08-29 | 2019-12-27 | 深圳市新系区块链技术有限公司 | 软件测评方法、装置及设备 |
CN114863586A (zh) * | 2022-04-25 | 2022-08-05 | 北京新能源汽车股份有限公司 | 一种测试方法、装置及终端 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080068385A (ko) * | 2007-01-19 | 2008-07-23 | 슈어소프트테크주식회사 | 소프트웨어 테스트 시스템, 방법 및 그 방법을 실행하기위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체 |
CN101500255A (zh) * | 2008-02-03 | 2009-08-05 | 中国移动通信集团公司 | 一种移动终端测试方法及系统 |
CN103365770A (zh) * | 2012-04-09 | 2013-10-23 | 陆兵 | 移动终端软件测试系统及软件测试方法 |
CN104182335A (zh) * | 2014-05-09 | 2014-12-03 | 中国光大银行 | 软件测试方法和装置 |
CN105320598A (zh) * | 2015-11-24 | 2016-02-10 | 广州华多网络科技有限公司 | 软件测试方法及装置 |
CN106155881A (zh) * | 2015-03-26 | 2016-11-23 | 中国航天科工集团第四研究院指挥自动化技术研发与应用中心 | 针对VxWorks平台的应用程序测试方法和系统 |
CN106294182A (zh) * | 2016-08-24 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 一种确定众测反馈有效性的方法、测试设备及系统 |
-
2017
- 2017-09-28 CN CN201710900207.8A patent/CN107562637B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080068385A (ko) * | 2007-01-19 | 2008-07-23 | 슈어소프트테크주식회사 | 소프트웨어 테스트 시스템, 방법 및 그 방법을 실행하기위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체 |
CN101500255A (zh) * | 2008-02-03 | 2009-08-05 | 中国移动通信集团公司 | 一种移动终端测试方法及系统 |
CN103365770A (zh) * | 2012-04-09 | 2013-10-23 | 陆兵 | 移动终端软件测试系统及软件测试方法 |
CN104182335A (zh) * | 2014-05-09 | 2014-12-03 | 中国光大银行 | 软件测试方法和装置 |
CN106155881A (zh) * | 2015-03-26 | 2016-11-23 | 中国航天科工集团第四研究院指挥自动化技术研发与应用中心 | 针对VxWorks平台的应用程序测试方法和系统 |
CN105320598A (zh) * | 2015-11-24 | 2016-02-10 | 广州华多网络科技有限公司 | 软件测试方法及装置 |
CN106294182A (zh) * | 2016-08-24 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 一种确定众测反馈有效性的方法、测试设备及系统 |
Non-Patent Citations (2)
Title |
---|
《2010中国网络营销年鉴》编委会: "《中国网络营销年鉴 案例卷 2010》", 30 April 2011 * |
一周热点: "腾讯众测,竟为需求让用户参与产品测试", 《HTTPS://WWW.SOHU.COM/A/118218208_448157》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287792A (zh) * | 2018-01-26 | 2018-07-17 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN108287792B (zh) * | 2018-01-26 | 2021-09-07 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN108519950A (zh) * | 2018-04-13 | 2018-09-11 | 深圳市国富前海区块链技术股份有限公司 | 终端、应用软件的故障检测方法及其装置和可读存储介质 |
CN109241722A (zh) * | 2018-09-25 | 2019-01-18 | 上海盛付通电子支付服务有限公司 | 用于获取信息的方法、电子设备和计算机可读介质 |
CN110134581A (zh) * | 2019-04-02 | 2019-08-16 | 浙江数链科技有限公司 | 软件测试方法、装置、计算机设备和存储介质 |
CN110618937A (zh) * | 2019-08-29 | 2019-12-27 | 深圳市新系区块链技术有限公司 | 软件测评方法、装置及设备 |
CN114863586A (zh) * | 2022-04-25 | 2022-08-05 | 北京新能源汽车股份有限公司 | 一种测试方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN107562637B (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562637A (zh) | 一种用于软件测试的方法、设备、系统及存储介质 | |
CN107861871B (zh) | 一种灰度发布方法、装置、服务器及存储介质 | |
CN107402880B (zh) | 一种测试方法及电子设备 | |
CN103365770B (zh) | 移动终端软件测试系统及软件测试方法 | |
US9444935B2 (en) | Method and apparatus for facilitating speech application testing | |
CN108829597B (zh) | 软件众测方法及装置、计算机装置及可读存储介质 | |
CN107436844B (zh) | 一种接口用例合集的生成方法及装置 | |
AU2013394952B2 (en) | Automated generation of scripted and manual test cases | |
CN108959068A (zh) | 软件界面测试方法、设备及存储介质 | |
CN104461899B (zh) | 测试过程中分析资源消耗量的方法、测试终端及系统 | |
CN107590066A (zh) | 应用程序的测试方法、设备及可编程设备 | |
CN110166276A (zh) | 一种帧同步异常的定位方法、装置、终端设备和介质 | |
CN111881042B (zh) | 自动化测试脚本的生成方法、装置和电子设备 | |
CN108319575A (zh) | 一种页面组件的校验方法、装置、服务器和存储介质 | |
CN112214405B (zh) | 一种软件测试方法、装置、电子设备和可读存储介质 | |
CN109637536A (zh) | 一种自动化识别语义准确性的方法及装置 | |
CN107220169A (zh) | 一种模拟服务器返回定制化数据的方法和设备 | |
CN109710523B (zh) | 视觉稿的测试用例生成方法及装置、存储介质、电子设备 | |
US11631416B1 (en) | Audio content validation via embedded inaudible sound signal | |
CN109669829A (zh) | 一种基于bmc的诊断调试方法、装置及服务器 | |
CN110362294A (zh) | 开发任务执行方法、装置、电子设备及存储介质 | |
CN109726550A (zh) | 异常操作行为检测方法、装置及计算机可读存储介质 | |
CN103678054B (zh) | 用于BACnet设备的测试方法及装置 | |
Naith et al. | Hybrid crowd-powered approach for compatibility testing of mobile devices and applications | |
CN102854875A (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 |