【技术实现步骤摘要】
一种在App之间移植GUI测试代码的方法
[0001]本专利技术涉及代码测试
,特别涉及一种在App之间移植GUI测试代码的方法。
技术介绍
[0002]模型驱动工程是软件工程的一个分支,它将模型与建模拓展到软件开发的所有方面,形成一个多维建模空间,从而将工程活动建立在这些模型的映射和转换之上。MDE的基本原则是将模型视为第一实体,将所有软件产物当做模型或模型要素。
[0003]动态分析是通过在真实或虚拟处理器上运行程序来执行的计算机软件分析。为了使动态程序分析有效,必须使用足够的测试输入来运行目标程序,以覆盖所有可能的输出。使用诸如代码覆盖率之类的软件测试措施有助于确保观察到可能的程序行为。此外,必须注意尽量减少检测对执行的影响。单元测试、集成测试、系统测试和验收测试使用动态分析技术。
[0004]自然语言处理是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言处理包括多方面和步骤,基本有认知、理解、生成等部分。自然语言认知和理解是让电脑把输入的语言变成有意思的符号和关系,然后 ...
【技术保护点】
【技术特征摘要】
1.一种在App之间移植GUI测试代码的方法,包括以下步骤:步骤1:输入两个App和其中一个App的GUI测试代码,将其命名为源App、源GUI测试代码、目标App;步骤2:设计一种表示App运行时状态及其变化关系的模型;步骤3:改造App测试框架使其能记录App运行时信息,使用改造后的测试框架在源App上执行源GUI测试代码,使用得到的信息建立源App的状态转移路径;步骤4:改造App自动探索工具使其能记录App运行时信息,使用改造后的App自动探索工具运行目标App,使用得到的信息建立目标App的状态转移图;步骤5:使用贪心搜索回退法为步骤3中源App的状态转移路径在步骤4中目标App的状态转移图上匹配一条相似的状态转移路径;步骤6:将步骤5中得到的状态转移路径翻译成适用于App测试框架的GUI测试代码;步骤7:得到最终移植后的GUI测试代码。2.根据权利要求1所述的在App之间移植GUI测试代码的方法,其特征在于,所述步骤2中建立的表示App运行时状态及其变化关系的模型的实现过程包括以下步骤:步骤21:获取App所有界面下的布局结构与截图、所有引起界面之间发生变化的事件;步骤22:在所有布局结构与截图中删除与App运行平台相关的信息;步骤23:去除重复的布局结构与截图;步骤24:将每对布局结构与截图作为App的一个运行时状态;步骤25:将引发上述两个App的运行时状态之间发生变化的事件作为边。3.根据权利要求1所述的在App之间移植GUI测试代码的方法,其特征在于,所述步骤3中使用改造后的测试框架在源App上执行源GUI测试代码、使用得到的信息建立源App的状态转移路径的实现过程包括以下步骤:步骤31:记录源App在运行源GUI测试代码期间每个操作执行前后的界面布局结构与截图、操作目标控件、操作事件类型、操作事件参数;步骤32:将上述得到的信息按照步骤21-步骤25中的方法建立源App在运行源GUI测试代码期间的状态转移模型;步骤33:将上述得到的模型整理为状态转移路径的形式。4.根据权利要求1所述的在App之间移植GUI测试代码的方法,其特征在于,所述步骤4中使用改造后的App自动探索工具运行目标App、使用得到的信息建立目标App的状态转移图的具体实现过程包括以下步骤:步骤41:记录目标App在自动探索...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。