质量管理改进—敏捷测试思想

发表于:2017-4-19 15:13

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Deadwalk    来源:搜狗测试

  最近公司又新上马一个项目,为了项目能够尽快抢占市场,产品、设计、开发、测试等小伙伴们在夜以继日地赶进度。除了加班赶进度,摆在大熊面前的一个巨大挑战是:项目组提出每两周迭代并上线一个版本。
  相信这种情况在各大小公司非常常见,也如大熊一样苦恼着这些问题:
  1.在版本迭代频繁的情况下,产品的质量如何保证?
  2.测试人员的测试时间应该留有多少?两周,一周又或者是2天?
  3.如果测试时间被压缩得很短情况下,质量和进度如何同时保证呢?
  为此,大熊把当前项目的流程(区分传统测试流程,简称非敏测试流程)在纸上画了出来,同时在纸上画了另外一个心中理想的流程(简称敏捷测试流程):
  非敏测试流程
  1.流程介绍:我们简单回归下大熊所带项目的测试流程过程,这一测试流程普遍存在于各个公司和各种项目。
  需求&设计阶段:与敏捷思想一致,将需求拆分成一个一个的story,安排在一个迭代内(如两周)可完成的需求。不求多、不求最全,通过一个版本接版本不断完善功能。
  编码阶段:开发人员根据需求进行相应的开发工作,待所有功能开发完毕后,提交给测试组进行测试。
  测试设计阶段:测试人员在需求、设计和开发编码阶段的同时,进行测试用例的准备。
  测试执行&Bug修复:待开发提测后,测试人员进行测试用例的执行和Bug提交;而开发人员同时进行Bug的修复。
  上线:当所有不阻塞上线的问题处理完毕后,版本上线发布。
  2.流程问题
  存在开发提测质量不足的风险,阻塞后续的测试执行。
  大量的Bug在提测之后才暴露出来,而这些问题的发现和修复成本都比较高。
  测试执行阶段基本依赖于手工测试,版本迭代的测试成本比较大。
  即便是在测试执行阶段引入appium或selenium等自动化测试,问题暴露得依然很晚。(此外自动化脚本的稳定性也是一个更大的成本投入)
  敏捷测试流程
  1.流程介绍:参考业界优秀公司和团队的一些做法,大熊拟定了一个改进流程。
  需求&设计阶段:不做赘述,仍然做好story的拆分和安排。
  编码阶段:
  引入代码Review机制,加强代码Review的评审和发现。(见附录3)
  引入单元测试机制。在编码的同时,开发人员将自己实现的类进行单元测试。
  加入测试驱动框架搭建,方便开发人员和测试人员进行集成测试的执行。
  测试开发人员编写集成测试用例并执行。
  持续集成:
  代码每日提交时都经过Review系统进行代码审核。
  代码每日进行自动化的单元测试执行和集成测试执行。
  当发现构建失败、或者测试用例不通过时,当下立刻解决其中的问题。
  测试执行&Bug修复:待开发编码均完成,单元测试和集成测试用例均通过之后(有些公司还会追求代码行覆盖率达到设定好的百分比),进入测试执行(系统测试)阶段
  上线:当所有不阻塞上线的问题处理完毕后,版本上线发布。
  Note:为了提升覆盖度和效率,还可以在回归测试阶段引入主路径的CheckList自动化和monkey稳定性自动化测试等工作,在上线前增加众测等。
  2.流程分析:对比非敏测试流程的问题,问题会得到进一步改善。
  因为单元测试和集成测试的引入,提测质量相比之前会变得更好。
  大量的Bug会在代码Review和持续集成过程中暴露出来,而问题越早发现,修复的成本也越低。
  测试手段会拓展为自动化+手工测试,后续版本迭代复用性高。
  3.流程问题:这一测试流程也存在很多问题和隐患
  代码Review机制能否贯彻执行的问题。
  开发人员单元测试的意愿度和成本问题。(见附录4)
  测试开发人员的框架设计和编码能力要求。
  项目初期需要进行测试框架搭建、持续系统搭建、自动构建和自动执行等大量的基础工作建设。
  路虽遥远,君心不摇。大熊和他们的小伙伴们正在不断实践和改进中….
  附录1:代码Review系统
  附录2:持续集成&单元测试
  附录3:引自《代码大全》中什么时候进行质量保证工作章节
  附录4:引自《代码大全》中开发者测试章节
  “质量保证的一部分就是制订出一套与产品需求、架构及设计相关联的测试策略。许多项目开发商把测试作为质量评估和质量改善的首要方法,这样的想法将使得测试不堪重负。” --引自《代码大全》
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号