业务的不断扩张,新技术的引进以及版本的快速迭代,测试的场景越来越多样化复杂化…
测试几大痛点:工具繁多、环境复杂、回归压力大、项目管理困难…为了解决这些问题,急需一个有效的集成化测试平台帮助我们扫清眼前障碍,提高测试效率。本文从以下几点提供一套正在拍拍贷实践的解决方案。
- 简单易用最重要
平台采用浏览器方式方位,bootstrap + Springboot的前后台框架。
选择这套框架的原因是开发速度快,代码简洁易上手管理,好的框架缩短了开发周期,节省成本。简单易用的可视化界面设计,方便操作使用,高效的代码封装,降低了测试人员的技术门槛。
- 模块化管理
我们期望平台是可以扩展的,平台本身只保留权限管理,模块管理,系统管理,日志管理等基本功能,真正能解决问题的功能都独立出去,实现模块化。这样设计的好处是平台不用关心具体的实现,只提供统一的入口管理,减轻平台自己的负担,给独立模块更好的自由度。
现有的独立模块包括:
- 需求管理:实现JIRA的API接口,汇总需求,实现筛选和统计功能。
- 自动化回归:搭建统一的接口和UI自动化测试模块:
- 通过集成jenkins+ jmeter +测试脚本完成接口的自动化回归,生成自动化报告,邮件告警;
- 通过jenkins+ selenium +测试脚本完成UI的自动化回归,并生成自动化报告,邮件告警。
- mock服务:一键修改站点映射,路由到mock站点,自定义接口挡板,扫清阻塞流程。
- 自动部署:通过实现jenkins的API,完成站点的一键部署,邮件告警。
- 报表统计:统计各项数据,包括项目个数,项目进度,bug数量等等图形化展示
- 灵活可配置
一个好的集成平台,希望可以集成所有可以集成的功能,所以我们提供了统一的API和配置化的页面,这样就可以做到无需修改代码,即可集成独立模块,实现功能的可配置化,同时也提高了扩展性。
通过定制模板的方式来实现配置功能,用户只需要在配置页面定制标题,站点地址,即可自动生成对应的菜单目录,新的目录页权限由平台统一管理。
总结
通过集成功能+自动化的一套平台解决方案,得到了阶段性成果,相比之下优势明显:
- 统一了工具入口,涵盖了常用的测试工具。
- 降低了测试的技术门槛,达到了个人带动团队,团队提升效率的目的。
- 便于管理,疏通了需求开发测试上线的流程,归档了测试进度,用例,文档等
- 增强了测试人员的代码能力,因为我们鼓励每一位测试同学都参与到模块的开发中,创造的过程,也是自我提升的过程。
虽然集成测试平台解决了部分测试问题,但是在系统的使用上还是存在明显的不足,比如页面的样式单调、操作步骤繁琐、部分功能响应过慢、功能模块比较少、并发操作容易出问题等等,所以后续我们会把重心放在UI优化,性能优化以及功能拓展上。
反复地推断,无休止地修正,就能在科学上取得勿容置疑的进步——杜克洛克斯。