面向移动应用程序的自动化测试框架研究与设计
这是一篇关于自动化测试框架,Appium,测试场景用例,关键字驱动的论文, 主要内容为随着网络技术的快速发展,移动应用程序数量急剧增加,版本更新迭代速度加快,给软件测试工作带来巨大的挑战,自动化测试正在替代手工测试成为测试的主流。针对现有的移动自动化测试框架技术门槛高、驱动单一、自动化程度低等问题,本文从多驱动集成、用例生成、和控件定位三个方面出发,研究面向移动应用程序的自动化测试技术,旨在提高软件的测试效率。主要工作内容如下:(1)多驱动集成的自动化测试框架研究本文在研究现有测试框架的基础上,集成了模块、数据以及关键字驱动模式,设计并实现了基于Appium的多驱动集成测试框架。同时针对测试过程中控件定位不准确、测试结果校验形式单一等问题,本文提出了一种监控机制,处理测试中弹窗的出现,保证控件的精确定位;在现有断言的基础上改进并引入图像断言方法,扩展了测试框架结果验证的功能。该框架可降低自动化测试的技术门槛,使得测试脚本的编写和维护更加灵活简单。(2)基于模型的测试场景用例生成研究在软件测试前,测试人员需花费大量时间设计和编写测试用例,并且无法保证测试用例全面覆盖。本文对比分析现有的测试模型,选取有限状态机模型,针对移动应用中的测试场景建模,采用模型状态、转换覆盖准则,通过迪杰斯特拉(Dijkstra)算法生成测试场景用例集。将基于模型的测试场景用例生成与测试框架结合,可提高框架的自动化测试水平。(3)自动化测试平台的设计与实现基于上述所提出的多驱动集成测试框架和基于模型的测试场景用例生成,设计并实现了面向移动应用程序的自动化测试平台,平台主要分为项目管理、模块管理、用例管理、测试执行、配置管理以及测试结果模块。最后,利用搭建的自动化测试平台,选取移动App进行测试验证,并从测试效率和不同框架对比两个角度进行整体评估,从评估结果可以看出,本文所设计的自动化测试框架和测试平台支持移动应用自动化测试,有效地提升了测试效率,实现了既定的设计目标。
CUBRID数据库自动化测试框架的设计与实现
这是一篇关于CUBRID数据库,自动化测试框架,功能测试,性能测试,内存泄露测试的论文, 主要内容为随着关系数据库的广泛应用,其功能和性能对信息系统质量有着直接的影响,如何加强对数据库的测试具有重要现实意义,传统的手工测试方法难以满足实际要求,必须研究实现针对数据库的自动化测试框架,从而实现高效的数据库测试,降低成本,提高数据库产品质量。为此,本文以CUBRID数据库系统为背景,研究实现一种适用于CUBRID数据库的自动化测试框架。作者完成的主要工作如下:(1)针对测试控制端,采用了开源框架消息中间件ActiveMQ技术作为整个自动化的发起控制端,有效的提高了测试控制的灵活性。在每一项测试自动化上实现了高内聚低耦合的设计理念。(2)针对测试执行端,选用了两种易读、可复用、易维护的测试脚本Shell和SQL,设计实现了两款适合这两种测试脚本的功能测试框架;设计实现了一款基于YCSB的性能测试工具,支持CUBRID数据库的自动化性能测试;设计实现了一款基于Valgrind的内存泄露检查自动化测试工具,支持对CUBRID内存泄露问题的测试分析。(3)针对测试结果展示端,基于spring、mvc、ibatics设计实现了适用于CUBRID数据库测试结果展示的框架,方便测试人员查询统计测试结果,有利于测试框架的维护和升级。本文研制的数据库自动化测试框架能够适用于CUBRID数据库产品,支持该数据库的功能测试任务、性能测试任务等的自动化实施和控制。该框架经过实际运行验证,达到了预期设计目标,对于数据库自动化测试的研究具有借鉴意义。
基于Selenium自动化测试框架软件功能测试关键技术优化与应用
这是一篇关于自动化测试框架,Selenium,Airtest,图像识别,SIFT的论文, 主要内容为随着互联网的不断发展,Web应用技术成为了非常普遍和广泛使用的工具。在各种类型的Web应用系统规模和复杂性日益增长对同时,各大公司对软件的质量和正确性要求却越来越高。除此之外,随着各种软件系统的更新速度越来越快,页面框架的变动与页面元素的修改等原因导致web回归测试周期越来越长,测试人员成本大量增加。测试开发工程师常常利用页面DOM控件识别技术创建测试脚本,然而DOM框架结构变化时,测试脚本依然无法自动更新,长期回归测试成本依然很高。因此,本文设计研究了基于图像识别技术结合开源自动化测试Selenium和Airtest建立完整的自动化测试系统,完美解决页面DOM页面结构变动带来的脚本失效负面影响,提高测试正确率,降低对测试者编程能力要求,增加了非页面页面元素的测试覆盖率,最后增加系统项目管理能力,提高了项目测试效率。本研究主要工作由以下三个部分组成:(1)目前各大公司WEB页面测试DOM元素定位的方式依赖于页面的结构和属性,并且容易受到页面元素变化的影响。因此,采用图像识别技术将传统的定位方式转换为基于图像元素匹配的方式,具有更高的稳定性和可靠性。在这种方式中,首先需要对待测页面进行截图,并通过特征提取和匹配算法找到相应的图像元素。相比于传统的定位方式,这种方法在系统页面尺寸发生变化时,Web应用程序依然有很好的识别正确率。SIFT算法的优势在于它对于图像旋转、缩放、亮度以及噪声等因素具有较好的鲁棒性,能够准确地匹配用户图像化页面图像元素。(2)该自动化测试平台提供了测试项目管理、日志与测试报告等完整的测试流程,能够显著提高测试效率和测试质量。该平台还集成了跨平台的WEB测试框架Airtest和Selenium,使得测试过程更加便捷高效。其中,在Img Page-Object模式设计下,关键字操作自动映射转化成测试脚本,能够很大程度上降低对测试人员代码编程能力要求。最后,采用Jinjia2生成测试报告,方便测试人员快速了解测试结果,从而更好地决策和优化测试工作。(3)针对设计的自动化测试平台,对实验网站进行多次回归测试验证。实验结果表明,非页面元素的测试覆盖率,测试脚本复用性和测试效率方面极具优势。此外,随着回归次数增加,优势更加明显。这些结论表明了基于用户图像化页面图像识别定位测试脚本的重要性和实用价值。
基于QTP及J2EE的自动化测试系统设计与实现
这是一篇关于QTP,J2EE,功能测试,自动化测试,自动化测试框架的论文, 主要内容为由于软件规模的扩大,软件测试工作变得更加复杂,依靠传统的手工测试已经不能满足现实的需求。自动化测试技术经过多年的发展,出现了对测试框架、测试脚本技术、自动生成测试用例以及自动化安全测试方面的研究方向,其中自动化测试框架在软件测试领域中被广泛采用。 本文根据实际项目需求,在以往项目测试工程师积累的关于自动化测试框架的开发经验上,通过查阅各种自动化测试技术的发展情况的相关文献,以当前最成熟的J2EE技术为支撑,设计了一个通用的基于QTP和J2EE的自动化测试系统。该系统采用J2EE常用的分层设计思想,将测试工作分段处理,模块化组织,将测试对象、测试脚本、测试数据、测试用例、测试场景和测试动作都统一集成进J2EE系统,一站式的测试开发与管理,并直接将测试过程中的相关数据存于数据库中,使得维护和重复测试的成本大大降低,另外,由于采用成熟的自动化测试工具QTP,省去了开发自动化测试工具的成本,为软件快速搭建提供了保证。 本系统投入应用后,降低了自动化测试人员的使用难度,减少了测试人员的学习时间。并且经系统统一开发的测试脚本、用例与场景具有同一性,提高了测试脚本的质量,也降低了测试脚本后期的维护成本。由于系统的成本较低,上手容易,且测试功能较为齐全,因此该系统具有很强的应用价值和前景。
迭代式安卓应用自动化测试系统的设计与实现
这是一篇关于移动应用测试,安卓应用GUI测试,安卓自动化测试,自动化测试框架,自动化测试工具的论文, 主要内容为随着移动应用开发周期的不断缩短,如何提升移动应用质量保障的效率成为测试界的一大难题。一方面,部分公司将测试任务派发给志愿者进行人工测试。然而,志愿者的报告水平参差不齐,真正有用的“用户操作流程”这一过程本身,通常会被忽视。另一方面,一部分测试人员意图开发自动化测试工具以减少测试上人力资源与时间资源的消耗。但是,由于工具缺少人类拥有的测试知识,它们的实际效果仍然无法赶超人工测试。如果将包含人类测试知识的“用户操作流程”引入自动化测试工具,理论上可以提高自动化测试的效果。本文设计与实现了一种迭代式安卓应用自动化测试系统,对测试用户的用户操作流程进行自动化的记录、提取与融合,并输入到测试工具中。通过流程上的迭代:用户操作信息引入工具,工具输出结果传递回用户产生下一轮用户操作信息;以及运行中的迭代:开展与一般自动化测试工具的一次性测试流程不同的多轮迭代式测试流程,来增强系统的测试效果。系统通过对Appium框架进行修改,从而于后台自动化的获取用户操作流程。前端使用Angular2完成web页面,令测试人员可以轻松使用本系统,后端则使用Spring Boot框架完成各项控制。通过ADB(Android Debug Bridge)工具和Uiautomator框架与接入系统的待测设备进行联系与控制。最后通过Echarts框架与Dot工具对覆盖流程进行绘制,让测试人员理解测试工具的覆盖情况。为了验证本系统的可用性,本文设计了一场实验,对待测应用使用Jacoco框架进行插桩,从而获取到应用运行时被覆盖的代码行数占总代码数的比例。本文选取了10款知名移动应用与50份用户操作流程开展了一场实验,并与知名工具Monkey的进行对比。实验结果表明,系统的测试结果相较于未引入用户信息时得到了显著的提高,在测试时间为一小时的情况下,平均代码覆盖率得到了13.98%的提升,到达了37.83%,这一结果同样超过了相同条件下Monkey的平均代码覆盖率28.90%。并且,引入信息后的测试结果完全包含了用户或工具单独测试时的覆盖情况,没有产生覆盖遗漏,证明了本系统的可用性。
面向B/S系统的自动化测试框架设计与实现
这是一篇关于软件测试,自动化测试,自动化测试框架,B/S系统自动化测试框架的论文, 主要内容为随着B/S系统的飞速普及,大数据、云计算的时代来临,B/S系统也随之变得越来越复杂化、多样化。传统的手动化测试已经无法满足B/S系统测试的需求,自动化测试则得到了极大的发挥空间。自动化测试能够减轻测试人员的压力,并且能够提高测试的效率以及降低测试的成本。但是目前自动化测试,尤其是B/S系统的自动化测试有诸多问题。主要表现在以下几点:(1)测试成本高,许多测试工具价格都非常高。(2)前台页面经常修改,由于前台页面的修改导致经常需要修改脚本。(3)许多自动化测试工具没有分层,这样会使得业务测试脚本编写效率低,如果业务流程发生变化会导致许多业务测试脚本失败,并且自动化测试的维护成本会变大。此外,没有分层会使得测试逻辑与其他无关代码相掺杂,很难辨别出测试逻辑。(4)测试数据,目前大多数的自动化测试工具都没有集成从数据库中来读取大量测试数据的功能。而数据库在海量数据的管理以及检索上有着极大的优势。根据上述的这些问题,目前的一些自动化测试工具都只覆盖了一些基础的功能,往往不能够同时解决上述的这些问题。所以,本自动化测试框架的目的就是要解决这些问题。本框架通过分成五层结构将编写业务测试脚本的效率大大提高并且降低了维护的成本:整合了读取数据库的功能,使得在面对海量测试数据时能够提高测试数据检索的效率:利用了Selenium这个开源工具能够很好的定位前台页面元素,解决了由于前台页面更改而导致业务测试脚本的频繁更改。通过分析我们选择了Selenium、Junit、Mybatis为主要技术核心来搭建自动化测试框架,并对本自动化测试框架进行分层。Selenium是一款针对B/S系统的开源自动化测试工具,它是免费的。Selenium有很好的兼容性、强大的功能以及可控性高,并且提供了多种查找对应页面元素的方法,以应对经常变更的前台页面。Junit4作为一个事实上的标准测试框架,在本自动化测试框架的控制层中起到了关键作用,并且它还提供了参数化测试的功能,用于将数据和脚本分离。同时本框架中的Mybatis乍为一个读写数据库的工具,能够将数据库中的数据读取出来作为脚本的参数,从而使本框架能够进行大批测试数据量的测试脚本运行而不必修改脚本。并且可以直接通过被测试的B/S系统的数据库拿来作为测试数据源,从而尽可能的进行真实环境中的模拟。本论文主要是以一个继续教育平台为主要测试网站。在测试过程中,本自动化测试框架主要用于回归性测试。由于本框架进行了分层,所以在进行脚本编写、组织以及维护上十分便捷。通过使用本框架读取测试数据源进行用户登录、视频学习、学时查询、考试等环节的测试内容,很好的完成了测试任务。并且通过继续教育平台的数据库,能够模拟真实情况下的系统运转情况。从而减轻了测试人员的压力,提高了测试效率,降低了测试成本。证实本自动化测试框架能够完成自动化测试、回归性测试的测试任务。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码驿站 ,原文地址:https://m.bishedaima.com/lunwen/46105.html