CN111159014B - 探索性测试的响应方法及装置、计算机设备、存储介质 - Google Patents

探索性测试的响应方法及装置、计算机设备、存储介质 Download PDF

Info

Publication number
CN111159014B
CN111159014B CN201911283914.2A CN201911283914A CN111159014B CN 111159014 B CN111159014 B CN 111159014B CN 201911283914 A CN201911283914 A CN 201911283914A CN 111159014 B CN111159014 B CN 111159014B
Authority
CN
China
Prior art keywords
test
interface element
information
interface
record
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
CN201911283914.2A
Other languages
English (en)
Other versions
CN111159014A (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.)
Shenzhen Ping An Medical Health Technology Service Co Ltd
Original Assignee
Ping An Medical and Healthcare Management 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 Ping An Medical and Healthcare Management Co Ltd filed Critical Ping An Medical and Healthcare Management Co Ltd
Priority to CN201911283914.2A priority Critical patent/CN111159014B/zh
Publication of CN111159014A publication Critical patent/CN111159014A/zh
Application granted granted Critical
Publication of CN111159014B publication Critical patent/CN111159014B/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/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3692Test management for test results analysis

Abstract

本发明实施例提供了一种探索性测试的响应方法及装置、计算机设备、存储介质。一方面,该方法包括:获取测试对象的界面元素信息,并将所述界面元素信息存储在本地数据库;响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录;根据所述测试记录显示所述测试对象的测试状态信息。通过本发明,解决了现有技术中探索性测试效率低的技术问题。

Description

