某SaaS产品的测试方案
一.背景介绍
为了帮助小微企业更高效的开展业务与更高效的管理以及适当降低运营成本,xx云星辰项目应运而生。xx云星辰是小微企业成长服务平台,以“新营销”、“新财税”、“新模式”为宗旨,为小微企业提供“经营+管理”的一体化解决方案,整合企业资源,助力企业实现利润最大化。
二.业务介绍
xx云星辰是一款SaaS产品,在web端可以直接进行访问,也有移动端产品。移动端产品为客户移动办公提供方便(如打卡拜访、移动开单等),在web端实现权限管理与控制,同时也可以操作比移动端更加详细的功能。
三.架构介绍
xx云星辰的架构是基于内部自研的动态领域模型实现的微服务架构,实现了模型驱动,实现了前端可拖拽化实现,减轻了后端同学编写前端代码的压力。采购、库存、销售等每个模块都相当于一个微服务,各自工作,各自独立,各自独立部署,架构设计较为灵活,有较强的可拓展性。
四.测试方案
痛点1:
移动端是基于H5开发,将H5嵌入APP实现的,相当于APP只是一个基础设施,并不是基于APP,手工测试占很大比重,每次发布新功能都需要考虑对老功能有没有影响,而且没有基于APP的真机自动化测试,也容易存在兼容性的问题。web端可供客户二次开发的部分也没有实现ui自动化。
解决方案:
通过选择手工测试稳定的用例添加UI自动化测试,降低测试同学的重复工作量,使测试同学可以将更多的时间投入到需求测试,而不用花很多时间去测试很稳定的功能。项目目录如下:
技术总结:
通过Python+Pytest + appium/selenium+ allure架构来自动化,通过page object思想来实现以页面为单位进行分层管理,减少了代码的冗余,实现了链式调用,也减轻了代码之间的耦合性,使得代码开起来很清爽,也便于后面的维护和拓展。用例正在逐步完善ing。
五.效果
通过实现真机自动化测试,发现了一些兼容性与体验性的问题如模块文字显示重叠、模块文字显示有误等,使得个人的测试时间从一个小需求3天到1.5天的飞跃,节省的50%的时间可以用于支持其他的项目或者丰富自动化测试用例,更好的提升测试效率与保证测试质量。因为是试点阶段,还没有在组内完全开展,但效果已经引起领导的思考。