小伙伴们
“持续集成”
“持续部署”
“持续交付”
想必你们已经耳熟能详
是不是觉得
听到的DevOps和敏捷开发流程大体是这样的?
那么请问
软件研发流程中
不可或缺的“测试”步骤去哪里了?
老司机这里告诉诸位,上述过程是个残缺版的DevOps。
完整版的DevOps是需要包含“4C”的,除了上述的三个“持续”,“Continuous Test”自古以来就是整个流程不可分割的一部分。
第一,持续测试
持续测试是一个过程,它将自动化测试作为软件交付通道中内嵌的一部分,以尽快获得软件发布后业务风险的反馈。
随着移动互联 、云计算、大数据、AI的爆发,整个行业的变化要求测试更多,自动化测试疲于应付,应用程序体系结构越来越趋向于分布式和复杂化,由于Agile,DevOps和“持续”,许多应用现在每两周发布一次,每天部署很多次。因此,可用于测试设计,维护和特别是执行的时间大大减少。
第二,持续测试(CT)步骤
01尽早规划测试
使用测试这类技术所使用的工具,可以确保业务主管,产品经理,开发人员和测试人员充分沟通并记录需求,定义清晰的测试用例,提早编写测试脚本,以达到一个流畅的测试过程。
02优化测试覆盖率
使用可视化模型让各种路径被探索优化,以便尽可能少的的测试用例覆盖多数业务场景。
03实现「迭代内(in-sprint)」测试
迭代包含测试过程,可以在开发周期的早期运行。自动化测试覆盖UI, 功能,性能和安全。敏捷团队多个角色一起工作,一起以要交付给客户的业务价值为专注点。
04快速提供测试环境
提供测试环境的能力对实现持续测试是至关重要的。
05提供贴合实际的测试数据
为了准确的测试新功能,测试数据应该尽可能的跟生产环境时所应用遇到的数据相近。
06部署配合测试
比较时髦的说法叫:“测试右移”。使用开发周期和生产中的数据来优化测试周期、调整测试用例,以建立最佳回归测试套件。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!