基于容器化技术的持续集成平台模型研究与实现
这是一篇关于持续集成,容器化技术,Docker,自动化测试,自动化部署的论文, 主要内容为在互联网及信息技术高速发展的当今时代,各行各业都需要信息化的处理方式,由此促进了软件工程理论的飞速发展。软件行业需要快速、高效地开发出符合行业需求的软件,同时确保软件的质量。持续集成技术的发展极大地提高了软件开发的效率,减少了开发过程及软件集成过程中出现的错误。而当前软件开发中广泛应用的持续集成技术仍然存在自动化程度低、集成环境无法统一的问题。本课题结合了容器化技术,构建了基于容器化技术的持续集成系统模型,对于持续集成系统的搭建具有一定的借鉴意义。首先,描述了国内外持续集成方面的研究和发展状况,分析了基于Docker的容器化技术在持续集成当中的应用场景,总结了现有持续集成系统在架构设计、数据库持续集成以及执行环境搭建方面存在的问题。为此,分析了持续集成系统的特点,剖析了基于Docker的容器化技术在持续集成系统中的应用。其次,抽象出了基于容器化技术的持续集成平台的总体架构,构建了具有管理控制层、业务服务层、基础数据层和目标环境层的层次模型,归纳并介绍了模型中不同层次的关键功能及设计方案。再次,结合基于容器化技术的持续集成平台模型,设计了符合该模型的持续集成平台架构,采用基于Docker的容器化技术搭建了平台的基本框架,实现了持续集成任务的管理调度、持续构建、自动化测试、自动化部署和镜像及容器管理功能。最后,配置了持续集成平台的实验环境,以万通创新软件实验室项目“胜乐电子票务平台”为例,验证了持续集成平台的系统功能,功能完整且有效,提高了项目开发效率,说明了基于容器化技术的持续集成模型具有很强的实用性,能够为软件项目提供良好的持续集成服务。
Java Web应用可移植性自动化测试系统的设计与实现
这是一篇关于Java Web应用,软件可移植性,自动化测试,微服务的论文, 主要内容为随着互联网软件技术快速发展,Java Web应用成为日常生活与工业生产中的重要组成部分。由于市场需求多样化和软硬件技术发展等因素影响,Java Web应用的部署环境与部署方式也不停变化,对可移植性能力也提出更高的要求。因此如何测试Java Web应用的可移植性成为软件厂商和开发者日益关注的问题。目前主流可移植性测试方法依赖人工搭建多个测试环境,部署应用后进行验证测试。这种方法虽然有效,但是存在工作量大、测试成本高、效率低的问题。基于上述背景,本文设计实现面向Java Web应用可移植性的自动化测试系统,包含测试环境生成、节点控制、调度执行、自动化测试和自动化分析五个核心模块。测试人员能够上传待测应用并创建可移植性测试任务,系统根据不同测试环境拆解为多个子任务。在可移植性测试任务触发执行时,由于资源有限,调度执行模块会负责子任务的执行管理,基于延迟队列和消息队列控制任务执行步骤和过程,并通过排队机制提高性能和可用性。每个子任务首先需要通过节点控制模块申请资源,该模块负责维护移植部署集群节点的资源状态,提供资源分配、节点注册注销等功能。测试环境生成模块基于Docker容器技术,会根据用户选择的测试环境配置组合,自动化生成测试环境,并运行上传的待测应用。在应用成功运行后,自动化测试模块调用HttpRunner进行功能与性能测试,为保证自动化测试工具的高可用,基于Celery框架实现工具调用的异步调度执行。在任务执行测试期间,本系统还会收集若干监控数据和日志信息,最后通过自动化分析模块,对测试结果进行分析,计算指标,生成可视化测试报告。为提高系统扩展能力,本系统模块均基于微服务架构开发,移植部署集群和Celery Worker集群均支持弹性伸缩,并可对自动化测试工具进行插拔式扩展。为保证系统服务质量,本文设计编写60个单元测试用例和30个接口测试用例验证核心业务功能的正确性,并全部执行通过。目前系统已落地上线运行,并对20个真实Java Web应用进行可移植性测试,除1个应用由于自身原因无法执行测试外,其余均成功运行,测试成功率为95%。结果表明本系统能够提供为客户提供符合预期的Java Web应用可移植性自动化测试服务。
远程BIOS自动化测试系统的设计与实现
这是一篇关于基本输入/输出系统,自动化测试,Netty架构,数据库系统的论文, 主要内容为伴随着国际化进程不断地发展和BIOS(Basic Input/Output System,基本输入/输出系统)更新迭代周期不断缩短,如何让BIOS测试人员不局限于一个特定地点进行BIOS测试和提高BIOS的测试效率已经成为了BIOS业内十分关注的一个问题。当前,虽然有少数企业采用了自动化系统对BIOS进行测试,但是这种所谓的自动化测试是不能进行远程BIOS测试的,同时它也需要和人工测试交汇在一起才能进行测试。对于当前BIOS测试系统的不足之处,研发一套远程BIOS自动化测试系统能很好地解决这些难题。远程BIOS自动化测试系统通过一个控制服务器的云端,可以将服务器、测试主机和带有BIOS的测试主板有效地联系在一起,实现BIOS远程自动化测试和集中式管理服务器上的数据。系统采用了传统的C/S架构和具有高并发性的Netty架构作为服务器的通信架构。系统为了实现在云端可以远程BIOS测试和集中式管理后台的数据,自定义了一个云端命令集,同时系统服务器采用了MySQL数据库系统作为持久层。用户在云端输入命令行不仅可以实现远程BIOS自动化测试的功能,还能集中式管理服务器中的测试脚本、任务、主机、作业和报告等测试数据。系统在进行远程BIOS自动化测试的过程中,系统会根据测试主机的空闲状态将测试任务分发给测试主机进行测试。通过对系统的功能与性能等方面进行测试表明,系统的各项测试指标都是合格的。系统在现实的使用中让测试人员摆脱了不能跨域进行BIOS自动化测试的束缚,这不仅仅为测试人员提供了BIOS测试的便利,同时也增强了企业各部门的协同工作效率和为企业节省了很大的测试成本。
Web应用的自动化回归测试平台的研究与实现
这是一篇关于自动化测试,Web应用,回归测试,测试平台的论文, 主要内容为随着互联网的快速发展、市场需求的不断变化,Web应用开发呈现出周期短、更新频的特点,这给Web应用回归测试带来新的挑战。当前存在的Web应用自动化回归测试工具,一般都是基于录制回放机制。这种方式的缺点是数据与脚本不分离、脚本维护量大、重用率低、通用性差,而且工具价格昂贵。在此背景下,本文研究并开发了一个界面直观、运行成本低廉、具有较高重用性的Web自动化测试平台Common Service Layer (简称CSL)。 本文首先研究了回归测试、自动化测试、Web应用测试相关理论,分析了国内外自动化测试的现状,结合Web应用的特点,定义了CSL的需求规范。然后遵照高内聚、低耦合的设计原则,采用了分层风格设计了CSL架构,并利用测试用例文件和反射技术实现依赖注入达到层层之间解耦的目的,使得测试逻辑可抽取和可替换,同时测试数据与测试逻辑实现了分离。接着,基于Java Selenium Remote Control模式,完成了CSL平台的实现,并对外提供接口,支持快速的二次开发,可扩展性与可移植性良好。 根据Web应用的回归测试的行为分析,CSL平台将所有操作和验证归到不同的类别中,如浏览器请求、页面交互、W3C规范性类、外观测试等等,本文逐一做了详细阐述。其中为顺应互联网市场的要求,CSL平台在W3C规范性测试方面适当做出一些扩展,使得它得以支持搜索引擎优化的验证,引入了目前几大主流搜索引擎(Google,Yahoo, Live Search)的搜索引擎优化规则作为独立的测试用例。此外,与其它同类测试平台相比,CSL平台在外观测试中使用了定框截屏、然后再位图逐像素比较的独特方法,使原本较繁琐的外观回归测试完全脱离了人工干预,避免了手工测试可能忽略的错误。 CSL平台较同类产品的另外一大优势是开源,并且完全支持功能和浏览器的扩展。同时,由于融合了FitNesse架构的优点,因此能直接运行文本形式的测试用例,自动寻找与后台测试方法的关联,执行测试并完成结果报告,从而提高了测试用例的易读性,又便于后台测试代码的维护和重用。 目前,CSL平台已在Windows MSN Live系统中进行了应用。实践表明,CSL平台能显著降低迭代版本的回归测试人力成本,提高测试效率,从而保证了软件产品的质量。当测试行为类库由相关自动化测试人员设计完成后,普通的产品测试人员只需准备测试数据完成测试用例文件生成即可使用或扩充该平台,这一特性降低了自动化的维护和再开发成本,提高了CSL平台的工程应用价值。
Web应用自动化测试系统分析服务的设计与实现
这是一篇关于Web应用测试,自动化测试,测试分析,缺陷评估的论文, 主要内容为随着互联网化程度逐步加深,Web应用以其易用性和便利性,广泛使用于各行各业和日常生活中,成为当前信息时代不可或缺的一部分。而面临日益增长变化的需求和开发迭代敏捷化的现状同时,Web应用质量也成为开发测试人员和用户极为关心的核心领域。然而,现有Web应用质量检测手段,主要还是依靠手工测试或者脚本测试,不仅人力和时间成本消耗较大,而且测试效率也较低,且可重复性差。另一方面,作为回归测试,这些测试手段虽然也能发现一些具有明显表征的系统缺陷,但是仍然需要用户参与缺陷定位和测试报告填写,同时一些无表征但存在一定风险的缺陷也可能会被漏报。因此,研究Web应用的自动化测试和测试分析就显得十分必要。本文设计并实现了 Web应用自动化测试系统中的分析服务部分,主要针对Web应用测试的缺陷扫描和缺陷分析,提供智能解决方案。应用依赖于负责自动化遍历测试的执行服务和调度组件记录的待测系统相关日志、截图等多源“黑匣子”数据,利用聚类算法和特征检测等方法,构建了 Web应用相关缺陷体系,并对应实现和集成相关数据的缺陷检测器,最后通过检测发掘应用缺陷,构建待测应用的测试报告,同时支持对其他分析数据和可能缺陷类别的拓展和兼容需要。另一方面,系统还建立了初步的Web应用评价体系,从而实现对Web应用质量的多维度评估。整个系统基于SpringBoot框架暴露服务,供下游使用,使用MongoDB、Redis和OSS作为数据中心,利用RabbitMQ作为消息队列实现异步调用,并通过Celery实现子任务的调度和分发。目前该系统已经部署,并面向企业和高校提供差异化支持。基于50个线上真实网站的实验,也表明系统能够有效发掘断链、资源加载失败、服务器端错误以及JS脚本错误等多种Web应用缺陷,同时人工抽样审查的系统缺陷分类正确率和导出测试脚本执行正确率均超过95%,且不限于多样化的Web应用前端开发框架选型,能够为大部分业界网站提供自动化测试评估服务,并和人工测试、脚本测试以及众包测试等多种测试手段一道,为Web应用质量保驾护航。
基于搜索的自动化测试用例生成系统的设计与实现
这是一篇关于自动化测试,测试用例生成,白盒测试,遗传算法的论文, 主要内容为随着软件产品规模和复杂度的增加,多终端化和微服务化趋势对软件质量提出了更高要求。核心后端服务质量在软件质量中尤为重要,对其开展白盒测试是必要的降低风险的精细化手段。由于测试环节时间有限且白盒测试对测试人员能力的高水平要求,因此自动化测试用例生成系统应运而生以改善测试的效率和质量。在自动化测试用例生成领域,遗传算法是最常用的方法。在实际应用中遗传算法对于基因型到表现型的相互转换和适应度函数的评估这类外部因素对测试用例生成系统的高效性、可用性和正确性有决定性影响。本文的主要工作在于,首先调研白盒测试用例自动生成相关的研究背景和技术,随后分析实际问题中存在的技术难点并阐述基于遗传算法的自动生成用例方法中相应的解决方案、实验内容和结果,然后将设计并实现了基于搜索的自动化测试用例生成系统。系统分为两个部分,一是自动生成测试用例部分,该部分实现了测试覆盖策略的配置功能和被测对象的约束信息的处理,增强了应用的灵活性和可拓展性;二是测试用例管理部分,该部分管理和展示了测试用例通过可视化代码覆盖详情方式直接体现的测试用例优化效果。最后,本文依据软件工程的规范,详细阐述了基于搜索的自动化测试用例生成系统的需求分析内容、系统架构等概要设计方案、模块详细设计内容、重要模块的实现工作以及系统测试过程和结果。本文的主要贡献在于,对白盒测试用例生成问题中的技术难点提出了相应解决方案,对白盒测试用例生成过程的范围和效率做出了改进。本文针对编码与解码过程中的难点,提出了基于树型嵌套的反射方案并完成了基因型到表现型的相互转换。同时,针对适应度评估的难点,本文提出了字节码热更新的方式完成插桩,并使用缓存和自定义的类加载器提高了适应度评估的效率。本文通过在Defect4J数据集上抽取被测类,与EvoSuite、Randoop进行对比实验,验证了复杂对象数据类型编码方案对提升覆盖率以及采用本地调用与字节码热更新方式完成适应度评估对算法性能的提升效果。
Cloud JDK自动化测试框架的设计与实现
这是一篇关于云计算,多租户,Java,自动化测试的论文, 主要内容为随着云计算的兴起和广泛应用,涌现出大量面向云计算的框架和解决方案。支持Java语言的Platform-as-a-Service(平台即服务,以下简称PaaS)框架在市场上有很多,尽管它们在某些方面表现出突出的优势,但是依然对于Java程序有很大限制,比如无法使用网络IO包和文件等,以及不支持很多常用的框架(如Spring、Struts2)。Cloud JDK正是为了弥补当前Java虚拟机对云领域支持不足的缺陷。而Cloud JDK的测试作为质量保证的核心,高效灵活的测试也是保证项目顺利完成的关键一环。目前,Cloud JDK的测试工作基本是依靠手动完成。虽然已经有了一些测试脚本,但是平台依赖性高,不够灵活。在进行多平台测试时,测试环境和脚本不断变更,需要根据测试环境频繁地修改测试脚本和配置。此外,手动测试的日志只是输出在控制台中,而没有保存。当出现BUG时,开发或测试人员需要再次进行测试,以获得完整日志才可以查明BUG的原因。以上这些问题都大大增加了测试成本,降低了测试效率。面对繁重的开发和测试任务,已有的手动测试显然已经不能满足测试的需求,甚至阻碍了Cloud JDK项目推进。Cloud JDK的自动化测试框架的研发是十分必要的。本文详细研究了Cloud JDK多租户特性、OSGi标准和Cloud JDK测试标准。基于Jenkins持续集成框架,并结合了已有的手动测试脚本,本人设计和实现了Cloud JDK自动化测试框架。它可以完成JDK远程下载,环境自动搭建和测试的执行和结果反馈等工作;其中涉及对于Cloud JDK的特性进行相应的应用测试和Java语言规范测试;同时还解决Cloud JDK在多个平台上测试时所遇到的平台相关性问题。
面向CMC的系统级测试验证系统的设计与实现
这是一篇关于CMC,系统级测试验证,自动化测试,逻辑控制,运动控制,性能测试的论文, 主要内容为随着集成电路与SoC的发展与广泛应用,测试验证工作在SoC研发过程中的重要性越来越高,尤其是各种具有特定功能的SoC。而当前的国内自动化领域,小型化、低成本、高集成度的控制模块化的芯片成为一种迫切需求,本研究所依赖的课题就是面向工业控制的片上系统的研制,即CMC系统,相应的CMC系统的测试验证工作也成为了一个重点与难点。在此背景下,本文重点研究了面向CMC的系统级测试验证系统的设计与实现。CMC系统包括CMC芯片、嵌入式固化软件及对应的上位机组态监控软件等,本论文重点研究基于CMC样片的软硬件协同的系统级测试验证。基于CMC系统级的面向工业控制的功能,包括基于LCP实现的逻辑控制与基于MCP实现的运动控制,设计并实现了面向CMC的系统级测试验证系统。该系统包括硬件支持平台、面向逻辑控制的测试验证平台、面向运动控制的测试验证平台以及CMC性能测试。该测试验证系统的硬件支持平台采用基于CMC-Alpha样片自定义的硬件平台,包括CMC最小系统、各种通信接口以及输入输出接口等模块。在此基础上,重点设计与实现了面向逻辑控制的测试验证平台以及面向运动控制的测试验证平台。面向逻辑控制的测试验证平台采用自动化测试的方法实现基于IEC61131-3工业控制编程语言标准的测试验证,该平台主要包括:基于CMC相关API接口设计的自动化测试框架、基于IEC61131-3标准的测试用例设计以及缺陷跟踪系统等。面向运动控制的测试验证平台采用基于MCP监视寄存器的运动控制可视化的方法实现对运动控制的辅助测试验证,主要设计了该辅助监视平台,包括自定义的通信机制、实时二维可视化以及基于Matlab的三维可视化等。此外,还研究了CMC的性能测试方法,其中包括CMC的系统级功耗与基于PLCopen标准的基准性能测试。最后,对本文所设计实现的测试验证系统的应用情况与结果进行了论述。通过论述验证了本文所设计的测试验证系统的可用性,能够对CMC系统级的逻辑控制功能、运动控制功能进行完善的测试验证,并且能够有效的测试CMC的关键性能指标。
基于QTP及J2EE的自动化测试系统设计与实现
这是一篇关于QTP,J2EE,功能测试,自动化测试,自动化测试框架的论文, 主要内容为由于软件规模的扩大,软件测试工作变得更加复杂,依靠传统的手工测试已经不能满足现实的需求。自动化测试技术经过多年的发展,出现了对测试框架、测试脚本技术、自动生成测试用例以及自动化安全测试方面的研究方向,其中自动化测试框架在软件测试领域中被广泛采用。 本文根据实际项目需求,在以往项目测试工程师积累的关于自动化测试框架的开发经验上,通过查阅各种自动化测试技术的发展情况的相关文献,以当前最成熟的J2EE技术为支撑,设计了一个通用的基于QTP和J2EE的自动化测试系统。该系统采用J2EE常用的分层设计思想,将测试工作分段处理,模块化组织,将测试对象、测试脚本、测试数据、测试用例、测试场景和测试动作都统一集成进J2EE系统,一站式的测试开发与管理,并直接将测试过程中的相关数据存于数据库中,使得维护和重复测试的成本大大降低,另外,由于采用成熟的自动化测试工具QTP,省去了开发自动化测试工具的成本,为软件快速搭建提供了保证。 本系统投入应用后,降低了自动化测试人员的使用难度,减少了测试人员的学习时间。并且经系统统一开发的测试脚本、用例与场景具有同一性,提高了测试脚本的质量,也降低了测试脚本后期的维护成本。由于系统的成本较低,上手容易,且测试功能较为齐全,因此该系统具有很强的应用价值和前景。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码客栈 ,原文地址:https://m.bishedaima.com/lunwen/45707.html