《DevOps中的自动化测试实践.docx》由会员分享,可在线阅读,更多相关《DevOps中的自动化测试实践.docx(4页珍藏版)》请在第一文库网上搜索。
1、DevOps中的自动化测试实践Devops中的自动化测试如何做?目前,Devops中CICD已经基本有大量方案和用法,但是最难啃的骨头-自动化测试,才是做完和做好的关键。关于自动化测试,不仅是测试人员,还需要开发侧配合,但更多现实是急于开发业务,连单元测试都没有写好。如何在流水线侧提供更好的支撑?问题来自社区会员JOey991某保险云计算高级工程师贺思佳兴业数字金融服务有限公司前端工程师:自动化测试是一个策略性的系统工程,除了工具框架,还需要考虑:项目的技术栈,产品架构,开发流程,基础设施,可靠的测试数据,稳定干净的测试环境,如何呈现测试报告,如何工程化测试配置,测试套件等等。有了自动化测试还
2、不够,我们的目的是在持续交付的过程中实现快速频繁的质量反馈,我们需要持续不断地测试(持续测试)。实现持续测试,不仅需要团队从文化上去支持,真正做到全员对测试和质量负责,创建DeVOPS文化氛围,打通开发-测试-运维的壁垒;还需团队从技术上去储备知识,比如云平台、虚拟化技术,容器及相应的编排技术。考虑项目的技术栈和QA的自身能力选择测试工具不管多火的工具,如果不能兼容项目的技术栈和基础设施,那都无处发挥其优势,流行的不一定适合项目。在写自动化之前,QA需要对项目的技术栈,开发流程,和基础设施有基本的认识和了解;另外也要了解和掌握各工具之间的优劣,这样才能为项目选择最匹配的自动化工具。选择合适的时
3、候做自动化,避免不必要的浪费选择自动化一定是要考虑项目是否存在客观的现实需求,在动手实施具体的自动化测试之前,一定要对自动化测试的投入产出比做一次客观理性的评估。自动化测试的成本相对单次手动测试来说是较高的,为了少量的测试活动而做自动化,投入产出比是很低的。因为自动化前期需要投入产品分析,工具框架选型,用例设计,数据环境准备等等,后期还需要持续不断的投入人力进行及时的维护和更新以保证自动化测试的严密性和足够的覆盖率。自动化测试和产品代码一样重要,需要安全员负责敏捷强调全员负责,如果只是QA一个人来维护管理,那么这个QA一定做不了自动化以外的事情。在敏捷项目之下,QA的首要任务应该是驱动团队各个
4、角色对质量负责。为了提升团队对自动化测试的重视程度,可以为每套自动化测试编写清晰的README(保证团队里其他成员清楚的知道如何运行自动化测试);生成良好的可视化测试报告;为了让U1测试更稳定,要求开发人员把页面的关键组件元素加上ID属性;要有高度可视化或者能及时通知测试状态的方式,避免测试挂了的时候没人去看,没人去修。软件交付是一项团队工作,即便是自动化测试也一样需要全员协作。持续测试除了自动化测试还需要QA和团队具备DeVoPS相关的技术QA和团队必须对应用程序和用户环境有一个完整的了解,并且能够融合技术和管理经验。所以只会自动化工具不够,只有自动化测试也不够。如果团队开发者没有DeVOP
5、S的经验,或者他们忙于开发、上线冲刺,那么QA必须对Docker,KUberneteS基本命令和用法有些了解。czm381263772苏州博纳讯动软件有限公司解决方案架构:通过devops做自动化测试,需要考虑多方面因素,团队文化、测试工具熟练度、自动化测试人员专业知识储备、过程管控管理方法是否完善等。从以下几个方面阐述:1、团队文化,如果以后测试团队还处于黑盒功能测试阶段,不适合立即上马自动化测试,测试方式改变带来团队文化改变,由于之前知识储备不足,可能会影响团队士气和测试规范化。2、测试工具熟练度,要具备市面上常见测试工具使用基本技能,能够在日常生产过程中实际应用和改进,当改用自动化测试手段后,对于过程出现的问题会第一时间排除原因和问题重现,能够提升团队工作效率。3、自动化测试人员专业知识储备,在升级到使用devops自动化测试作为日常生产的工具,需要提前具备相关专业知识储备,建立起完善知识传承体系、培训制度,养成良好的测试习惯等。4、过程管控管理上,需要在团队内部建立完善过程管理流程,划分各环节角色与职责,避免分工不明造成工作混乱。-全文完-