全程软件测试
概念
全程软件测试,强调软件测试不再是一个阶段,而是贯穿整个软件开发与维护的生命周期,只要软件研发项目一启动,软件测试就介入,从需求评审开始,直到产品交付后的在线测试。测试左移,将传统的动态测试扩展到静态测试,开展需求、设计和代码的评审;将测试验收到软件研发周期之外,进入软件运维阶段,意味着始终关注软件产品质量,而不是说,软件交付后就万事大吉了。测试左移更到位的话,就是实施TDD,测试右移到位,就是今天推崇的DevOps。
传统模式的研发模式的测试环
在传统的研发过程模式中,瀑布模型是典型的代表,强调工程的阶段性,每个阶段完成自身的工作,即某个阶段未达到出口准则,这个阶段就不能结束。
下面说明从软件过程以及项目管理的角度看传统测试环的测试过程。
- 从软件工程过程来看,经过需求评审、设计评审、代码评审与单元测试、集成测试、系统测试和验收测试,再到产品缺陷根因分析、产品改进计划(提出新的产品需求)阶段,再进入下一个循环。
- 从项目管理角度看,经过测试分析、测试计划、测试设计、脚本开发、测试件评审、测试执行与监控、测试过程与结果的评估、测试与质量报告和项目总结阶段,形成项目过程环
敏捷开发中的测试环
在敏捷测试流程中,提倡测试驱动开发,关注持续迭代的新功能,针对这些新功能进行足够的验收测试,而对原有功能的回归测试则依赖于自动化测试。
下面说明从软件过程以及迭代过程的角度看传统测试环的测试过程。
- 从软件工程过程来看,经过建立验收标准ATDD、用户故事评审、测试驱动开发、代码评审、持续构建、持续测试、验收测试、产品演示、收集反馈持续改进,再进入下一个循环。
- 从迭代过程看,经过任务估算与分解、一页纸的迭代测试计划、场景设计、探索式设计&脚本开发、持续测试与质量反馈、反思、持续在线测试(监控)与质量度量,形成项目过程环
总结
通过对全程测试的了解,目前对实际过程中遇到的问题总结如下:
- 未做到测试驱动开发
- 对于一句话的需求,要求产品经理进行用户故事说明
- 测试右移做的不好