探索性测试的响应方法及装置、计算机设备、存储介质
【技术领域】
本发明涉及计算机领域,尤其涉及一种探索性测试的响应方法及装置、计算机设备、存储介质。
【背景技术】
传统的功能测试是先通过系统性地设计测试用例,对产品的需求进行多维度覆盖,然后对着测试用例进行测试执行。这种做法既保证了测试覆盖率,又能对测试工作量、测试质量进行追踪度量,是测试领域中通用的常规做法。
近年来提出了探索性测试的新概念,探索性测试无需测试用例,凭借着测试人员的经验,快速地对系统进行测试执行,并在遇到问题时及时改变测试策略。
探索性测试相比于传统测试,优点在于快速和灵活,能够跳过设计用例阶段,直接进行测试,在测试遇到障碍时予以避开,并且能够优先挑选最重要的主流程进行测试;缺点是测试质量无法保证,测试质量取决于测试人员的测试经验和对系统的熟悉程度,并在测试周期长、测试强度大的环境下容易造成疲劳,从而发生无效重复测试、漏测等情况。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
【发明内容】
有鉴于此,本发明实施例提供了一种探索性测试的响应方法及装置、计算机设备、存储介质。
一方面,本发明实施例提供了一种探索性测试的响应方法,所述方法包括:获取测试对象的界面元素信息,并将所述界面元素信息存储在本地数据库;响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录;根据所述测试记录显示所述测试对象的测试状态信息。
可选的,获取测试对象的界面元素信息包括:解析所述测试对象的超文本标记语言HTML源码;爬取所述HTML源码中的页面元素,生成元素信息表和元素关系表。
可选的,爬取所述HTML源码中的页面元素包括:使用广度优先搜索算法遍历所述HTML源码中主页面的第一元素信息;在探索到所述主页面还包括关联页面时,遍历所述关联页面上的第二元素信息,其中,所述关联页面包括子页面和兄弟页面。
可选的,响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录,包括:监测针对目标界面元素的探索性测试操作,记录所述探索性测试操作的测试信息,其中,所述测试信息包括:测试状态标识和至少以下之一:测试时间、累计测试次数、关联元素的元素名称、测试账号、测试结果,其中,所述测试状态标识用于表征所述目标界面元素是否已经执行过探索性测试;在所述目标界面元素的测试记录中更新所述测试信息。
可选的,响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录,包括:根据用户指令选择待测试的测试对象,其中,所述测试对象包括界面元素和与所述界面元素相关的关联代码;读取所述测试对象;将所述测试对象转移到沙箱环境中进行测试,得到测试结果;或者,在所述测试对象的全局代码中删除所述测试对象之外的代码,并对所述测试对象进行测试,得到测试结果;根据所述测试结果生成所述界面元素的测试记录。
可选的,根据所述测试记录显示所述测试对象的测试状态信息包括:响应驻留在一个或多个指定界面元素的悬停操作,读取所述指定界面元素的测试记录中的测试信息;根据所述测试信息在所述指定界面元素的关联界面显示所述测试状态信息。
可选的,根据所述测试记录显示所述测试对象的测试状态信息包括:实时检测所述测试对象的全局界面元素的测试记录中的测试状态标识;根据测试状态标识统计所述测试对象未执行测试的第一界面元素和已执行测试的第二界面元素;针对所述第一界面元素,在可视化界面的对应位置映射第一颜色;针对所述第二界面元素,在所述可视化界面的对应位置映射第二颜色。
可选的,在根据测试状态标识统计未执行测试的第一界面元素和已执行测试的第二界面元素之后,所述方法还包括:在报告窗口展示元素列表,其中,所述元素列表包括若干个所述第一界面元素。
另一方面,本发明实施例提供了一种探索性测试的响应装置,所述装置包括:获取模块,用于获取测试对象的界面元素信息,并将所述界面元素信息存储在本地数据库;生成模块,用于响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录;显示模块,用于根据所述测试记录显示所述测试对象的测试状态信息。
可选的,所述获取模块包括:解析单元,用于解析所述测试对象的超文本标记语言HTML源码;爬取单元,用于爬取所述HTML源码中的页面元素,生成元素信息表和元素关系表。
可选的,所述爬取单元包括:第一遍历子单元,用于使用广度优先搜索算法遍历所述HTML源码中主页面的第一元素信息;第二遍历子单元,用于在探索到所述主页面还包括关联页面时,遍历所述关联页面上的第二元素信息,其中,所述关联页面包括子页面和兄弟页面。
可选的,所述生成模块包括:记录单元,用于监测针对目标界面元素的探索性测试操作,记录所述探索性测试操作的测试信息,其中,所述测试信息包括:测试状态标识和至少以下之一:测试时间、累计测试次数、关联元素的元素名称、测试账号、测试结果,其中,所述测试状态标识用于表征所述目标界面元素是否已经执行过探索性测试;更新单元,用于在所述目标界面元素的测试记录中更新所述测试信息。
可选的,所述生成模块包括:选择单元,用于根据用户指令选择待测试的测试对象,其中,所述测试对象包括界面元素和与所述界面元素相关的关联代码;读取单元,用于读取所述测试对象;测试单元,用于将所述测试对象转移到沙箱环境中进行测试,得到测试结果;或者,在所述测试对象的全局代码中删除所述测试对象之外的代码,并对所述测试对象进行测试,得到测试结果;生成单元,用于根据所述测试结果生成所述界面元素的测试记录。
可选的,所述显示模块包括:读取单元,用于响应驻留在一个或多个指定界面元素的悬停操作,读取所述指定界面元素的测试记录中的测试信息;显示单元,用于根据所述测试信息在所述指定界面元素的关联界面显示所述测试状态信息。
可选的,所述记录单元包括:检测子单元,用于实时检测所述测试对象的全局界面元素的测试记录中的测试状态标识;统计子单元,用于根据测试状态标识统计所述测试对象未执行测试的第一界面元素和已执行测试的第二界面元素;映射子单元,用于针对所述第一界面元素,在可视化界面的对应位置映射第一颜色;针对所述第二界面元素,在所述可视化界面的对应位置映射第二颜色。
可选的,所述记录单元还包括:显示子单元,用于在所述统计子单元根据测试状态标识统计未执行测试的第一界面元素和已执行测试的第二界面元素之后,在报告窗口展示元素列表,其中,所述元素列表包括若干个所述第一界面元素。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,获取测试对象的界面元素信息,并将界面元素信息存储在本地数据库,然后响应针对界面元素的探索性测试操作,生成界面元素的测试记录,最后根据测试记录显示测试对象的测试状态信息,基于测试对象的界面元素显示测试对象的测试状态信息,测试人员可以实时了解测试进程和已完成的测试任务,解决了现有技术中探索性测试效率低的技术问题,通过填补探索性测试领域的空白,提高测试覆盖率、降低重复劳动的可能性、无需侵入测试对象的程序代码、也不会对已有的测试方案和测试习惯进行干扰。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例的一种探索性测试的响应计算机的硬件结构框图;
图2是根据本发明实施例的探索性测试的响应方法的流程图;
图3是本发明实施例的功能示意图;
图4是本发明实施例整体方案的流程图;
图5是本发明实施例执行程序的架构图;
图6是根据本发明实施例的探索性测试的响应装置的结构框图。
【具体实施方式】
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机、服务器或者类似的运算装置中执行。以运行在计算机上为例,图1是本发明实施例的一种探索性测试的响应计算机的硬件结构框图。如图1所示,计算机10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,计算机10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的探索性测试的响应方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种探索性测试的响应方法,图2是根据本发明实施例的探索性测试的响应方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取测试对象的界面元素信息,并将所述界面元素信息存储在本地数据库;
在测试平台或测试系统中打开浏览器,登录到被测系统。
本实施的测试对象可以是任意前端或者UI界面,如将超文本标记语言(HyperText Markup Language,HTML)网页当作测试对象,在执行过程中,可以在客户端中打开浏览器,然后对浏览器进行测试操作。
步骤S204,响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录;
步骤S206,根据所述测试记录显示所述测试对象的测试状态信息。
通过本实施例的方案,获取测试对象的界面元素信息,并将界面元素信息存储在本地数据库,然后响应针对界面元素的探索性测试操作,生成界面元素的测试记录,最后根据测试记录显示测试对象的测试状态信息,基于测试对象的界面元素显示测试对象的测试状态信息,测试人员可以实时了解测试进程和已完成的测试任务,解决了现有技术中探索性测试效率低的技术问题,通过填补探索性测试领域的空白,提高测试覆盖率、降低重复劳动的可能性、无需侵入测试对象的程序代码、也不会对已有的测试方案和测试习惯进行干扰。
本实施例的执行主体是客户端,手机、平板、电脑、服务器等,也可以应在测试后台,测试中台等测试系统中。
在本实施例中,获取测试对象的界面元素信息包括:
S11,解析所述测试对象的超文本标记语言HTML源码;
S12,爬取所述HTML源码中的页面元素,生成元素信息表和元素关系表。
在本实施例的一个实施方式中,爬取所述HTML源码中的页面元素包括:使用广度优先搜索算法遍历所述HTML源码中主页面的第一元素信息;在探索到所述主页面还包括关联页面时,遍历所述关联页面上的第二元素信息,其中,所述关联页面包括子页面和兄弟页面。
通过初始化界面信息进入探索性测试的测试准备阶段,本实施例自动进行界面探索,记录所有界面元素并保存,为后续元素操作和报告提供初始化信息。在初始化状态,通过自动探索主页面和主页面的关联界面,保存所有初始化界面元素信息。触发客户端自动爬取当前页面元素信息,并根据策略进行子页面和兄弟页面探索。页面元素信息保存在本地数据库中;
本实施例的界面探索的场景分为多种,在此进行举例说明:
在纯B/S(Browser/Server,浏览器/服务器模式)架构中,B端由HTML构成,界面元素的动作(超链接、请求等)都是可以从HTML源码中分析出来的,对用户来说是“透明”的,因此能够实现探索。
在纯C/S(Client/Server,客户端/服务器)架构中,C端界面元素的操作是由代码隐藏在元素事件中的,无法显性地从表面上看到,必须从代码源码中分析得出,而源码除非公开,不然无法“探索界面”。
在伪C/S架构中,C端实际打开的是浏览器,本质上是B/S架构,这种情况下一般能够参考上述1)所示,能够进行探索。
本方案的被测对象,从硬件上角度来说是不做限制的,但是从软件角度上只针对浏览器方式进行,核心原因是浏览器中的HTML源码是明文可以分析的。如果被测对象的界面元素的源码是直观可见的,或者是在解析后可见的,也同样适用。
在本实施例的一个实施方式中,响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录,包括:监测针对目标界面元素的探索性测试操作,记录所述探索性测试操作的测试信息,其中,所述测试信息包括:测试状态标识和至少以下之一:测试时间、累计测试次数、关联元素的元素名称、测试账号、测试结果,其中,所述测试状态标识用于表征所述目标界面元素是否已经执行过探索性测试;在所述目标界面元素的测试记录中更新所述测试信息。
测试人员开始在浏览器上做探索性测试。测试期间,客户端自动更新操作过的界面元素信息。同时测试人员可以通过鼠标悬停等操作查看界面元素的测试信息。生成测试记录的流程包括:
根据用户指令选择待测试的界面元素,也可以是随机选择的界面元素;
在预设的测试用例库中查找与界面元素的元素类型匹配的测试用例;或者进一步查找与测试任务匹配的测试用例,如特定功能的功能测试,特定性能的性能测试等;
使用测试用例对选择的界面元素执行探索性测试,包括两种方式:读取界面元素以及相关元素的代码(如界面元素为某个函数表达式的子函数,为保证子函数能正常执行,还应读取其母函数或者添加一个通用的母函数),对选择的代码转移在独立的运行环境中进行测试,得到测试结果;或者在整个测试对象的全局代码中隐藏或删除与界面元素不相关的代码,然后对测试对象(剩下的代码)进行测试,得到测试结果;
将测试累计次数加1后,使用测试结果(成功,失败,是否达到预期等),测试时间,使用的测试用例等信息生成界面元素的测试记录,与对应的界面元素关联后保存在本地数据库。
由于每个界面原色的探索性测试可以是同时执行的,生成测试记录的时间也可能不同,实时更新测试信息,测试执行阶段,自动捕获用户操作的界面元素,将元素相关的测试记录信息实时更新至本地数据库保存。
在本实施例中,可以在多个场景,多个触发条件下显示测试对象的测试状态信息。包括单个网页元素的测试状态,和整个测试对象的测试状态。测试完成后,测试人员可以查看测试基于测试对象的所有界面元素的测试覆盖率报告。实时显示:在测试执行阶段,测试人员可以通过鼠标悬停方式,从悬浮窗实时获取界面元素的测试信息(包含但不限于:是否操作过、操作时间、操作次数、上一步操作元素名称、测试账号、是否测试通过等)。检测鼠标的悬停位置,读取该位置的页面元素,显示该网页元素的测试状态信息。测试任意阶段,可以可视化显示界面元素的覆盖情况(如绿色表示已覆盖,红色表示未覆盖),同时可以列出未覆盖的界面元素列表。
在一个示例中,根据所述测试记录显示所述测试对象的测试状态信息包括:响应驻留在一个或多个指定界面元素的悬停操作,读取所述指定界面元素的测试记录中的测试信息;根据所述测试信息在所述指定界面元素的关联界面显示所述测试状态信息。
在另一个示例中,根据所述测试记录显示所述测试对象的测试状态信息包括:实时检测所述测试对象的全局界面元素的测试记录中的测试状态标识;根据测试状态标识统计所述测试对象未执行测试的第一界面元素和已执行测试的第二界面元素;针对所述第一界面元素,在可视化界面的对应位置映射第一颜色;针对所述第二界面元素,在所述可视化界面的对应位置映射第二颜色。
可选的,在根据测试状态标识统计未执行测试的第一界面元素和已执行测试的第二界面元素之后,进一步还包括:在报告窗口展示元素列表,其中,所述元素列表包括若干个所述第一界面元素。
图3是本发明实施例的功能示意图,是一个功能地图,将本实施例的方案对应执行主体中的一个功能模块,包括:
初始化界面信息:测试准备阶段,本发明装置会自动进行界面探索,记录所有界面元素并保存,为后续元素操作和报告提供初始化信息。
实时更新测试信息:测试执行阶段,本发明装置自动捕获用户操作的元素,将元素相关信息实时更新至本地数据库保存。
实时显示:测试执行阶段,测试人员可以通过鼠标悬停方式,从悬浮窗实时获取界面元素的测试信息(包含但不限于:是否操作过、操作时间、操作次数、上一步操作元素名称等)。
报告:测试任意阶段,可以可视化显示界面元素的覆盖情况(绿色表示已覆盖,红色表示未覆盖),同时可以列出未覆盖的界面元素列表。
图4是本发明实施例整体方案的流程图,用于对实施方案的执行场景进行说明,包括以下步骤:
在客户端打开浏览器,登录被测系统。本装置就只有一个客户端,使用的时候就是在客户端中打开浏览器,然后正常操作即可。
自动探索主页面和关联子界面,保存所有初始化界面元素信息。该步骤相当于初始化步骤,让客户端自动爬取当前页面元素信息,并根据策略进行子页面和兄弟页面探索。这些信息最终会落地在本地数据库中,供【实时更新测试信息】【实时显示】【报告】等模块使用。
测试人员开始在浏览器上做探索性测试。测试期间,客户端自动更新操作过的界面元素信息,同时测试人员可以通过鼠标悬停查看界面元素的测试信息。
测试完成后,测试人员可以查看测试基于界面元素的测试覆盖率报告。
在一个应用场景中,本发明装置为运行在客户端的一个客户端程序,通过客户端调用本地浏览器,测试人员在浏览器中正常操作。本客户端的作用是在浏览器的基础上获取用户操作界面元素的信息,通过客户端逻辑进行信息整合,对用户提供可视化测试信息和报告功能。
图5是本发明实施例执行程序的架构图,从横向看具有4层分层,从上至下分别是:展示层、业务逻辑层、数据访问层、数据库;从纵向看,正好契合功能地图中的4大功能点:
功能模块【初始化界面信息】,对应架构图中的以下操作流程:【初始化】-【界面探索分析】-【数据保存】-【本地数据库】。其中【界面探索分析】包括:解析HTML源码,以广度优先搜索算法遍历所有元素信息,如遇页面跳转需要继续探索,最终形成一张元素信息表和元素关系表。网页元素是构成页面的基础,各有自己相应的作用,元素决定了页面的文档类型和显示效果,同时也直接影响页面中各种元素能否正常显示。按照类型,网页元素包括:页面头部元素<head>,页面标题元素<title>,元信息元素<meta>,页面主体元素<body>,样式元素<style>,脚本元素<script>。下面分别进行介绍和说明:
页面头部元素和页面标题元素是头部信息的主要组成;meta元素提供的信息不显示在页面中,一般用来定义页面信息的说明、关键字、刷新等;网页的主体部分包括要在浏览器中显示处理的所有信息,在网页的主体标记中有很多的属性设置,包括网页的背景设置、文字属性设置和链接设置等;<style>标签用于为HTML文档定义样式信息。在style中,可以规定在浏览器中如何呈现HTML文档。type属性是必需的,定义style元素的内容;<script>标签用于定义客户端脚本,如JavaScript。script元素既可以包含脚本语句,也可以通过src属性指向外部脚本文件。必需的type属性规定脚本的MIME类型。JavaScript的常见应用是图像操作、表单验证以及动态内容更新。
功能模块【实时更新测试信息】,对应架构图中的以下操作流程:【鼠标操作】-【界面元素捕获】-【数据保存】-【本地数据库】。通过监控用户鼠标操作的句柄,捕捉鼠标点击的界面元素信息,更新该元素在数据库中的测试信息;
功能模块【实时显示】,对应架构图中的以下操作流程:【本地数据库】-【数据提取】-【提示信息分析】-【悬停浮动窗口】。当触发鼠标悬停元素的事件时,从数据库中读取该元素的历史测试信息,在浮动窗口中显示该信息;
功能模块【报告】,对应架构图中的以下操作流程:【本地数据库】-【数据提取】-【报告数据分析】-【报告窗口】。将数据库中的结构化数据,通过相互关系转换为可视化图表展示界面。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种探索性测试的响应装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的探索性测试的响应装置的结构框图,如图6所示,该装置包括:
获取模块60,用于获取测试对象的界面元素信息,并将所述界面元素信息存储在本地数据库;
生成模块62,用于响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录;
显示模块64,用于根据所述测试记录显示所述测试对象的测试状态信息。
可选的,所述获取模块包括:解析单元,用于解析所述测试对象的超文本标记语言HTML源码;爬取单元,用于爬取所述HTML源码中的页面元素,生成元素信息表和元素关系表。
可选的,所述爬取单元包括:第一遍历子单元,用于使用广度优先搜索算法遍历所述HTML源码中主页面的第一元素信息;第二遍历子单元,用于在探索到所述主页面还包括关联页面时,遍历所述关联页面上的第二元素信息,其中,所述关联页面包括子页面和兄弟页面。
可选的,所述生成模块包括:记录单元,用于监测针对目标界面元素的探索性测试操作,记录所述探索性测试操作的测试信息,其中,所述测试信息包括:测试状态标识和至少以下之一:测试时间、累计测试次数、关联元素的元素名称、测试账号、测试结果,其中,所述测试状态标识用于表征所述目标界面元素是否已经执行过探索性测试;更新单元,用于在所述目标界面元素的测试记录中更新所述测试信息。
可选的,所述生成模块包括:选择单元,用于根据用户指令选择待测试的测试对象,其中,所述测试对象包括界面元素和与所述界面元素相关的关联代码;读取单元,用于读取所述测试对象;测试单元,用于将所述测试对象转移到沙箱环境中进行测试,得到测试结果;或者,在所述测试对象的全局代码中删除所述测试对象之外的代码,并对所述测试对象进行测试,得到测试结果;生成单元,用于根据所述测试结果生成所述界面元素的测试记录。
可选的,所述显示模块包括:读取单元,用于响应驻留在一个或多个指定界面元素的悬停操作,读取所述指定界面元素的测试记录中的测试信息;显示单元,用于根据所述测试信息在所述指定界面元素的关联界面显示所述测试状态信息。
可选的,所述记录单元包括:检测子单元,用于实时检测所述测试对象的全局界面元素的测试记录中的测试状态标识;统计子单元,用于根据测试状态标识统计所述测试对象未执行测试的第一界面元素和已执行测试的第二界面元素;映射子单元,用于针对所述第一界面元素,在可视化界面的对应位置映射第一颜色;针对所述第二界面元素,在所述可视化界面的对应位置映射第二颜色。
可选的,所述记录单元还包括:显示子单元,用于在所述统计子单元根据测试状态标识统计未执行测试的第一界面元素和已执行测试的第二界面元素之后,在报告窗口展示元素列表,其中,所述元素列表包括若干个所述第一界面元素。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取测试对象的界面元素信息,并将所述界面元素信息存储在本地数据库;
S2,响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录;
S3,根据所述测试记录显示所述测试对象的测试状态信息。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取测试对象的界面元素信息,并将所述界面元素信息存储在本地数据库;
S2,响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录;
S3,根据所述测试记录显示所述测试对象的测试状态信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (9)

