【摘要】本文讲述某个企业级SaaS产品自动化测试项目的实践过程。文章介绍了项目遇到的挑战、应对策略和实施过程,最后总结了企业级SaaS产品给自动化测试带来的新挑战和项目的六点实践经验。
项目背景
奥博杰天中国测试团队负责一套云端人力资源管理产品的自动化测试,产品简称WHMC (Workforce Management and HCM Could Solution )。 该产品帮助大型企业管理员工考勤、排班优化,以及缺勤等复杂业务逻辑。它的客户包含制造商、零售商、医疗机构、服务机构、交通运输和物流等全球数千家各种规模机构。由于业务复杂,WHMC被拆分成15个组件,每个组件配备10-20人的研发团队。 研发团队以项目为单位分布在美国,加拿大,印度和中国多个不同的城市。WHMC作为一套SaaS云端解决方案,支持客户按月购买服务, 同时也支持整套解决方案驻场部署在客户的机房内。该产品在研发上有以下几个特点:
- 作为企业级SaaS,产品的功能组件多、集成和测试难度大。
- 国际化特征明显,研发团队分布全球,沟通交流不便。
- 产品迭代更新快,每个研发团队都有自己的进度,测试团队无法控制研发团队的工作安排。
面临的挑战
保证自动化测试用例集可持续运行是企业级SaaS产品进行持续集成和自动化部署(CI/CD)、实现敏捷开发的核心。这一挑战由奥博杰天的测试团队来担当。我们的测试团队虽然之前做过很多国外大型项目的自动化测试,但是对测试功能点多、项目干系人分散、交付质量要求又高的企业级SaaS还是第一次碰到。用之前的项目经验去实施项目碰到了不少挑战,主要集中在以下三方面:
测试技术的挑战
自动化测试用例集分为UI 测试, API 测试, 和混合场景测试。我们使用TestNG (版本6.8.8)、Selenium (版本2.53.0) 的WebDriver、REST-Assured(版本2.9.0)作为测试框架的核心工具。开发完成的自动化测试用例上传到Git仓库进行版本管理,由Jenkins进行CI/CD。测试用例生命周期及测试结果通过惠普的ALM (Application Lifecycle Management) 进行管理。 整体测试框架如下图: