网站首页 > 精选教程 正文
AutoMeter是一款针对分布式服务,微服务API做功能和性能一体化的自动化测试平台,一站式提供发布单元,API,环境,用例,前置条件,场景,计划,报告等管理
在项目开发,迭代交付过程中开发人员,测试人员需要针对系统提供的API做调试,回归测试,性能测试。自动化测试,一个好的平台本质上需要解决API测试的5大基本问题:
1.支持不同的角色,技术人员多人协作
2.支持定义多个不同的测试环境
3.支持定义各种被测系统,API
4.支持功能,性能,回归,自动化测试
5.功能/性能明细报告,统计报告
1.运行测试的环境如何定义?
一般个人,公司在使用分布式,微服务架构,从开发到发布上线可能会经过多套环境测试验证,比如开发环境,测试环境,准生产环境,生产环境,其中测试环境又可能分为多套功能测试环境和性能测试环境,多套环境分开管理,可以有序而不相互干扰进行测试工作 每套环境由开发的发布单元(服务,站点,应用各个公司叫法不一样),即提供api服务能力的实体,中间件(数据库,nosql,web服务器等等)这些元素组成 对于测试来说以上的元素我们需要部署到指定的服务器或者容器中整体来作为一套环境做测试工作
2.针对什么来做测试?
针对具体开发的服务(发布单元,应用,站点),既提供API的实体,这边我们命名为发布单元,可以定义访问此服务的协议,端口。 此发布单元包含了若干个API,每个API会有对应的参数需要维护,这其实也是个人或者公司提供对内对外api能力的定义
3.设计测试用例
从个人或者公司的角度看,用例的数量和类型来决定需要做怎么样的执行,如果用例数量庞大,并且需要快速得到结果,本质上我们需要拆分用例由多机并行执行满足需求,也就是多点执行,如果需要性能的测试,执行性能的机器我们可以是低性能的多台机器发起或者是高性能的少量机器发起,所以说怎么运行是根据需要来定制执行用例的类型和机器数量
4.运行用例
根据测试业务需要,定义成多个测试集合来满足不同的测试需要,功能测试,性能测试,回归测试,CI对接自动化测试
5.获得什么样的反馈报告?
对于用例执行完,我们希望看到什么反馈,对于开发,测试,或者其他技术人员,我们希望看到运行的用例详细信息:结果状态,运行时间,请求数据,API的具体响应,我的期望,断言的详细信息,以及用例运行时的信息,对应性能来说,我们还希望能得到统计的信息,比如整体性能的时间,tps,响应时间,99%pct等,以及性能结果的多次对比
架构
服务器部署
1.前端:testcenterapp
2.后端:testcenterService,dispatchservice,conditionservice,slaverservice
整体目录结构在Release/Beta下面,如图
部署所需要的基础环境系统的版本如下:
操作系统:Linux或者Windows
1.jdk 1.8
2.redis 5.0.8
3.mysql 5.7
4.nginx 1.9.9
具体每一项的部署方式如下:
一.数据库初始化
1.Mysql新建数据库testcenter,执行testcenter.sql(Release/Beta/sql/init-sql/testcenter.sql目录下) 创建账号,密码(test,test),并且给账号设置testcenter库的读写权限
后续版本的更新,提供增量的sql文件来执行,在目录Release/Beta/sql/update-sql中,可以按照日期文件依次执行
二.Redis
redis配置文件redis.conf中将protected-mode =no,表示免密码登陆,程序连接redis都没使用密码
三.前端:目录testcenterapp/dist,建议部署在Nginx中
1.配置文件:testcenterapp/dist/static/config.js中配置项SERVER_URL为指向后端TestCenterService的地址,可以根据自己实际的地址修改,如下图
2.配置nginx.conf中的http.server.location.root配置dist的存放服务器目录,例如:/app/AutoMeter/dist/ dist为admin打包出来的静态文件目录
3.nginx重启,nginx -s relaod
4.访问nginx的对外端口,既可以访问到后台页面:
四.后端服务
后端service目录结构,每个xxxxxservice目录下有jar,config目录,startup.sh 为启动文件,启动文件startup.sh需要修改下脚本指定下自己部署的目录
1.TestCenterService 测试中心服务
配置文件:config/application.yml中的配置项(6项配置):
- spring.dispatchserver.serverurl 指向调度服务DispatchService的地址和端口
- spring.conditionserver.serverurl 指向条件服务ConditionService的地址和端口
- spring.datasource.url/username/password 配置Myslq数据库的连接字,账号,密码(账号和密码配置项是加密后的字符串),默认是test/test, 需要修改的话可以运行test目录下的JasyptStringEncryptor 如下图 配置你需要的明文账号和密码,运行结果中加密串就是配置文件中的账号和密码,当然新账号密码在mysql中也要建好对应的账号和密码,以及赋此账号对于testcenter库的读写访问权限
- spring.redis.host/port 配置redis的ip和端口
- spring.logging.file/path 配置日志文件名以及日志文件目录
- 启动:执行startup.sh
2.DispatchService 调度服务
配置文件:config/application.yml中的配置项(4项配置)
- spring.conditionserver.serverurl 配置指向条件服务ConditionService的地址和端口
- mysql,redis,logging三项配置和TestCenterService相同
- 启动:执行startup.sh
3.ConditionService 条件服务
配置文件:config/application.yml中的配置项(4项配置)
- mysql,redis,logging三项配置和TestCenterService一致
- 启动:执行startup.sh
4.SlaverService 条件服务
配置文件:application.yml中的配置项(3项配置)
- mysql,redis,日志三项配置和TestCenterService一致
- 启动:执行startup.sh
五:启动顺序
1.数据库,redis
2.SlaverService
3.ConditionService
4.DispatchService
5.TestCenterService
6.启动nginx,nginx -s reload
访问nginx的地址,默认管理员账号密码为,admin admin123 登陆
想要源码部署,请记得关注+转发+私信
私信回复【自动化测试】
- 上一篇: 如何对ESB平台进行性能测试 esb实现
- 下一篇: 软件测试技术知识之性能测试流程总结
猜你喜欢
- 2024-10-18 性能测试面试题,5分钟速刷一下! 性能测试面试自我介绍
- 2024-10-18 性能测试面试题,5分钟速刷一下 性能测试面试题,5分钟速刷一下可以吗
- 2024-10-18 全栈性能测试修炼宝典 全栈性能测试修炼宝典第二版pdf
- 2024-10-18 130项测试发现Windows 11 WSL 2的性能已媲美最新Ubuntu 21.10
- 2024-10-18 通过命令vmstat查看Linux系统负载性能,查看分析信息详解
- 2024-10-18 如何使用perf top探究性能 perf性能分析
- 2024-10-18 Linux 上 Nginx 获得最佳性能的 8 种方法
- 2024-10-18 性能测试能力提升-关于性能测试 性能测试是指什么
- 2024-10-18 从“入门”到“专家”,一份完整的性能测试体系的知识分享
- 2024-10-18 软件测试技术知识之性能测试流程总结
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)