CN111475412B - 软件测试方法、装置、电子设备和计算机可读存储介质 - Google Patents
软件测试方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111475412B CN111475412B CN202010251341.1A CN202010251341A CN111475412B CN 111475412 B CN111475412 B CN 111475412B CN 202010251341 A CN202010251341 A CN 202010251341A CN 111475412 B CN111475412 B CN 111475412B
- Authority
- CN
- China
- Prior art keywords
- execution
- use case
- layer
- target execution
- case
- 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
- 238000013522 software testing Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 238000012360 testing method Methods 0.000 claims abstract description 93
- 238000004140 cleaning Methods 0.000 claims description 13
- 238000002360 preparation method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000003466 anti-cipated effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000009331 sowing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提出一种软件测试方法、装置、电子设备和计算机可读存储介质,涉及互联网直播的软件测试领域。该方法应用于电子设备的软件测试装置,软件测试装置包括驱动层、页面层和用例层,驱动层包括多个执行操作的执行程序,页面层包括至少一个待执行用例,该方法包括:页面层响应用户的测试指令以确定至少一个待执行用例中的目标执行用例;驱动层确定目标执行用例对应的目标执行操作;用例层执行目标执行用例对应的所有目标执行操作,以获取目标执行用例的测试结果。执行用例为执行操作的组合,而每个执行操作的执行程序是不变的,页面的执行操作和执行操作的执行程序是分层的,软件测试维护不需接触底层逻辑,软件测试有效的减少了人工操作的步骤。
Description
技术领域
本发明涉及互联网直播的软件测试领域,具体而言,涉及一种软件测试方法、装置、电子设备和计算机可读存储介质。
背景技术
近年来,随着互联网行业的不断发展,各种软件程序所包含的功能越来越多,但目前一些用户界面(User Interface,UI)自动化技术并不能满足所有的Windows程序,也无法满足部分公司功能强大的Windows程序的UI自动化需求。
对于直播公司的个人计算机(Personal Computer,PC)开播工具,其基本功能在上线前需要通过UI自动化测试验证,以直播PC主播端为例:对于直播客户端,主播端每次发版上线前都必须保证主要且重要的功能处于正常状态,如所有直播方式的开关播、互动功能的开启和关闭、异常操作的开播提示等,现有技术是每次都依靠手工操作,大量浪费人力成本和时间成本;另外,现有的Windows程序自动化技术,基本都是通过Windows接口来对程序的底层进行操作,而越底层的东西越复杂,需要很多的封装,实现和维护的难度也较大。
因此,如何在避免纯人工的操作步骤并获取测试结果的前提下,减少程序的日常维护是目前亟需解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种软件测试方法、装置、电子设备和计算机可读存储介质,以至少解决背景技术中所提出的不足。
为了实现上述目的,本发明采用的技术方案如下:
第一方面,本发明提供一种软件测试方法,应用于电子设备的软件测试装置,所述软件测试装置包括驱动层、页面层和用例层,所述驱动层包括多个执行操作的执行程序,所述页面层包括至少一个待执行用例,所述用例层用于按照所述至少一个待执行用例的执行逻辑执行所述多个执行操作。所述软件测试方法包括:所述页面层响应用户的测试指令以确定所述至少一个待执行用例中的目标执行用例;所述驱动层确定所述目标执行用例对应的目标执行操作;所述用例层执行所述目标执行用例对应的所有所述目标执行操作,以获取所述目标执行用例的测试结果。
在可选的实施方式中,所述电子设备上安装有第一应用,所述目标执行用例为所述第一应用中的测试用例,所述多个执行操作包括清理所述电子设备的运行环境。在所述页面层响应用户的测试指令以确定所述至少一个待执行用例中的目标执行用例之前,所述方法还包括:所述页面层调用所述驱动层中的执行程序,以将所述电子设备置为预备模式;所述预备模式表征所述电子设备仅运行所述第一应用。
在可选的实施方式中,在所述页面层调用所述驱动层中的执行程序,以将所述电子设备置为预备模式之后,所述方法还包括:所述用例层将所述电子设备置为待测模式;所述待测模式表征所述第一应用中的当前执行用例为空。
在可选的实施方式中,所述目标执行用例属于所述第一应用中的第一用例类,所述第一应用还包括其它用例类。在获取到所述第一用例类中与所述测试指令对应的所有目标执行用例的测试结果之后,所述方法还包括:所述用例层关闭所述第一应用。
在可选的实施方式中,所述电子设备包括Python模块,所述软件测试装置与所述Python模块通过测试接口连接。所述驱动层确定所述目标执行用例对应的目标执行操作,包括:所述驱动层获取所述页面层中确定的所述目标执行用例;所述驱动层获取所述Python模块通过所述测试接口发送的所述目标执行用例对应的至少一个执行操作的第一执行逻辑;所述驱动层根据所述第一执行逻辑,确定所述目标执行操作。
第二方面,本发明提供一种软件测试装置,应用于电子设备,所述软件测试装置包括驱动层、页面层和用例层。所述驱动层包括多个执行操作的执行程序,所述页面层包括至少一个待执行用例,所述用例层用于按照所述至少一个待执行用例的执行逻辑执行所述多个执行操作。所述页面层用于响应用户的测试指令以确定所述至少一个待执行用例中的目标执行用例;所述驱动层用于确定所述目标执行用例对应的目标执行操作;所述用例层用于执行所述目标执行用例对应的所有所述目标执行操作,以获取所述目标执行用例的测试结果。
在可选的实施方式中,所述电子设备上安装有第一应用,所述目标执行用例为所述第一应用中的测试用例,所述多个执行操作包括清理所述电子设备的运行环境。所述页面层还用于调用所述驱动层中的执行程序,以将所述电子设备置为预备模式;所述预备模式表征所述电子设备仅运行所述第一应用。
在可选的实施方式中,所述用例层还用于将所述电子设备置为待测模式;所述待测模式表征所述第一应用中的当前执行用例为空。
在可选的实施方式中,所述目标执行用例属于所述第一应用中的第一用例类,所述第一应用还包括其它用例类;所述用例层还用于在获取到所述第一用例类中与所述测试指令对应的所有目标执行用例的测试结果之后,关闭所述第一应用。
在可选的实施方式中,所述电子设备包括Python模块,所述软件测试装置与所述Python模块通过测试接口连接。所述驱动层还用于获取所述页面层中确定的所述目标执行用例;所述驱动层还用于获取所述Python模块通过所述测试接口发送的所述目标执行用例对应的至少一个执行操作的第一执行逻辑;所述驱动层还用于根据所述第一执行逻辑,确定所述目标执行操作。
第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现上述实施方式中任一项所述的方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任一项所述的方法。
本发明提出一种软件测试方法、装置、电子设备和计算机可读存储介质,涉及互联网直播的软件测试领域。该软件测试方法应用于电子设备的软件测试装置,所述软件测试装置包括驱动层、页面层和用例层,所述驱动层包括多个执行操作的执行程序,所述页面层包括至少一个待执行用例,所述用例层用于按照所述至少一个待执行用例的执行逻辑执行所述多个执行操作;所述方法包括:所述页面层响应用户的测试指令以确定所述至少一个待执行用例中的目标执行用例;所述驱动层确定所述目标执行用例对应的目标执行操作;所述用例层执行所述目标执行用例对应的所有所述目标执行操作,以获取所述目标执行用例的测试结果。响应用户的测试指令以对目标执行用例进行测试,并获取目标执行用例的测试结果,有效的减少了人工操作的步骤;执行用例为执行操作的组合,而每个执行操作的执行程序是不变的,页面的执行操作和执行操作的执行程序是分层的,研发人员的维护不需要接触底层逻辑,软件测试变得更为便捷。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种软件测试装置的方框示意图;
图2为本发明实施例提供的一种软件测试方法的流程示意图;
图3为本发明实施例提供的另一种软件测试方法的流程示意图;
图4为本发明实施例提供的另一种软件测试方法的流程示意图;
图5为本发明实施例提供的另一种软件测试方法的流程示意图;
图6为本发明实施例提供的另一种软件测试方法的流程示意图;
图7为本发明实施例提供的另一种软件测试装置的示意图;
图8为本发明实施例提供的一种电子设备的方框示意图。
图标:软件测试装置-20,驱动层-21,页面层-22,用例层-23,电子设备-60,存储器-61,处理器-62,通信接口-63。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
目前市面上大多数的Windows程序,都是通过手工黑盒测试来完成对某些功能的测试,没有一套成熟的UI自动化框架;但在互联网直播的开播项目中,其基本功能在每次发版前都要手动回归,消耗了人力资源和时间成本。因此,如何对开启客户端、点击控件、点击坐标、识别窗口、图像识别、日志查找等测试和操作进行测试,在避免纯人工的操作步骤并判断结果的同时,减少程序的日常维护是目前亟需解决的问题。
为了解决上述问题和背景技术提出的不足,本发明实施例提供一种软件测试方法,应用于电子设备的软件测试装置,该电子设备可以是,但不限于手机、平板电脑、可穿戴设备、车载设备、增强现实(Augmented Reality,AR)/虚拟现实(Virtual Reality,VR)设备、笔记本电脑、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本、个人数字助理(Personal Digital Assistant,PDA)等,本发明实施例对电子设备的具体类型不作任何限制。
针对上述的软件测试装置,请参见图1,图1为本发明实施例提供的一种软件测试装置的方框示意图。软件测试装置20包括驱动层21、页面层22和用例层23,驱动层21包括多个执行操作的执行程序,页面层22包括至少一个待执行用例,待执行用例包括至少一个执行操作的执行逻辑,用例层23用于按照至少一个待执行用例的执行逻辑执行多个执行操作。
可以理解的,驱动层21(Driver)可以作为整个软件测试装置20的驱动装置模块,负责调用测试接口,封装对Windows程序的自动化操作方法;例如,启动/关闭客户端、查找控件、鼠标点击/长按、操作窗口、截图对比等,供目标执行用例驱动需要操作的客户端等;该客户端可以是和软件测试装置所处的电子设备连接的另一个电子设备,也可以集成在软件测试装置所处的电子设备。
页面层22以页面为对象,通过调用驱动层中封装的方法,实现对某个功能的常用执行操作;例如,在互联网直播的娱乐模式开播下,查找开播按钮并点击、判断是否添加摄像头、判断是否开播成功等。
用例层23实现目标执行用例的业务执行逻辑,通过调用页面层22中的待执行用例,完成一条具体用例和结果的判断。
可以理解的,通过三层结构,将底层驱动和待执行用例的业务、软件测试的实现分开,减少了代码冗余;研发人员在维护软件测试时,不需要接触软件测试的底层逻辑,有利于提高程序的维护效率。
下面在图1示出的软件测试装置的基础上,本发明实施例提出一种软件测试方法,请参见图2,图2为本发明实施例提供的一种软件测试方法的流程示意图。该软件测试方法包括:
S33,页面层响应用户的测试指令以确定至少一个待执行用例中的目标执行用例。
可以理解的,页面层也可以包括一个或多个待执行用例,多个待执行用例包括多个执行操作的执行逻辑;例如,页面层22可以采用Page Object设计模式,对待执行用例的脚本实现进行分层,将页面元素定位(执行逻辑)和页面元素操作(执行操作)分开。
S34,驱动层确定目标执行用例对应的目标执行操作。
应理解,目标执行用例包括至少一个执行操作,驱动层通过获取目标执行用例对应的目标执行操作,以便后续获取目标执行用例的测试结果。
S35,用例层执行目标执行用例对应的所有目标执行操作,以获取目标执行用例的测试结果。
应理解,用例层实现目标执行用例的业务执行逻辑,通过调用页面层22中的待执行用例,实现目标执行操作,完成目标执行用例及其测试结果的判断。
响应用户的测试指令以对目标执行用例进行测试,并获取目标执行用例的测试结果,有效的减少了人工操作的步骤;执行用例为执行操作的组合,而每个执行操作的执行程序是不变的,页面的执行操作和执行操作的执行程序是分层的,研发人员的维护不需要接触底层逻辑,软件测试变得更为便捷。
应理解的,现有的技术方案中,为了实现对目标执行用例的测试,在目标执行用例具有至少两个需要执行的目标执行操作时,若采用手动测试的方式,那么测试人员至少需要两次操作才能完成软件测试;而若是采用本申请实施例提供的软件测试方法,测试人员至多只需要一次操作就可以完成软件测试,以便得到目标执行用例的测试结果;在互联网直播场景中,通过每个执行用例具有较多的执行操作,也就是说,使用本申请实施例提供的软件测试方法可以极大程度的减少手动测试工作量,并且提高软件测试效率。
在可选的实施方式中,电子设备上可能运行有多个应用,导致在软件测试过程中,测试结果会受到电子设备上的其它应用的影响,在图2的基础上,以电子设备上安装有第一应用为例,请参见图3,图3为本发明实施例提供的另一种软件测试方法的流程示意图。上述的目标执行用例为第一应用中的测试用例,多个执行操作包括清理电子设备的运行环境。在上述的S33之前,该软件测试方法还可以包括:
S31,页面层调用驱动层中的执行程序,以将电子设备置为预备模式。
该预备模式表征电子设备仅运行第一应用。例如,用例层进行软件测试时,使用Unit Test框架,当软件测试程序启动后,每次执行一个用例类(Test Cases),通过“Set UpClass”清理电子设备的运行环境,例如清除日志、开播配置、检测网络等;用例类(TestCases)是指待执行用例所归属的用例类别,“Set Up Class”为用例类执行前执行环境预处理操作,如清理运行环境,如清除掉之前的开播日志,可以在整个用例类(Class)运行前执行一次。
可以理解的,通过在目标执行用例之前清理电子设备的运行环境,页面层将电子设备置为预备模式,可以避免测试结果受到电子设备上的其它应用的影响,提高软件测试的准确性。
在可选的实施方式中,第一应用中可能包括一个或多个待执行用例的测试,为避免多个待执行用例的测试过程互相影响,在图3的基础上,给出一种可能的实现方式,请参见图4,图4为本发明实施例提供的另一种软件测试方法的流程示意图。在上述的S31之后,该软件测试方法还可以包括:
S32,用例层将电子设备置为待测模式。
该待测模式表征第一应用中的当前执行用例为空。可以理解的,在目标执行用例执行之前,将电子设备的当前执行用例清理或完成,再进行目标执行用例的测试,可以避免当前执行的其它用例对目标执行用例的测试结果造成影响,提高软件测试的准确性。
例如,以目标执行用例是娱乐模式开关播为例,首先通过“SetUp Class”进行用例类执行前的执行环境预处理操作,页面层将电子设备置为预备模式,如清理运行环境,如清除掉之前的开播日志等;用例层在执行目标执行用例之前,通过“SetUp”将电子设备进一步置为待测模式,在娱乐模式开关播的场景下,通过“SetUp”打开第一应用,并将第一应用最大化、点击登陆、点击开播,实现在目标执行用例的执行之前,将电子设备准备好,以便进行目标执行用例的测试;“Set Up”是指用例类中目标执行用例的前置条件,在测试每条目标执行用例前执行。以目标执行用例是娱乐模式开关播为例,目标执行用例的执行过程包括:点击娱乐模式,进入开播预览界面,点击开播;判断是否开播成功,获取测试结果。可以预见的,在目标执行用例的测试完成后,还可以将电子设备恢复为正常状态,如关闭第一应用;以目标执行用例是娱乐模式开关播为例,将电子设备恢复为正常状态即为关闭第一应用。
在可选的实施方式中,要完成对第一应用的所有目标执行用例的测试,为了提高软件测试效率,可以将第一应用的所有目标执行用例按照功能的不同,划分为多个用例类,在图3的基础上,以目标执行用例属于第一应用中的第一用例类,第一应用还包括其它用例类为例,请参见图5,图5为本发明实施例提供的另一种软件测试方法的流程示意图。在获取到第一用例类中与测试指令对应的所有目标执行用例的测试结果之后,该软件测试方法还可以包括:
S36,用例层关闭第一应用。
例如,以目标执行用例是娱乐模式开关播为例,在获取每个目标执行用例的测试结果之后,通过“TearDown”将当前执行用例置为空;可以预见的,在同一个用例类(第一用例类),每执行完成一个目标执行用例,都可以通过“TearDown”关闭第一应用或将当前执行用例置为空,以便减少第一应用中可能的其它用例影响目标执行用例的测试结果;在第一用例类中的所有目标执行用例均完成测试后,还可以通过“Tear Down Class”来清理电子设备的运行环境;例如在整个用例类(第一用例类)执行结束后,清理电子设备的运行环境;整个用例类运行完成后可以只执行一次“Tear Down Class”,以便实现对电子设备的运行环境的清理。
可以理解的,通过在获取到第一用例类中与测试指令对应的所有目标执行用例的测试结果之后,用例层关闭第一应用,可以减少第一应用中的其它用例测试的影响,提高目标执行用例的测试结果的准确性。
在可选的实施方式中,为了确定目标执行用例中的目标执行操作和执行逻辑,在图3的基础上,以电子设备包括Python模块,软件测试装置与Python模块通过测试接口连接为例,请参见图6,图6为本发明实施例提供的另一种软件测试方法的流程示意图。上述的S34可以包括:
S341,驱动层获取页面层中确定的目标执行用例。
可以理解的,该目标执行用例可以是,但不限于娱乐模式开播下查找开播按钮并点击、判断是否添加摄像头、判断是否开播成功等。
S342,驱动层获取Python模块通过测试接口发送的目标执行用例对应的至少一个执行操作的第一执行逻辑。
应理解,该第一执行逻辑表征上述至少一个执行操作对应的执行顺序。例如,确定启动/关闭客户端、查找控件、鼠标点击/长按、操作窗口、截图对比等执行操作的执行先后顺序。
S343,驱动层根据第一执行逻辑,确定目标执行操作。
例如,以目标执行用例为娱乐模式开播下查找开播按钮并点击为例,目标执行用例可以包括但不限于启动/关闭客户端、查找控件、鼠标点击/长按、操作窗口、截图对比等执行操作,目标执行操作即为将上述执行操作按照第一执行逻辑进行梳理,以便用例层完成目标执行用例的测试。
针对上述的Python模块和测试接口,在图1的基础上,本发明实施例以上述的软件测试装置是“Python+UnitTest+Page Object”的设计模式为例,请参见图7,图7为本发明实施例提供的另一种软件测试装置的示意图。图7示出的“客户端”为上述的电子设备,“客户端”中包括“PC Driver”、“BasePage”、“Page1”、“Page2”、“Page N”、“TestCase1”、“TestCase2”、“TestCase N”、“Main”等;“PC Driver”为驱动层,驱动层调用PythonAutoIt接口(测试接口)封装对Windows程序执行操作的脚本代码(执行程序),页面层包括“BasePage”、“Page1”、“Page2”、“Page N”,用例层包括“TestCase1”、“TestCase2”、“TestCase N”、“Main”。应理解,由于编写待执行用例简单易维护,且不直接接触底层,在目标执行用例的测试过程中可以在窗口、界面上直接验证功能逻辑,有利于减少日常维护的难度,减少人工进行测试的复杂步骤。
可以预见的,本发明提供的软件测试方法和装置还可以推广至其他Windows程序使用,本发明提供的软件测试方法和装置,可以通过封装Python Auto It接口实现的驱动层,实现在Windows上自动操作程序的方法;Auto It是一个用于Microsoft Windows的免费自动化语言,主要旨在为Windows程序创建自动化脚本。Python Auto It的软件包可以提供Auto It的Python接口(测试接口),驱动层可通过Python Auto It调用Auto It的函数,本发明提供的软件测试方法。只要在设置中将驱动层中的启动程序修改为想要运行的程序,将页面层中的执行逻辑进行调整和设置,并根据需求修改页面层中具体执行用例步骤和判断结果的方法,通过驱动层就能调起该程序并执行各种操作,即可完成程序的自动化操作。
为了实现上述的软件测试方法,请继续参见图1,页面层21用于响应用户的测试指令以确定至少一个待执行用例中的目标执行用例。
驱动层22用于确定目标执行用例对应的目标执行操作。
用例层23用于执行目标执行用例对应的所有目标执行操作,以获取目标执行用例的测试结果。
应理解,页面层21、驱动层22和用例层23可以协同实现上述的S33~S35及其可能的子步骤。
在可选的实施方式中,电子设备上安装有第一应用,目标执行用例为第一应用中的测试用例,多个执行操作包括清理电子设备的运行环境。页面层还用于调用驱动层中的执行程序,以将电子设备置为预备模式;预备模式表征电子设备仅运行第一应用。
应理解,页面层21还可以实现上述的S31及其可能的子步骤。
在可选的实施方式中,用例层还用于将电子设备置为待测模式;待测模式表征第一应用中的当前执行用例为空。
应理解,用例层22还可以实现上述的S32及其可能的子步骤。
在可选的实施方式中,目标执行用例属于第一应用中的第一用例类,第一应用还包括其它用例类。用例层还用于在获取到第一用例类中与测试指令对应的所有目标执行用例的测试结果之后,关闭第一应用。
应理解,用例层22还可以实现上述的S36及其可能的子步骤。
在可选的实施方式中,电子设备包括Python模块,软件测试装置与Python模块通过测试接口连接。驱动层还用于获取页面层中确定的目标执行用例;驱动层还用于获取Python模块通过测试接口发送的目标执行用例对应的至少一个执行操作的第一执行逻辑;驱动层还用于根据第一执行逻辑,确定目标执行操作。
应理解,驱动层21还可以实现上述的S341~S343及其可能的子步骤。
为了实现上述任一实施例或实施方式中的软件测试方法,本发明实施例提供一种电子设备,如图8,图8为本发明实施例提供的一种电子设备的方框示意图。该电子设备60包括存储器61、处理器62和通信接口63。该存储器61、处理器62和通信接口63相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器61可用于存储软件程序及模块,如本发明实施例所提供的软件测试方法对应的程序指令/模块,处理器62通过执行存储在存储器61内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口63可用于与其他节点设备进行信令或数据的通信。在本发明中该电子设备60可以具有多个通信接口63。
其中,存储器61可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器62可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
电子设备60可以实现本发明提供的任一种软件测试方法。该电子设备60可以是,但不限于,手机、平板电脑、笔记本电脑、服务器或其它具有处理能力的电子设备。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本发明提出一种软件测试方法、装置、电子设备和计算机可读存储介质,涉及互联网直播的软件测试领域。该软件测试方法应用于电子设备的软件测试装置,软件测试装置包括驱动层、页面层和用例层,驱动层包括多个执行操作的执行程序,页面层包括至少一个待执行用例,用例层用于按照至少一个待执行用例的执行逻辑执行多个执行操作;该软件测试方法包括:页面层响应用户的测试指令以确定至少一个待执行用例中的目标执行用例;驱动层确定目标执行用例对应的目标执行操作;用例层执行目标执行用例对应的所有目标执行操作,以获取目标执行用例的测试结果。响应用户的测试指令以对目标执行用例进行测试,并获取目标执行用例的测试结果,有效的减少了人工操作的步骤;执行用例为执行操作的组合,而每个执行操作的执行程序是不变的,页面的执行操作和执行操作的执行程序是分层的,研发人员的维护不需要接触底层逻辑,软件测试变得更为便捷。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种软件测试方法,其特征在于,应用于电子设备的软件测试装置,所述软件测试装置包括驱动层、页面层和用例层,所述驱动层包括多个执行操作的执行程序,所述页面层包括至少一个待执行用例,所述用例层用于按照所述至少一个待执行用例的执行逻辑执行所述多个执行操作,所述电子设备上安装有第一应用,目标执行用例为所述第一应用中的测试用例,所述多个执行操作包括清理所述电子设备的运行环境;所述方法包括:
所述页面层调用所述驱动层中的执行程序,以将所述电子设备置为预备模式;所述预备模式表征所述电子设备仅运行所述第一应用;
所述用例层将所述电子设备置为待测模式;所述待测模式表征所述第一应用中的当前执行用例为空;
所述页面层响应用户的测试指令以确定所述至少一个待执行用例中的目标执行用例;
所述驱动层确定所述目标执行用例对应的目标执行操作;
所述用例层执行所述目标执行用例对应的所有所述目标执行操作,以获取所述目标执行用例的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述目标执行用例属于所述第一应用中的第一用例类,所述第一应用还包括其它用例类;
在获取到所述第一用例类中与所述测试指令对应的所有目标执行用例的测试结果之后,所述方法还包括:
所述用例层关闭所述第一应用。
3.根据权利要求1所述的方法,其特征在于,所述电子设备包括Python模块,所述软件测试装置与所述Python模块通过测试接口连接;
所述驱动层确定所述目标执行用例对应的目标执行操作,包括:
所述驱动层获取所述页面层中确定的所述目标执行用例;
所述驱动层获取所述Python模块通过所述测试接口发送的所述目标执行用例对应的至少一个执行操作的第一执行逻辑;
所述驱动层根据所述第一执行逻辑,确定所述目标执行操作。
4.一种软件测试装置,其特征在于,应用于电子设备,所述软件测试装置包括驱动层、页面层和用例层;所述驱动层包括多个执行操作的执行程序,所述页面层包括至少一个待执行用例,所述用例层用于按照所述至少一个待执行用例的执行逻辑执行所述多个执行操作,所述电子设备上安装有第一应用,目标执行用例为所述第一应用中的测试用例,所述多个执行操作包括清理所述电子设备的运行环境;
所述页面层还用于调用所述驱动层中的执行程序,以将所述电子设备置为预备模式;所述预备模式表征所述电子设备仅运行所述第一应用;
所述用例层将所述电子设备置为待测模式;所述待测模式表征所述第一应用中的当前执行用例为空;
所述页面层,用于响应用户的测试指令以确定所述至少一个待执行用例中的目标执行用例;
所述驱动层,用于确定所述目标执行用例对应的目标执行操作;
所述用例层,用于执行所述目标执行用例对应的所有所述目标执行操作,以获取所述目标执行用例的测试结果。
5.根据权利要求4所述的装置,其特征在于,所述电子设备包括Python模块,所述软件测试装置与所述Python模块通过测试接口连接;
所述驱动层还用于获取所述页面层中确定的所述目标执行用例;
所述驱动层还用于获取所述Python模块通过所述测试接口发送的所述目标执行用例对应的至少一个执行操作的第一执行逻辑;
所述驱动层还用于根据所述第一执行逻辑,确定所述目标执行操作。
6.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-3中任一项所述的方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010251341.1A CN111475412B (zh) | 2020-04-01 | 2020-04-01 | 软件测试方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010251341.1A CN111475412B (zh) | 2020-04-01 | 2020-04-01 | 软件测试方法、装置、电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111475412A CN111475412A (zh) | 2020-07-31 |
CN111475412B true CN111475412B (zh) | 2024-02-09 |
Family
ID=71749811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010251341.1A Active CN111475412B (zh) | 2020-04-01 | 2020-04-01 | 软件测试方法、装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475412B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328492B (zh) * | 2020-11-19 | 2022-10-14 | 腾讯科技(深圳)有限公司 | 一种主播间的互动控制方法、装置和电子设备 |
CN112363948B (zh) * | 2020-11-30 | 2024-04-09 | 深圳市六度人和科技有限公司 | 接口测试方法、装置、电子设备及存储介质 |
CN112835761B (zh) * | 2021-01-27 | 2023-05-23 | 广州虎牙科技有限公司 | 直播软件性能数据采集方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832231A (zh) * | 2017-12-05 | 2018-03-23 | 郑州云海信息技术有限公司 | 一种系统测试方法、装置及介质 |
CN108614774A (zh) * | 2018-04-24 | 2018-10-02 | 百度在线网络技术(北京)有限公司 | 自动化测试方法和装置 |
CN109815128A (zh) * | 2018-12-21 | 2019-05-28 | 北京奇艺世纪科技有限公司 | 测试用例的执行方法、装置、终端及计算机可读存储介质 |
-
2020
- 2020-04-01 CN CN202010251341.1A patent/CN111475412B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832231A (zh) * | 2017-12-05 | 2018-03-23 | 郑州云海信息技术有限公司 | 一种系统测试方法、装置及介质 |
CN108614774A (zh) * | 2018-04-24 | 2018-10-02 | 百度在线网络技术(北京)有限公司 | 自动化测试方法和装置 |
CN109815128A (zh) * | 2018-12-21 | 2019-05-28 | 北京奇艺世纪科技有限公司 | 测试用例的执行方法、装置、终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111475412A (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7209034B2 (ja) | エッジコンピューティングテスト方法、装置、機器及び読み取り可能な記憶媒体 | |
CN111475412B (zh) | 软件测试方法、装置、电子设备和计算机可读存储介质 | |
US8396815B2 (en) | Adaptive business process automation | |
CN107436844B (zh) | 一种接口用例合集的生成方法及装置 | |
WO2018184361A1 (zh) | 应用程序测试方法、服务器、终端和存储介质 | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
CN109815119B (zh) | 一种app链接渠道的测试方法及装置 | |
CN110955409B (zh) | 在云平台上创建资源的方法和装置 | |
CN114546738B (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
WO2021129335A1 (zh) | 操作监控方法及装置、操作分析方法及装置 | |
CN111309609B (zh) | 软件处理系统 | |
US7783927B2 (en) | Intelligent processing tools | |
CN113760763A (zh) | 软件测试方法、设备、服务器和系统 | |
CN107844486B (zh) | 一种用于客户端的分析网页问题的方法和系统 | |
CN111414309A (zh) | 应用程序的自动化测试方法、计算机设备和存储介质 | |
CN110888800A (zh) | 服务交互功能的测试方法、装置、存储介质及测试系统 | |
CN110232018A (zh) | 接口测试方法、装置、计算机设备 | |
CN112269697B (zh) | 一种设备存储性能测试方法、系统及相关装置 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN110795330A (zh) | 一种Monkey压力测试的方法和装置 | |
CN111949510B (zh) | 测试处理方法、装置、电子设备及可读存储介质 | |
CN113326193A (zh) | 一种小程序测试方法及装置 | |
CN113377648A (zh) | 软件系统诊断方法、装置、电子设备及计算机可读介质 | |
CN108960433B (zh) | 用于运行机器学习建模过程的方法及系统 | |
CN108108369B (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 |