1.一种探索性测试的响应方法,其特征在于,所述方法包括:
获取测试对象的界面元素信息,并将所述界面元素信息存储在本地数据库;
响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录;
根据所述测试记录显示所述测试对象的测试状态信息;
其中,所述响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录,包括:
根据用户指令选择待测试的测试对象,其中,所述测试对象包括界面元素和与所述界面元素相关的关联代码;
在预设的测试用例库中查找与界面元素的元素类型匹配的测试用例,进一步查找与测试任务匹配的测试用例;
读取所述测试对象;
在所述测试对象的全局代码中删除所述测试对象之外的代码,并对所述测试对象剩下的代码进行测试,得到测试结果;
根据测试结果生成界面元素的测试记录,与对应的界面元素关联后保存在本地数据库。
2.根据权利要求1所述的方法,其特征在于,获取测试对象的界面元素信息包括:
解析所述测试对象的超文本标记语言HTML源码;
爬取所述HTML源码中的页面元素,生成元素信息表和元素关系表。
3.根据权利要求2所述的方法,其特征在于,爬取所述HTML源码中的页面元素包括:
使用广度优先搜索算法遍历所述HTML源码中主页面的第一元素信息;
在探索到所述主页面还包括关联页面时,遍历所述关联页面上的第二元素信息,其中,所述关联页面包括子页面和兄弟页面。
4.根据权利要求1所述的方法,其特征在于,响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录,包括:
监测针对目标界面元素的探索性测试操作,记录所述探索性测试操作的测试信息,其中,所述测试信息包括:测试状态标识和至少以下之一:测试时间、累计测试次数、关联元素的元素名称、测试账号、测试结果,其中,所述测试状态标识用于表征所述目标界面元素是否已经执行过探索性测试;
在所述目标界面元素的测试记录中更新所述测试信息。
5.根据权利要求1所述的方法,其特征在于,根据所述测试记录显示所述测试对象的测试状态信息包括:
响应驻留在一个或多个指定界面元素的悬停操作,读取所述指定界面元素的测试记录中的测试信息;
根据所述测试信息在所述指定界面元素的关联界面显示所述测试状态信息。
6.根据权利要求1所述的方法,其特征在于,根据所述测试记录显示所述测试对象的测试状态信息包括:
实时检测所述测试对象的全局界面元素的测试记录中的测试状态标识;
根据测试状态标识统计所述测试对象未执行测试的第一界面元素和已执行测试的第二界面元素;
针对所述第一界面元素,在可视化界面的对应位置映射第一颜色,针对所述第二界面元素,在所述可视化界面的对应位置映射第二颜色;和/或,在报告窗口展示元素列表,其中,所述元素列表包括若干个所述第一界面元素。
7.一种探索性测试的响应装置,其特征在于,所述装置包括:
获取模块,用于获取测试对象的界面元素信息,并将所述界面元素信息存储在本地数据库;
生成模块,用于响应针对界面元素的探索性测试操作,生成所述界面元素的测试记录;
显示模块,用于根据所述测试记录显示所述测试对象的测试状态信息;
其中,所述生成模块包括:
选择单元,用于根据用户指令选择待测试的测试对象,其中,所述测试对象包括界面元素和与所述界面元素相关的关联代码;在预设的测试用例库中查找与界面元素的元素类型匹配的测试用例,进一步查找与测试任务匹配的测试用例;
读取单元,用于读取所述测试对象;
测试单元,用于在所述测试对象的全局代码中删除所述测试对象之外的代码,并对所述测试对象剩下的代码进行测试,得到测试结果;
生成单元,用于根据所述测试结果生成所述界面元素的测试记录,与对应的界面元素关联后保存在本地数据库。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201911283914.2A 2019-12-13 2019-12-13 探索性测试的响应方法及装置、计算机设备、存储介质 Active CN111159014B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911283914.2A CN111159014B (zh) 2019-12-13 2019-12-13 探索性测试的响应方法及装置、计算机设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911283914.2A CN111159014B (zh) 2019-12-13 2019-12-13 探索性测试的响应方法及装置、计算机设备、存储介质

