一种自动化测试持续集成方案

简介: 1. 背景介绍当前项目是Web应用,采用的是前后台分离的设计思想。后台通过RESTful API对外提供服务。因此在测试的时候,也需要同时对前台页面和后台API进行独立测试。

1. 背景介绍

当前项目是Web应用,采用的是前后台分离的设计思想。后台通过RESTful API对外提供服务。因此在测试的时候,也需要同时对前台页面和后台API进行独立测试。考虑到大量的API测试和页面功能测试,因此不可避免地需要进行自动化以加快项目的回归测试时间,减少人的工作量。

2. 测试目的

3. 方案设计

3.1 技术选型

由于我们在Robot Framework (RF)框架上有一些技术积累,因此在自动化框架选型上,我们选择RF作为自动化测试的核心底层框架。持续集成平台我们选择最流行的Jenkins来作为持续集成与调度平台。
同时,我们也选择postman的命令行工具newman, jmeter等作为我们的辅助测试框架,以应对不同的测试需求。我们整体的技术选型如下表所示:

img_7ff6e6b3afe2b5a12ba6867348096c56.png
newman in docker
编号 平台 介绍 备注
1 jenkins 开源的持续集成平台 整个自动化测试平台的核心
2 robot framework 开源的自动化测试框架 测试用例执行的核心
3 Selenium2Library RF框架下的Web测试库 web测试用例依赖库
4 requestsLibrary RF框架下的API测试库 api测试用例依赖库
5 newman postman的命令行工具,用于REST API测试 api测试用例执行工具
6 jemter 通用的接口测试工具 api测试用例执行工具
7 docker 一个开源的应用容器引擎 用于创建测试环境
8 gogs 开源的git web服务器 用于管理自动化测试用例

3.2 测试平台设计

这里,我们通过docker容器技术,封装了相关的测试环境,使得测试环境随用随起,用完即销毁,不污染我们测试机本身的系统环境。同时,也不需要我们在测试机上安装不同的测试工具了,通过docker,我们可以同时在测试机上启动多个容器来运行不同的测试任务。


img_76ece134cbb9ce7dda33775ca38d9e95.png
AutoTest Platform

这里是相关的测试环境docker镜像地址。大家可以自己pull下来运行。

镜像地址 介绍 备注
wywincl/docker-jmeter jmeter镜像,提供jemter执行环境
wywincl/robotframework Robot Framework镜像,提供RF执行环境, 支持Web与API测试,内置了Selenium2Library和RequestsLibrary库
postman/newman_ubuntu1404 newman镜像,提供了newman执行环境

样例1, 运行一个robotframework容器。

docker run -it --rm -v /path/robot-content:/etc/robot wywincl/robotframework [options] data_sources

样例2, 运行一个newman容器。

docker run -v ${WORKSPACE}:/etc/newman postman/newman_ubuntu1404 run "testcases/smoke_test/restapi_smoke_test/AMS_RESTful_API_SMOKE_TEST.json" -r "cli,junit" --reporter-junit-export

详细的使用介绍,请大家参考相关工具的使用指南。

目录
相关文章
|
6天前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
6天前
|
弹性计算 运维 安全
自动化AutoTalk第十五期:自动化场景-多账号自动化场景下的AK管理方案
自动化AutoTalk第十五期探讨了多账号自动化场景下的AK管理方案。主要介绍了通过阿里云的实例角色和STS Token减少AK暴露风险,避免硬编码AK带来的安全隐患。最佳实践包括定期轮转AK、使用临时Token、分环境管理凭据,以及利用ECS实例角色实现安全的跨账号资源操作,确保在多账号架构中提升自动化程序的安全性和管理效率。
|
1月前
|
机器学习/深度学习 人工智能 jenkins
探索软件测试中的自动化与持续集成
【10月更文挑战第21天】 在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的进步和开发模式的转变,自动化测试和持续集成已经成为提高软件质量和效率的关键手段。本文将深入探讨自动化测试和持续集成的概念、实施策略以及它们如何相互配合以优化软件开发流程。我们将通过分析实际案例,展示这些技术如何在实际项目中发挥作用,以及面临的挑战和解决方案。此外,文章还将讨论未来趋势,包括人工智能在测试领域的应用前景。
86 17
|
1月前
|
DataWorks 数据挖掘 大数据
方案实践测评 | DataWorks集成Hologres构建一站式高性能的OLAP数据分析
DataWorks在任务开发便捷性、任务运行速度、产品使用门槛等方面都表现出色。在数据处理场景方面仍有改进和扩展的空间,通过引入更多的智能技术、扩展数据源支持、优化任务调度和可视化功能以及提升团队协作效率,DataWorks将能够为企业提供更全面、更高效的数据处理解决方案。
|
1月前
|
监控 测试技术 定位技术
HTTP代理IP响应速度测试方案设计与指标体系
随着数字化发展,网络安全、隐私保护及内容访问自由成为核心需求。HTTP代理因其技术优势成为热门选择。本文介绍HTTP代理IP响应速度测试方案,包括基础性能、稳定性、地理位置、实际应用、安全性测试及监控指标,推荐测试工具,并提供测试结果评估标准。
53 2
|
1月前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成
在现代软件开发过程中,自动化测试和持续集成已成为不可或缺的组成部分。本文将深入探讨自动化测试和持续集成的重要性、优势以及如何有效实施它们以提升软件质量和开发效率。通过具体案例分析,我们将展示这些技术如何在实际项目中发挥作用,并讨论其面临的挑战及应对策略。
66 3
|
2月前
|
监控 jenkins 测试技术
探索软件测试中的自动化与持续集成####
本文旨在探讨软件测试中自动化测试与持续集成(CI)的融合实践,分析其对提升软件开发效率和质量的重要性。通过深入剖析自动化测试的优势、持续集成的核心概念以及两者结合的最佳实践案例,揭示这一技术趋势如何重塑现代软件开发流程。文章还将讨论实施过程中的挑战和应对策略,为读者提供一套实用的方法论指导。 ####
|
2月前
|
Devops 测试技术 持续交付
软件测试中的自动化与持续集成:最佳实践与挑战
在快速迭代的软件开发周期中,自动化测试和持续集成(CI)已成为提高软件质量和加速产品上市的关键策略。本文探讨了自动化测试和CI的实施如何帮助开发团队提前发现缺陷、缩短反馈循环,并确保代码质量。我们将深入分析自动化测试的策略选择、工具应用以及面临的挑战,同时提供一些克服这些挑战的最佳实践。
65 0
|
6天前
|
存储 测试技术 数据库
接口测试工具攻略:轻松掌握测试技巧
在互联网快速发展的今天,软件系统的复杂性不断增加,接口测试工具成为确保系统稳定性的关键。它如同“翻译官”,模拟请求、解析响应、验证结果、测试性能并支持自动化测试,确保不同系统间信息传递的准确性和完整性。通过Apifox等工具,设计和执行测试用例更加便捷高效。接口测试是保障系统稳定运行的第一道防线。
|
6天前
|
Web App开发 JSON 测试技术
API测试工具集合:让接口测试更简单高效
在当今软件开发领域,接口测试工具如Postman、Apifox、Swagger等成为确保API正确性、性能和可靠性的关键。Postman全球闻名但高级功能需付费,Apifox则集成了API文档、调试、Mock与自动化测试,简化工作流并提高团队协作效率,特别适合国内用户。Swagger自动生成文档,YApi开源但功能逐渐落后,Insomnia界面简洁却缺乏团队协作支持,Paw仅限Mac系统。综合来看,Apifox是国内用户的理想选择,提供中文界面和免费高效的功能。

热门文章

最新文章