让测试敏捷起来
作者:网络转载 发布时间:[ 2012/1/17 14:35:39 ] 推荐标签:
这段时间我一直在思考我们如何应对互联网的快速多变的测试需求。下面是部分的整理,先跟大家进行一些交流,不一定完全正确。我希望大家能发表你的看法,我们一起来探讨这个话题。
产品需求变更频繁,缺乏详细的需求和设计文档,开发代码质量不高,提交测试延期而压缩测试时间等。这些问题是我经常听到的来自测试团队的抱怨。我们和过程改进一起也一直在尝试推进产品和开发持续的改进。但面对快速变化的业务需求和项目进度的压力,这些问题依然存在。与其不断地抱怨产品和开发,不如我们自己积极面对这些难题并想办法解决。
问题1:需求变更频繁,缺乏详细的需求和设计文档,文档更新不及时。
到底是通过严格的研发流程增加需求变更的阻力,还是我们自己尝试去适应需求的快速变化?从公司的层面看,产品经理更倾向于迎合业务发展和终用户的需求,而不是去体谅后端开发和测试人员的痛苦。
敏捷宣言主张“个体与交互胜过过程和工具”、“可用的软件胜过完备的文档”。缺乏文档使得我们难以依赖文档设计测试。解决这个问题的关键是“个体与交互”,测试不能总躲在后面等别人把写好的文档给你,我们需要更积极、更密切的沟通来弥补文档的不足。
我在考虑成立专门的Team(可以叫它是系统组、或者是架构组),为每条业务线配置专门的测试人员(要求对产品部门和测试工作都富有经验,承担Test Consultant角色)。这个角色相当于测试团队和产品的接口人,与产品保持密切沟通,建立起测试和产品的桥梁,随时把握业务需求,把业务需求细化为可测试性的文档(例如,丰富业务细节和异常业务处理等内容),为测试执行团队制定测试计划和策略。
问题2:开发代码质量不高
敏捷测试(Agile Testing)的一个原则是“把开发人员看着测试人员的客户”。凡是可以帮助开发提高代码质量的地方,测试都可以去做。
敏捷开发追求持续的集成,持续的进行单元测试和回归测试。我们计划与过程改进一起推进Check-In Test, BVT, daily regression test的自动化,让开发人员随时可以得到关于代码质量的反馈(例如,每一次的check-in是否break了build),帮助开发人员生产出具有良好可测试性的代码,进而提升测试的效率。帮助开发,是帮助测试自己。
通过自动化和测试报告,建立可见的质量度量体系,让产品和代码质量反馈持续可见
通过工具(ReviewBoard)促进Code Review的进行
问题3:提交测试延期而压缩测试的时间。面对更快的产品迭代,如何在更短的时间完成测试任务,让测试变得越来越高效?
合理的利用自动化。自动化并不是越多越好。自动化可以保证已有功能的回归。对新增的功能,需要评估到底是自动化效率高还是手动测试效率高?我更倾向于对新增功能执行手动或者半自动化的测试,而在产品发布之后再补充完善自动化回归脚本。随着开发的进行,产品质量的提升,以及对产品了解程度的加深,对自动化测试进行持续改进,提供更大的覆盖,更好和更快速的验证。
回归测试=自动化+diff。作为一个偷巧的办法,某些情况下,可以对代码进行diff 检查,比较代码改动的部分,让测试更有针对性。
让测试用例更有效率,避免在测试用例上面浪费太多的时间。测试用例不是越多越详细好。太详细的测试用例会降低测试效率,增加维护成本,并且会限制测试执行人员的思维。如果你的Bug大部分是通过执行测试用例发现的,那说明有两个问题:你在测试用例上面浪费了太多的时间,或者你在测试经验上面比较欠缺。如何定义测试用例的粒度??从业务出发,测试用例只要覆盖所有的业务功能和逻辑够了。而数据检查、边界条件的测试用例,留给测试人员去执行探索性的测试吧,希望每个人都增强探索性测试的意识。
类似Google的Testing on the Toilet,为各系统维护一套测试点的checklist,越精简越好。让负责测试的人员(尤其是新手)能在几分钟之内知道有哪些测试点是被遗漏的、需要关注的。我们已经把部分的checklist放在在twiki上了(例如引擎测试),希望大家都能参与进来,不断补充完善。
前端应用的测试:UI变更频繁,测试非常容易失效?是否可以考虑把测试重心向相对稳定的接口测试倾斜?大家可以一起来思考。
后再提醒大家:开发和测试团队具有同样的质量目标和质量责任。开发人员有义务对产品的可测试性和可自动化负责。如果你有这方面的需求,一定要跟开发人员讲出来。
相关推荐
![](/images/ad-banner/ad-banner.png)
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11