客户端冒烟自动化流程设计开发
背景
本章节给大家分享我在工作中所开发的客户端冒烟自动化测试流程建设相关内容。这项开发工作的背景诞生于车企无穷无尽的回归要求。在车载软件的交付过程中回归的几种场景场景有:
1.车企验收后代码不断的变更;这个测试过程在车企的测试流程当中,不在b站的测试流程中,可能存在影响主app功能的质量风险
2.车机系统升级,一般来说车机系统一直在不停的升级更新;例如验收过程中就可能出现10+次的代码变更;
3.性能优化工作的持续进行,这是车载软件特有的或者说是b站车载测试的一大工作事项;为了满足上车的要求,性能测试在不断持续的进行;
4.testing分支上不断的代码合入;
基于上述的变更,车企对我们的每次交付也要求有主流程的功能回归,而这部分工作如果单纯依靠人力投入,那么将是投入收益比不是很高的回归工作,会有潜在的人力资源的浪费;且由于重复劳动在,难免会导致工作兴趣度的持续下降;最后可能也保证不了回归的质量。
基于此,希望能够设计一套适合车载业务交付的ui自动化测试流程。
方案设计
在ui驱动上选择使用的是uiautomator2;在具体的测试驱动以及校验驱动上 依然选择的是python的pytest框架以及原生assert语句支持。
具体的在以往我们做自动化测试在ui侧所遇到的痛点问题,诸如
1.case稳定性不如ui文档性高,存在概率性失败
2.部分case无法自动化 需要手工验证
3.部分校验点可能无法完全保证校验通过之后就没有问题
所以在ui自动化的定位上,更多的是将其定位为冒烟自动化测试;并且为了保证冒烟结果的完整性,会完整的会写自动化的测试结果,并重新人工二次确认执行失败的case。
同时为了运行结果能直接交付车企,定制化了使用excel进行冒烟用例的维护以及case的维护,并编写了pytest插件,在运行完成时即可直接产生可交付的测试报告。
Excel格式如下:
代码格式如下:
插件代码:
Case的执行方式:
pytest . --smokeTestCase /Users/lujuan/IdeaProjects/autotest-bilibili-car/uitest/test_case/bilibili_things_smoke_unlogin_cases.xlsx
同时在刚开始写代码的时候为了批量生成case的空壳,也编写了对应
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
本专栏专注于对复杂项目对测试用例编写思路、接口自动化测试用例以及自定义接口测试框架及工具对实现。