|
我理解该问题问的是"一个优秀的测试角色如何在敏捷开发中体现自己的价值"。以下就不讨论敏捷开发的特点和测试角色所需的基本素质了,仅针对于测试角色如何在敏捷开发这种特定模式下要体现价值来讨论的以下几个要素。为个人拙见,请高手指点:
1. 测试和开发技能的融合
在敏捷开发模式中,测试角色和开发角色经常界定模糊,测试和开发的工作交叉也是常有的事。一方面,当团队有配备相对独立的测试人员时,测试人员往往需要有一定的开发能力,才能和开发人员紧密配合完成测试,满足项目进度的要求。另外一方面,当测试角色由开发人员兼任的时候,开发人员需要培养自己良好的测试技能,包括测试用例的设计开发能力,也包括测试执行和结果分析能力。总之,当团队人员注重测试和开发技能在自身的充分融合时,测试就能在敏捷开发的过程中体现应有的价值。
2. 培养沟通能力和包容态度
敏捷开发对团队人员的沟通能力有着很高的要求,因为密切的协同工作是敏捷开发的一个重要内容。而在测试方面,特别需要强调的是包容态度。由于敏捷开发的节奏和方式决定了高密度地发现bug是很普遍的现象。测试人员切不可因此产生对开发人员的意见和抵触态度,而应该有很好的包容态度,从协同合作的角度来完成测试。
3. 充分理解测试需求
这里说的并不仅仅是读文档了解需求,以及通过和客户交流以明确需求这么简单。在敏捷开发环境中需求往往是不明确的,甚至来自用户的需求也可能是模糊的。测试人员往往需要判断和检查需求的合理性、帮助用户明确需求细节、甚至不得不从历史版本中获取需求。而这种工作能力往往需要时间的沉淀和经验的积累。测试角色要培养从多渠道理解需求的能力,才能有助于测试工作的完成。
4. 积极团队协作,参与开发沟通
这是第2点的扩展,介于敏捷开发的高度迭代性,以及高密度的团队讨论,测试角色要积极参与团队的讨论和决策,富有责任心。应该积极参与有助于团队目标相关的工作,即使是和测试无直接相关的工作。团队协作始终是敏捷开发的关键成功因素,测试角色必须充分了解其重要性,并积极投入。
5. 抗压能力
对于测试工作来说,敏捷开发环境经常是恶劣的。比如有限的资源、苛刻的进度的要求,以及对测试的高期望值,再加上需求的模糊、大强度的工作量、难以控制的风险,这些因素都可能对测试人员产生压力。测试角色对这些压力要有充分的思想准备,敢于面对。
6. 测试人员掌握特定的测试能力
除了一般的测试技能,测试角色还需要熟练掌握哪些比较适用于敏捷开发的测试技能,例如探索性测试的思路的应用,探索开发各种不同形态的测试方法,有助于在敏捷开发这种有时间压力和测试需求往往不太明确的环境下发现严重的软件缺陷。测试角色要了解各种测试技能对于敏捷开发的适用性,才能选择好合适的技能应用于项目中,体现出测试的价值。
总之,测试角色在敏捷开发中体现自己的价值比在一般开发中更难,有能多的技术和素质方面的能力要求。 |
|