CN106021103A - 一种基于代码变更的移动应用测试脚本自动维护方法 - Google Patents
一种基于代码变更的移动应用测试脚本自动维护方法 Download PDFInfo
- Publication number
- CN106021103A CN106021103A CN201610323917.4A CN201610323917A CN106021103A CN 106021103 A CN106021103 A CN 106021103A CN 201610323917 A CN201610323917 A CN 201610323917A CN 106021103 A CN106021103 A CN 106021103A
- Authority
- CN
- China
- Prior art keywords
- change
- model
- script
- code
- sequence
- 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
- 230000008859 change Effects 0.000 title claims abstract description 152
- 238000012360 testing method Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012423 maintenance Methods 0.000 title claims abstract description 23
- 238000004458 analytical method Methods 0.000 claims abstract description 18
- 230000008439 repair process Effects 0.000 claims abstract description 9
- 238000001914 filtration Methods 0.000 claims abstract 2
- 238000012986 modification Methods 0.000 claims description 36
- 230000004048 modification Effects 0.000 claims description 36
- 238000013507 mapping Methods 0.000 claims description 20
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 230000007704 transition Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 1
- 206010027476 Metastases Diseases 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000009401 metastasis Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012956 testing procedure 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/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- 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/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
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)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出的一种基于代码变更的移动应用测试脚本自动维护方法,包括以下步骤:步骤1、代码变更分析:分析新旧版本代码中产生变化的代码,进行过滤后,获取导致界面行为模型产生变更的代码变更;步骤2、模型变更分析:利用代码和模型中元素的对应关系对模型进行行为变更分析,得到行为变更信息以及模型变更信息,将变更应用在模型中,得到新模型;步骤3、脚本变更修复:将脚本语句抽象为事件序列,根据行为变更信息、模型变更信息,修复和更新脚本对应的事件序列,得到能够正常使用的新脚本。对受到影响的脚本中的事件序列进行自动的维护和更新,最终得到可以应用在新版本中的脚本,以减轻测试人员维护脚本的负担。
Description
技术领域
本发明涉及移动应用测试中脚本的自动维护方法,属于移动应用测试、脚本测试、模型驱动的测试交叉技术领域。
背景技术
在移动应用领域,移动应用开发周期短且迭代速度快,同时由于设备软硬件种类繁多,需要大量测试工作。在移动应用的测试中,主要采用人工测试以及脚本驱动的测试方法,后者需要测试人员编写大量测试脚本或者采用模型驱动的测试方法自动生成测试脚本,来达到批量测试的目的,此处测试脚本为使用脚本编程语言所写的代码,能够在测试工具的支撑下对应用进行测试。然而在版本迭代回归过程中,功能的增删、布局的改动等都会影响移动应用的界面和结构等内容,使之前正确的脚本失效,降低了脚本回归的效率和能力,违背了自动化测试的初衷,其中一些细小的更改甚至需要测试人员重写大量脚本,增加了测试人员的负担,或者局部的更改需要从模型中重新生成全部脚本,在模型规模较大时会造成较大的开销。由于移动应用为事件驱动的软件,采用界面行为的状态机模型描述较为合适,在状态机模型中可以采用屏幕变化定义状态、采用用户事件定义转换规则,利用行为状态机模型可以描述当前应用的行为、事件序列等,模型与代码、脚本之间存在明确的映射关系。
模型采用建模语言来表示,能够描述软件的行为、结构和功能,贯穿整个开发和测试流程,无论是设计阶段、开发阶段或者是测试阶段,模型都是十分重要的组成部分。模型在测试领域应用也十分的广泛,例如模型驱动的测试是以模型为基础,生成测试用例并进行测试执行,是软件测试中常用的手段和重要的研究课题。模型与设计、代码之间往往有较为明确的对应关系,含有软件的基本信息和结构。然而软件可能会由于需求变更、优化、漏洞修复等各种原因进行版本的变更,版本的变更往往跟随者代码的变更以及模型的变更。
《一种提高性能测试脚本重用率的方法》(申请号:201210474774.9):针对性能测试中的数据变更问题,通过对脚本数据的维护和管理,使得脚本可以应用于变更后的程序,并不修改脚本本身,因此不能适用于代码变更的新版本程序。
《跨模型的图形用户界面测试脚本自动修复方法》(申请号:201110419535.9):生成两个版本的EFG模型,对新模型中找不到的事件进行修复,在修复过程中还需要工程师逐个指定程序修复的方式,无法一直迭代循环下去,自动化程度较低;且其主要针对测试工具QTP,这类测试工具通常维护一个对象库,脚本的修复可以通过维护对象库进行,而不可以是任意事件驱动的移动应用测试工具。
《自动化测试方法和装置》(申请号:201110222217.3):公开了一种自动化脚本升级方法,在升级后的软件版本上运行原测试脚本时,若检测到原测试脚本的一个测试步骤中存在软件变更点,则跳过测试步骤执行下一个测试步骤;根据软件变更点对原测试脚本进行升级;在升级后的软件版本上运行升级后的测试脚本。主要是在运行过程中找到所有需要的修复点进行更新,通过变更-模型-事件-脚本。无法覆盖所有代码,且一个测试脚本对应一个特定软件,不具有通用性。
发明内容
针对现有技术中存在的问题,本发明提供一种基于代码变更的移动应用测试脚本自动维护方法,自动的维护受到变更影响的旧版本测试脚本中的事件序列,得到可以应用在新版本中的脚本。方法得到的新脚本和新模型可以用于下一次版本迭代时的修复工作。
技术方案为:一种基于变更的移动应用测试脚本自动维护方法,采用代码变更分析技术来比较代码(源代码、中间代码、二进制代码)之间的差异,获取能够导致界面行为模型产生变化的变更,即得到界面模型变更的操作序列,对旧版本模型进行更新,利用代码与模型、模型与测试脚本之间的映射关系,对受到影响的脚本中的事件序列进行自动的维护和更新,从而形成针对新版本可用的脚本。
状态机模型是对移动应用中的事件序列进行的简化,状态机模型包含状态以及在这些状态之间的转移和动作,将界面的转换和用户事件的特征描述出来。
代码、模型、测试脚本之间的映射关系包括一系列映射,这些映射包含了代码与模型、模型事件与测试脚本之间的关系。
具体包括以下步骤:
步骤1、代码变更分析:
分析新旧版本代码中产生变化的代码,对其进行过滤,将不能导致界面行为模型产生变更的代码变更进行过滤,包括:脚本语句源代码中的空行、注释、空白字符,或者中间码中的行号标识、寄存器标识,以及变更不会造成界面行为模型产生变化的变更,获取导致界面行为模型产生变更的代码变更;
步骤2、模型变更分析:
利用代码和模型中元素的对应关系对模型进行行为变更分析,得到行为变更信息以及模型变更信息,将变更应用在模型中,得到新模型;
根据代码与模型中元素的对应关系以及增加的变更代码,得到模型中行为变更信息,如果变更使得模型中增加新的状态或者事件,则记录变更信息,即为模型变更信息,包含新状态相关状态的信息,以及事件转换信息、事件触发的条件,并将变更应用在模型中;
根据代码与模型中元素的对应关系以及删除的变更代码,得到模型中行为变更信息,如果变更使得模型中删除状态或者事件,则记录变更信息,即为模型变更信息,包含该状态相关状态的信息,以及该状态相关的事件,并将变更应用在模型中;
根据代码与模型中元素的对应关系以及修改的变更代码,得到模型中行为的变更信息,记录变更信息,即模型变更信息,包括修改的元素和修改结果,并将变更应用在模型中。
步骤3、脚本变更修复:
将脚本抽象为事件序列,事件序列为应用上的一系列动作序列,根据行为变更信息、模型变更信息,修复和更新脚本对应的事件序列,得到能够正常使用的新脚本。
步骤3.1:根据脚本和模型之间的映射关系,将脚本语句抽象为事件序列,找出受到变更影响的脚本,并找到在模型中相应的状态转换序列;
步骤3.2:根据步骤2中得到的模型变更信息,对受影响脚本进行逐个修复,首先修复事件序列,得到新的可用的事件序列;
如果脚本的事件序列中含有增加变更,则在受到变更影响的事件之间加入新的事件或者增加新的状态转换对应的事件序列;
如果脚本的事件序列中含有删除变更,则删除受到变更影响的事件以及之后所有的事件序列,若对于受到变更影响的事件对应的状态,其前一个状态和后一个状态之间有其他可用的状态转换事件,则用该事件作为原事件的替代;
如果脚本的事件序列中含有修改变更,则修改受到变更影响的元素;
步骤3.3:利用修改后的事件序列,脚本与模型之间的映射关系,得到修复后的新脚本。
通过预先定义脚本和模型之间的映射关系表,可应用于各类移动应用脚本测试工具。
本发明具有如下有益效果:本发明的基于代码变更的移动应用测试脚本自动维护方法中,通过分析移动应用两个版本之间的差异,包括源代码的变更、中间码的变更、二进制码的变更(以上统称为代码的变更),识别两个版本之间的事件变更,包括增加、删除、修改等,获取会导致界面行为发生变化的变更,将变更应用在状态机模型上,通过脚本与模型中事件的映射关系,自动的修复测试脚本,减轻了测试人员维护测试脚本的负担。具体说来,本发明所述的方法具有如下有益效果:
(1)在本发明所述的基于代码变更的移动应用测试脚本自动维护方法中,代码差异是通过自动分析出来的,并且能够自动过滤不相关的变更差异,减轻测试人员的负担。
(2)在本发明所述的基于代码变更的移动应用测试脚本自动维护方法中,代码包含源代码、中间码、二进制码,有较高通用性,在无源码的第三方测试中也可以使用。
(3)在本发明所述的基于代码变更的移动应用测试脚本自动维护方法中,将脚本语句抽象为事件序列,可以根据给定的脚本语句和事件之间的映射关系,应用到各类脚本测试工具中,不限制使用的工具和脚本语言,具有较高通用性。
(4)在本发明所述的基于代码变更的移动应用测试脚本自动维护方法中,在维护脚本的过程中也维护了应用的行为状态机模型,可以应用于其他开发和测试过程中。
(5)在本发明所述的基于代码变更的移动应用测试脚本自动维护方法中,方法得到的新脚本和新模型可以作为下一次修复的输入,以此循环,减轻测试人员负担。
附图说明
图1是本发明实施例的流程示意图。
图2是本发明实施例的代码变更分析流程示意图。
图3是本发明实施例的模型变更与脚本修复的示意图。
具体实施方式
为了便于本领域技术人员的理解,下面结合实施例与附图对本发明作进一步的说明。
本发明所述的基于代码变更的移动应用测试脚本自动维护方法具体实施中,首先需要两个版本的代码(源代码、中间码、二进制码等),旧版本对应的行为状态机模型以及测试脚本,旧版本代码与状态机模型之间的映射关系以及模型事件与脚本之间的映射关系,可以通过版本控制管理不同版本。本发明首先对不同版本的代码进行代码变更分析,得到能够导致应用行为模型产生变更的代码变更,并将其抽象为模型行为变更,包括增加、删除、修改变更,并更新模型,然后将测试脚本抽象为事件序列,对于受到变更影响的事件序列,根据模型行为变更修复该事件序列,并转换为相应的脚本语言,从而完成脚本的修复。
本发明所述的基于代码变更的移动应用测试脚本自动维护方法具体实施流程如图1所示。下面根据附图,对本发明作更详细的描述。
1、代码变更分析
本发明所述的基于代码变更的移动应用测试脚本自动维护方法具体实施中,需要对两个版本的代码进行分析,找出其中的差异。使用以下两个版本源代码之间的diff片段为例:
“-”表示旧版本存在而新版本不存在的语句,而“+”表示在新版本中存在但是旧版本中不存在的语句,在此样例中,“删除”功能按键后增加了一个确认弹出框。方法需要将有效的变更抽取出来,如图2所示的过程,通过代码分析得到代码的整体结构和关键点的内容,从而分析两个版本间代码结构间的差异,来抽取代码间的差异。在此过程中我们需要忽略无用的变更、不影响的变更。
无用的变更主要是指源代码中的空行、注释、空白字符,或者中间码中的行号标识、寄存器标识等,这些变更不会影响程序的语义,进而不会影响程序本身的结构和行为,因此此类变更可以直接忽略。
不影响的变更是指变更不会造成界面行为模型产生变化,例如不会影响事件的触发和处理等,即对整体行为模型没有任何影响的变更,例如程序逻辑不变的情况下更换了实现语句,如for和while循环的更替等。
代码变更分析对整体代码进行分析和比较,在具体实施时需要按需修改相应代码的遍历分析工具或者修改编译器的前端,对语义进行抽象和抽取,得到有效的代码变更内容。
2、模型变更分析
获取代码变更后,利用代码和模型中元素的映射关系对模型进行变更分析,得到行为变更信息以及模型变更信息。具体步骤为:
步骤1:根据代码与模型中元素的对应关系以及增加的变更代码,得到模型中行为变更信息,如果变更使得模型中增加新的状态或者状态转移事件,则记录变更信息,即为模型的变更信息,此处包含新状态相关状态的信息,以及转移条件等,将变更应用在模型中,若新增加转移事件,则在模型中在两个状态之间新增一条边,若新加状态,需要在模型中增加状态以及所有该状态相关的状态转移时间,并标注转移条件;
步骤2:根据代码与模型中元素的对应关系以及删除的变更代码,得到模型中行为变更信息,如果变更使得模型中删除状态或者状态转移事件,则记录变更信息,即为模型的变更信息,此处包含该状态相关状态的信息,以及该状态相关的转移事件,将变更应用在模型中,若删除状态转移事件,则在模型中删除相应的边,若删除状态,则在模型中删除该状态以及与该状态相连的边;
步骤3:根据代码与模型中元素的对应关系以及修改的变更代码,得到模型中行为的变更信息,记录变更信息,即模型变更信息,包括修改的元素和修改结果,将变更应用在模型中,例如修改状态事件的转移条件、边的起始状态以及到达状态等。
在模型变更分析过程中,将所有的变更应用在旧的模型上可以得到新版本对应的模型,这里的模型指行为状态机模型,状态指移动应用的界面状态,状态转换事件指用户交互事件,例如点击按钮、输入文字等。
3、脚本变更修复
利用上面得到的模型变更信息,修复和更新脚本中的事件序列,得到能够正常使用的新脚本,具体步骤为:
步骤1:根据脚本和模型元素之间的映射关系,将脚本的语句抽象为事件序列,找出受到影响的脚本,并获得在模型中相应的状态转移序列。
步骤2:根据上面得到的模型变更信息,对脚本进行逐个修复,首先修复事件序列,然后根据事件与脚本之间的映射关系修复脚本。
步骤2.1:如果脚本的事件序列中含有增加变更,则在受到变更影响的事件序列之间加入新的事件或者增加新的状态转移所对应的事件序列。如图3所示,在状态机模型中,删除功能本应该从S1到S0状态,然后根据图2的变更,删除功能后增加了一个对话框,需要用户确认删除才可以转换到S0,因此图3的状态机模型中加入了一个新状态S3以及相关的状态转移事件(更改部分以虚线标注),此处测试删除功能需要在删除按钮按下后,增加对话框的处理才能正常使用。事件序列由原来的S0->S1->S0变为了S0->S1->S3->S0(此处为简写,省略了事件触发条件)。
步骤2.2:如果脚本的事件序列中含有删除变更,则删除受到变更影响的事件以及之后所有的事件序列,若对于受到变更影响的事件对应的状态,其前一个状态和后一个状态之间有其他可用的状态转换事件,则用该事件作为原事件的替代。
步骤2.3:如果脚本的行为事件序列中含有修改变更,则修改受到变更影响的元素,例如触发事件的控件变化等。
步骤3:利用修改后的事件序列,脚本与事件之间的映射关系,可以得到修复后的新脚本,此处脚本语句与时间之间的映射关系预先定义,因此可以用于各类移动应用脚本测试工具。
以上的实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。本发明未涉及的技术均可通过现有的技术加以实现。
Claims (6)
1.一种基于代码变更的移动应用测试脚本自动维护方法,其特征在于,包括以下步骤:
步骤1、代码变更分析:
分析新旧版本代码中产生变化的代码,进行过滤后,获取导致界面行为模型产生变更的代码变更;
步骤2、模型变更分析:
利用代码和模型中元素的对应关系对模型进行行为变更分析,得到行为变更信息以及模型变更信息,将变更应用在模型中,得到新模型;
步骤3、脚本变更修复:
将脚本语句抽象为事件序列,根据行为变更信息、模型变更信息,修复和更新脚本中的事件序列,得到能够正常使用的新脚本。
2.根据权利要求1所述的基于代码变更的移动应用测试脚本自动维护方法,其特征在于,步骤1中的过滤操作为:
将不能导致界面行为模型产生变更的代码变更进行过滤,包括:代码中的空行、注释、空白字符,或者中间码中的行号标识、寄存器标识,以及变更不会造成界面行为模型产生变化的变更。
3.根据权利要求1所述的基于代码变更的移动应用测试脚本自动维护方法,其特征在于,步骤2具体步骤为:
根据代码与模型中元素的对应关系以及增加的变更代码,得到模型中行为变更信息,如果变更使得模型中增加新的状态或者事件,则记录变更信息,即为模型变更信息,包含新状态相关状态的信息,以及事件转换信息、事件触发的条件,并将变更应用在模型中;
根据代码与模型中元素的对应关系以及删除的变更代码,得到模型中行为变更信息,如果变更使得模型中删除状态或者事件,则记录变更信息,即为模型变更信息,包含该状态相关状态的信息,以及该状态相关的事件,并将变更应用在模型中;
根据代码与模型中元素的对应关系以及修改的变更代码,得到模型中行为的变更信息,记录变更信息,即模型变更信息,包括修改的元素和修改结果,并将变更应用在模型中。
4.根据权利要求1所述的基于代码变更的移动应用测试脚本自动维护方法,其特征在于,步骤3具体步骤为:
步骤3.1:根据脚本和模型之间的映射关系,将脚本语句抽象为事件序列,找出受到变更影响的脚本,并找到在模型中相应的状态转换序列;
步骤3.2:根据步骤2中得到的模型变更信息,对受影响脚本进行逐个修复,首先修复事件序列,得到新的可用的事件序列;
如果脚本的事件序列中含有增加变更,则在受到变更影响的事件序列之间加入新的事件或者增加新的状态转换所对应的事件序列;
如果脚本的事件序列中含有删除变更,则删除受到变更影响的事件以及之后所有的事件序列,若对于受到变更影响的事件对应的状态,其前一个状态和后一个状态之间有其他可用的状态转换事件,则用该事件作为原事件的替代;
如果脚本的事件序列中含有修改变更,则修改受到变更影响的元素;
步骤3.3:利用修改后的事件序列,脚本与模型之间的映射关系,得到修复后的新脚本。
5.根据权利要求1或4所述的基于代码变更的移动应用测试脚本自动维护方法,其特征在于:
通过预先定义脚本和模型之间的映射关系表,可应用于各类移动应用脚本测试工具。
6.根据权利要求1所述的基于代码变更的移动应用测试脚本自动维护方法,其特征在于:所述代码变更包括源代码、中间码、二进制码的变更。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610323917.4A CN106021103B (zh) | 2016-05-16 | 2016-05-16 | 一种基于代码变更的移动应用测试脚本自动维护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610323917.4A CN106021103B (zh) | 2016-05-16 | 2016-05-16 | 一种基于代码变更的移动应用测试脚本自动维护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106021103A true CN106021103A (zh) | 2016-10-12 |
CN106021103B CN106021103B (zh) | 2019-01-04 |
Family
ID=57097789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610323917.4A Active CN106021103B (zh) | 2016-05-16 | 2016-05-16 | 一种基于代码变更的移动应用测试脚本自动维护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106021103B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502903A (zh) * | 2016-10-26 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 一种程序的变更功能确定方法、装置及处理设备 |
CN107766253A (zh) * | 2017-11-13 | 2018-03-06 | 南京大学 | 一种基于模型变更的自动维护测试脚本的方法 |
CN107885781A (zh) * | 2017-10-16 | 2018-04-06 | 昆仑智汇数据科技(北京)有限公司 | 一种版本管理方法及系统 |
CN108241575A (zh) * | 2016-12-26 | 2018-07-03 | 大唐移动通信设备有限公司 | 一种升级测试脚本的方法及装置 |
CN108415836A (zh) * | 2018-02-23 | 2018-08-17 | 清华大学 | 利用应用程序检测计算机系统性能变化的方法和系统 |
CN108427637A (zh) * | 2018-01-18 | 2018-08-21 | 平安科技(深圳)有限公司 | 测试案例推荐方法、电子装置及可读存储介质 |
CN108536467A (zh) * | 2018-04-08 | 2018-09-14 | 中国联合网络通信集团有限公司 | 代码的定位处理方法、装置、终端设备及存储介质 |
CN108874652A (zh) * | 2017-05-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 用于软件自测评估的方法、装置及电子设备 |
CN109388555A (zh) * | 2017-08-10 | 2019-02-26 | 博彦科技股份有限公司 | 测试脚本的处理方法和装置 |
CN110196812A (zh) * | 2019-06-06 | 2019-09-03 | 四川长虹电器股份有限公司 | 基于录制和重放的Web应用迭代测试方法 |
CN111258876A (zh) * | 2018-11-30 | 2020-06-09 | 中国移动通信集团浙江有限公司 | 一种微服务架构下的精确回归测试方法及装置 |
CN112711439A (zh) * | 2021-01-19 | 2021-04-27 | 天津飞腾信息技术有限公司 | 一种asic代码转换为fpga代码自动更新方法 |
CN114826996A (zh) * | 2022-05-10 | 2022-07-29 | 上海磐御网络科技有限公司 | 基于busybox文件系统的路由器蜜罐测试方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411538A (zh) * | 2011-11-22 | 2012-04-11 | 南京大学 | 基于事件可达性模型的图形用户界面测试脚本修复方法 |
CN102567201A (zh) * | 2011-12-15 | 2012-07-11 | 南京大学 | 跨模型的图形用户界面测试脚本自动修复方法 |
-
2016
- 2016-05-16 CN CN201610323917.4A patent/CN106021103B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411538A (zh) * | 2011-11-22 | 2012-04-11 | 南京大学 | 基于事件可达性模型的图形用户界面测试脚本修复方法 |
CN102567201A (zh) * | 2011-12-15 | 2012-07-11 | 南京大学 | 跨模型的图形用户界面测试脚本自动修复方法 |
Non-Patent Citations (2)
Title |
---|
ATIF M. MEMON: "Automatically Repairing Event Sequence-Based GUI Test Suites for Regression Testing", 《ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY》 * |
BRETT DANIEL ETC.: "Automated GUI Refactoring and Test Script Repair", 《 PROCEEDINGS OF THE FIRST INTERNATIONAL WORKSHOP ON END-TO-END TEST SCRIPT ENGINEERING》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502903A (zh) * | 2016-10-26 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 一种程序的变更功能确定方法、装置及处理设备 |
CN106502903B (zh) * | 2016-10-26 | 2019-08-30 | 腾讯科技(深圳)有限公司 | 一种程序的变更功能确定方法、装置及处理设备 |
CN108241575B (zh) * | 2016-12-26 | 2021-01-22 | 大唐移动通信设备有限公司 | 一种升级测试脚本的方法及装置 |
CN108241575A (zh) * | 2016-12-26 | 2018-07-03 | 大唐移动通信设备有限公司 | 一种升级测试脚本的方法及装置 |
CN108874652B (zh) * | 2017-05-09 | 2022-06-07 | 北京京东尚科信息技术有限公司 | 用于软件自测评估的方法、装置及电子设备 |
CN108874652A (zh) * | 2017-05-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 用于软件自测评估的方法、装置及电子设备 |
CN109388555A (zh) * | 2017-08-10 | 2019-02-26 | 博彦科技股份有限公司 | 测试脚本的处理方法和装置 |
CN107885781A (zh) * | 2017-10-16 | 2018-04-06 | 昆仑智汇数据科技(北京)有限公司 | 一种版本管理方法及系统 |
CN107766253A (zh) * | 2017-11-13 | 2018-03-06 | 南京大学 | 一种基于模型变更的自动维护测试脚本的方法 |
CN108427637A (zh) * | 2018-01-18 | 2018-08-21 | 平安科技(深圳)有限公司 | 测试案例推荐方法、电子装置及可读存储介质 |
WO2019140850A1 (zh) * | 2018-01-18 | 2019-07-25 | 平安科技(深圳)有限公司 | 测试案例推荐方法、电子装置及可读存储介质 |
CN108415836A (zh) * | 2018-02-23 | 2018-08-17 | 清华大学 | 利用应用程序检测计算机系统性能变化的方法和系统 |
CN108415836B (zh) * | 2018-02-23 | 2020-12-01 | 清华大学 | 利用应用程序检测计算机系统性能变化的方法和系统 |
CN108536467A (zh) * | 2018-04-08 | 2018-09-14 | 中国联合网络通信集团有限公司 | 代码的定位处理方法、装置、终端设备及存储介质 |
CN111258876A (zh) * | 2018-11-30 | 2020-06-09 | 中国移动通信集团浙江有限公司 | 一种微服务架构下的精确回归测试方法及装置 |
CN110196812A (zh) * | 2019-06-06 | 2019-09-03 | 四川长虹电器股份有限公司 | 基于录制和重放的Web应用迭代测试方法 |
CN110196812B (zh) * | 2019-06-06 | 2022-02-01 | 四川长虹电器股份有限公司 | 基于录制和重放的Web应用迭代测试方法 |
CN112711439A (zh) * | 2021-01-19 | 2021-04-27 | 天津飞腾信息技术有限公司 | 一种asic代码转换为fpga代码自动更新方法 |
CN114826996A (zh) * | 2022-05-10 | 2022-07-29 | 上海磐御网络科技有限公司 | 基于busybox文件系统的路由器蜜罐测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106021103B (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106021103A (zh) | 一种基于代码变更的移动应用测试脚本自动维护方法 | |
US11494295B1 (en) | Automated software bug discovery and assessment | |
Memon | Automatically repairing event sequence-based GUI test suites for regression testing | |
Pretschner | Model-based testing | |
Groce et al. | What went wrong: Explaining counterexamples | |
US5452449A (en) | Interactive multi-module source code analyzer that matches and expands call and entry statement parameters | |
CN101739339B (zh) | 一种基于程序动态依赖关系的软件故障定位方法 | |
CN101526919B (zh) | 生成脚本文件对Web应用软件进行测试的方法及装置 | |
US9588871B1 (en) | Method and system for dynamic business rule extraction | |
CN101046767A (zh) | 用于自动测试基于图形的编程工具的方法和系统 | |
US8347271B1 (en) | Software testing | |
CN105335246A (zh) | 一种基于问答网站分析的程序崩溃缺陷自动修复方法 | |
Baudry et al. | A software-repair robot based on continual learning | |
Amelunxen et al. | Checking and enforcement of modeling guidelines with graph transformations | |
Koni-N’Sapu | A scenario based approach for refactoring duplicated code in object oriented systems | |
CN110069414B (zh) | 回归测试方法及系统 | |
EP3570173B1 (en) | Equivalence verification apparatus and equivalence verification program | |
CN109471637B (zh) | 电路图的审查脚本调试方法 | |
CN113051582B (zh) | 一种计算机软件技术开发调试系统 | |
Goli et al. | ASCHyRO: Automatic fault localization of SystemC HLS designs using a hybrid accurate rank ordering technique | |
Yamamoto et al. | Towards static recovery of micro state transitions from legacy embedded code | |
Lasynskyi et al. | Extending the space of software test monitoring: practical experience | |
CN113849814A (zh) | 一种可配置系统漏洞复现系统以及复现方法 | |
Arcaini et al. | Rehabilitating equivalent mutants as static anomaly detectors in software artifacts | |
Shimizu et al. | Symbolic execution-based approach to extracting a micro state transition table |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |