APP下载

基于持续集成的自动化测试框架

2019-05-22国建胜张亚楠刘晶

电脑知识与技术 2019年6期
关键词:测试报告软件测试脚本

国建胜 张亚楠 刘晶

摘要:近年来,随着计算机软件技术的不断发展,软件版本快速迭代,敏捷开发等快节奏的开发模式成为必然的发展趋势。因此,对软件测试的要求也越来越高,测试任务复杂,工作量大,版本迭代频繁是现在测试面临的问题,针对这些问题要求测试速度更快、精度更准、准确度更高,传统软件测试模式急需进行转型升级。基于以上传统测试问题,并结合实际项目中开展自动化测试的实践,提出持续集成(CI)自动化测试框架,阐述现有的持续集成自动化框架,该框架的内容、优点,并提出基于Jenkins的持续集成框架的自动化测试框架实施与运行。

关键词:自动化测试;持续集成;Jenkins持续集成应用

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)06-0259-02

Automated Testing Framework Based on Continuous Integration

GUO Jian-sheng,ZHANG Ya-nan,LIU Jing

(China Automotive Technology & Research Center, Tianjin 300300,China)

Abstract: In recent years, with the continuous development of computer software technology, the software version is rapidly iterative, and the fast-paced development mode such as agile development has become an inevitable development trend. Therefore, the requirements for software testing are getting higher and higher, the test tasks are complex, the workload is large, and the version iteration is frequent. Nowadays, the test requires faster test speed, more accurate accuracy and higher accuracy. The software test model is in urgent need of transformation and upgrade. Based on the above traditional test problems, combined with the practice of automated testing in actual projects, the continuous integration (CI) automated testing framework is proposed, and the existing continuous integration automation framework, the content and advantages of the framework, and the continuous integration based on Jenkins are proposed. The framework's automated testing framework is implemented and operational.

Key words:automated testing;continuous integration;jenkins continuous integration application

動化测试是通过自动化测试工具或其他手段,按照测试工程师制定的计划自动地进行测试,目的是减轻手工测试的工作量,从而达到提升测试效率,提高软件测试质量的目的。随着在企业中开发的复杂程度越来越高,对测试的要求也越来越高,在一个跨越过各地区甚至是国家的团队中,如何更好地让团队成员在一起协同工作并同时能够确保软件质量是越来越多的团队在考虑的问题,尤其在最近几年,敏捷开发的概念越来越火爆,在这种需求不断变化,团队需要在快速发布的背景下,如何更好地保证软件质量是尤其重要的。采取持续集成的思想进行自动化测试,可以有效地解决这一问题,基于持续集成的自动化测试主要流程为,针对每次修改后的测试脚本,更新到版本控制工具,如Git,Jenkins通过webhook检测到版本控制工具上的测试脚本有更新,触发构建job,将脚本clone到本地进行执行,达到持续集成自动化测试的目的,本文主要对持续集成的自动化测试架构进行详细分析。

1 持续集成自动化测试框架组成

1.1持续集成自动化测试框架结构

目前,持续集成的自动化测试框架主要组成为:编程语言+单元测试框架+扫描编译工具+持续集成工具+数据库+项目管理工具的结构,每个部分具体解释:

?编程语言:编写测试脚本、日志记录和输出;

?单元测试框架:提供测试脚本运行、异常校验等一系列的配置;

?扫描编译工具:测试文件扫描编译,一般配合持续集成工具使用;

?持续集成工具:Jenkins等持续集成工具;

?数据库:测试数据管理;

?项目管理工具:测试结果统计管理。

1.2持续集成自动化测试框架组件

常用的持续集成自动化测试框架主要包含以下组件:

?Log:日志记录和管理功能,针对不同的情况,设置不同的日志级别,方便定位问题;

?Report:测试报告生成和管理以及即时通知,测试结果快速响应;

?Source:配置文件、静态资源的管理,遵循高内聚低耦合原则;

?Common:公共函数、方法以及通用操作的管理,遵循高内聚低耦合原则;

?TestCase:测试用例管理功能,一个功能点对应一个或者多个case,尽可能地提高覆盖率;

?TestData:测试数据管理功能,数据与脚本分离,降低维护成本,提高可移植性;

?TestSuite:测试组件管理功能,针对不同场景不同需求,组装构建不同的测试框架,遵循框架的灵活性和扩展性;

?Statistics:测试结果统计管理功能,每次执行测试的结果统计、分析、对比以及反馈,数据驱动,为软件优化和流程改进,提供参考;

?Continuous:持续集成环境,即CI环境,包括测试文件提交、扫描编译、执行测试、生成报告及时通知等功能,持续集成是自动化测试的核心。

2 持续集成自动化测试工作流程

程序员从SCM下载最新程序;程序员编写程序代码,测试脚本等,并提交更新结果给SCM,CI服务器根据出发条件,从SCM提取最新代码,交给构建工具的工作空间;构建工具对代码进行编译、测试、并进行打包;最后有持续集成服务器对本次构建的结果进行反馈。

3 持续集成工具Jenkins介紹

Jenkins是目前最流行的持续集成工具,它可以提供一个易于使用的持续集成系统,使得用户可以容易地将获得编译的结果用于部署,显著提高工作效率。

Jenkins主要特点包括易于安装,只需要通过Java命令来部署,无须其他的安装步骤,也不需要相应的数据库配置;易于配置,提供良好的GUI配置页面;支持变更,Jenkins能从Subversion/CVS等版本管理工具中生成修改列表,并且本身也不会对这些版本管理工具产生过大的负载;可生成固定链接,Jenkins对于大部分的页面可生成易于理解的链接,可方便的被其他应用程序访问或者利用;RSS/邮件/IM工具集成,可以通过RSS、邮件或者IM的方式来获得实时的编译结果的通知;分布式编译,能够分发编译或者测试的负载到多台机器,这样可以充分利用机器,避免造成空闲资源;生成测试报告,可以用图表等形式生成详尽的测试报告;支持第三方插件扩展,用户可以自由开发插件使其支持自定义流程或工具。

4 结论

引入持续集成的自动化测试框架,能够自动获取测试脚本,完成测试脚本的编译,执行自动化单元测试,并根据定时任务进行自动化集成测试,执行测试完成后,生成测试报告,通过邮件发送测试结果给相关人员。通过持续集成进行自动化测试的方式,可有效地提升测试效率,并应对需求变化快,版本迭代测试多等现阶段测试面临的普遍问题,可以有效地把控测试风险,并能在保持原有人力资源的基础上,提高现有的测试质量和效率。

参考文献:

[1] 陈冬严,邵杰明,王东刚.精通自动化测试框架设计[M].北京:人民邮电出版社,2016:323-338.

[2] 葛长芝,鲁盈盈,欧仕强.质量全面管控[M].北京:电子工业出版社,2017:271-312.

[3] 赵卓. Selenium自动化测试指南[M].北京:人民邮电出版社,2013:229-235.

【通联编辑:唐一东】

猜你喜欢

测试报告软件测试脚本
酒驾
基于OBE的软件测试课程教学改革探索
数据库系统shell脚本应用
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
快乐假期
百变星君:ROLLINGSTONE 变色龙紫破风车架测试报告
软件测试工程化模型及应用研究
SSAB Hardox悍达450材料轻型自卸车厢体测试报告