Publications (2)

Publication Number Publication Date
CN111159014A CN111159014A (zh) 2020-05-15
CN111159014B true CN111159014B (zh) 2022-05-06

Family

ID=70557071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911283914.2A Active CN111159014B (zh) 2019-12-13 2019-12-13 探索性测试的响应方法及装置、计算机设备、存储介质

Country Status (1)

Country Link
CN (1) CN111159014B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694755B (zh) * 2020-07-31 2023-07-18 抖音视界有限公司 应用程序测试方法、装置、电子设备及介质
CN112612469A (zh) * 2020-12-30 2021-04-06 深圳市联谛信息无障碍有限责任公司 一种界面元素的处理方法、装置和电子设备
CN112732579B (zh) * 2021-01-11 2023-05-02 深圳市瑞云科技有限公司 一种WebUI的自动化测试方法和系统
CN113138933A (zh) * 2021-05-13 2021-07-20 网易(杭州)网络有限公司 数据表的测试方法、电子设备及存储介质
CN113238958A (zh) * 2021-06-01 2021-08-10 广东好太太智能家居有限公司 一种大数据可视化平台的自动测试方法及装置、电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521121A (zh) * 2011-11-18 2012-06-27 华为技术有限公司 一种页面测试方法和页面测试装置
CN104123219A (zh) * 2013-04-28 2014-10-29 国际商业机器公司 测试软件的方法和设备
WO2017049649A1 (en) * 2015-09-26 2017-03-30 Intel Corporation Technologies for automated application exploratory testing
US9727447B1 (en) * 2015-01-16 2017-08-08 Amdocs Software Systems Limited System, method, and computer program for automated exploratory testing
CN107678940A (zh) * 2017-08-30 2018-02-09 苏州朗动网络科技有限公司 基于安卓app的自动化探索测试方法及系统
CN109471793A (zh) * 2018-09-29 2019-03-15 天津大学 一种基于深度学习的网页自动化测试缺陷定位方法
CN109828921A (zh) * 2019-01-18 2019-05-31 上海极链网络科技有限公司 Html5网页自动化功能测试方法、系统和电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016122508A1 (en) * 2015-01-29 2016-08-04 Hewlett Packard Enterprise Development Lp Test generation for browser-based user interface

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521121A (zh) * 2011-11-18 2012-06-27 华为技术有限公司 一种页面测试方法和页面测试装置
CN104123219A (zh) * 2013-04-28 2014-10-29 国际商业机器公司 测试软件的方法和设备
US9727447B1 (en) * 2015-01-16 2017-08-08 Amdocs Software Systems Limited System, method, and computer program for automated exploratory testing
WO2017049649A1 (en) * 2015-09-26 2017-03-30 Intel Corporation Technologies for automated application exploratory testing
CN107678940A (zh) * 2017-08-30 2018-02-09 苏州朗动网络科技有限公司 基于安卓app的自动化探索测试方法及系统
CN109471793A (zh) * 2018-09-29 2019-03-15 天津大学 一种基于深度学习的网页自动化测试缺陷定位方法
CN109828921A (zh) * 2019-01-18 2019-05-31 上海极链网络科技有限公司 Html5网页自动化功能测试方法、系统和电子设备

Also Published As

Publication number Publication date
CN111159014A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN111159014B (zh) 探索性测试的响应方法及装置、计算机设备、存储介质
CN107562620B (zh) 一种埋点自动设置方法和装置
JP7386889B2 (ja) Gui要素の複数の代替表記を使用したgui要素獲得
CN105468779B (zh) 一种面向浏览器兼容性检测的客户端Web应用捕获与重放系统及方法
US9195572B2 (en) Systems and methods for identifying user interface (UI) elements
CN102272757B (zh) 用于执行客户端浏览器状态的服务器端记录的方法和系统
CN110944048B (zh) 业务逻辑配置方法及装置
CN107633019A (zh) 一种页面事件采集方法和装置
CN107239389A (zh) 一种在混合app中确定用户操作记录的方法及装置
US10901730B2 (en) Identifying equivalent javascript events
CN108293081A (zh) 通过用户界面事件的程序重放深度链接到移动应用状态
JP2005531854A (ja) サイト訪問パスデータの取得および表示
CA2788990A1 (en) Systems and methods for monitoring and enhancing software applications
CN105183630B (zh) 应用程序测试方法及装置
CN106294094A (zh) 游戏服务器的测试方法、客户端、服务器及系统
CN108304410A (zh) 一种异常访问页面的检测方法、装置及数据分析方法
US8838559B1 (en) Data mining through property checks based upon string pattern determinations
CN112486708B (zh) 页面操作数据的处理方法和处理系统
US11436133B2 (en) Comparable user interface object identifications
CN106357719A (zh) 用于网络应用的基于页面的事件相关
CN105959180A (zh) 数据检测方法及装置
CN103838862A (zh) 一种视频搜索的方法、装置及终端
CN110334302B (zh) 复杂Web应用前端运行时分析方法
CN110866205A (zh) 用于存储信息的方法和装置
CN114511353A (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: 20220525

Address after: 518000 China Aviation Center 2901, No. 1018, Huafu Road, Huahang community, Huaqiang North Street, Futian District, Shenzhen, Guangdong Province

Patentee after: Shenzhen Ping An medical and Health Technology Service Co.,Ltd.

Address before: Room 12G, Area H, 666 Beijing East Road, Huangpu District, Shanghai 200001

Patentee before: PING AN MEDICAL AND HEALTHCARE MANAGEMENT Co.,Ltd.

TR01 Transfer of patent right