博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
敏捷测试人员的十条法则
阅读量:4039 次
发布时间:2019-05-24

本文共 2594 字,大约阅读时间需要 8 分钟。

敏捷团队里面每一个人都是一名测试人员,任何人都可能承担测试任务。

什么是敏捷测试人员?

在Agile软件开发中,例如Scrum团队,团队中的每一名成员其实都是敏捷测试人员,每一名成员都有可能承担测试任务。敏捷测试人员往往具有优秀的技术能力,知道如何与他人合作以实现自动化测试,同时也擅长探索性测试。他们希望了解客户在做什么,以此更好地理解客户的软件需求。

敏捷测试人员的十条法则

资深敏捷实践者Lisa Crispin和Janet Gregory在《敏捷软件测试:测试人员与敏捷团队的实践指南》一书中,列举了敏捷测试工程师的十条法则,对读者或许有借鉴意义。

1、提供持续反馈(Provide Continuous Feedback) 

既然是测试驱动敏捷项目,那么很显然反馈在敏捷团队中占据重要的地位。测试人员的传统角色就是“信息提供者”,这使得她天生就对敏捷团队很有价值。敏捷测试人员的最大贡献之一是帮助产品负责人或者客户采用实例和测试的形式描述清楚每一个用户故事的需求。然后,测试人员与团队同事将这些需求转化为可执行的测试。测试人员、开发人员和其他团队成员尽快运行这些测试,并不断接收有意义的反馈。
2、为用户创造价值(Deliver Value to the Customer) 

敏捷开发就是在较小的版本发布中提供客户目前最迫切需要的功能。这通常意味着限定范围。我们经常在客户团队中遇到较酷功能的需求。任何人都可以质疑这些内容,但是测试人员会判断其对故事的影响,因为他们需要考虑测试后果。

敏捷测试人员需要总览全局。我们可以在当前迭代中发布最重要的功能,稍后再完善。如果让新功能偷偷混进来,就面临一无所获的风险。如果过于关注边边角角,而忽略了核心功能,就无法提供业务所需的价值。
3、促进面对面的沟通(Enable Face-to-Face Communication) 

敏捷测试人员从客户的角度思考每一个故事,但是也理解实现功能相关的技术和局限性。他们可以帮助客户和开发人员达成共识。业务人员和软件人员经常使用不同的语言。他们不得不找到一些共同点来协作。测试人员可以帮助他们达成一种共通语言。

面对面的沟通是不可替代的。敏捷开发依赖于持续的合作。就像其他敏捷团队成员一样,从事测试工作的人会不断寻找客户和技术团队成员来讨论和合作。当敏捷测试人员对某个隐藏的假设或者误解的需求产生怀疑时,她会与客户和开发人员讨论。如果处于不同地点的人需要交谈,他们会试图寻找创造性的方式替代面对面、实时的交流。
4、勇气(Have Courage) 

当最初加入敏捷团队或者当前的团队开始过渡到敏捷开发模式时,通常会产生恐惧感,并且存在大量的问题需要答案。我们到底如何才能在如此短的时间内完成每一个用户故事的测试任务?测试如何跟上开发的节奏?如何确定多少测试就够了?又或者你是功能测试经理或者质量过程经理,不清楚在敏捷团队中如何定位自己的角色,没人知道答案。敏捷测试人员需要勇气找到这些问题的答案,但是除此之外还有其他原因。我们需要勇气允许自己失败,至少我们会短暂失败,并从中学习教训。在由于构建版本不稳定导致一次迭代失败之后,我们开始寻找方法以确保这种事情不再发生。
5、简单化(Keep It Simple) 

简单并不意味着容易。对于测试人员来说,这意味着采用能够找到的最轻量级的工具和技术恰到好处地测试。工具可以简单到只是一张电子表格或者清单。需要自动化回归测试,但是应该把它们分解到最底层以获取快速反馈。甚至简单的冒烟测试也可能满足面向业务的测试自动化。
6、持续改进(Practice Continuous Improvement) 

想办法把工作做得更出色是敏捷测试人员思想的一部分。当然,整个团队都应该具有这样的想法,因为敏捷的核心价值就是团队总是尝试更出色地工作。测试人员参加团队总结会,评估做得好的方面和需要增加和改变的方面。测试人员把测试问题摆到整个团队中解决。团队通过采取过程改进实践最大程度地改善测试和所有其他领域。对于更大的问题,团队一次只关注一到两个问题,以确保彻底解决了实际问题,而不是表面文章。
7、响应变化(Respond to Change)

响应变化是敏捷实践的重要价值,但是我们发现这对测试人员来说却是最困难的概念之一。测试人员渴望的是稳定,所以他们会说:“我已经测试过了,任务完成了”。持续的需求变化是测试人员的噩梦。但是,作为一名敏捷测试人员,我们不得不拥抱变化。周三,我们可能期望启动故事A和B,下周五做C。但是到了周五,客户重新设定了优先级,现在需要故事A、X和Y。只要我们持续与客户交流,就能处理这些变化,因为我们与团队的其他成员保持同步。
 
8、自我组织(Self-Organize) 

敏捷测试人员是自组织敏捷团队的组成部分。团队文化贯彻于敏捷测试理念。当开发人员、系统管理员、分析员、数据库专家和客户团队持续关注测试和测试自动化,测试人员就会获得全新的视角。自动化测试很困难,但是当整个团队都在为此努力时就会简单得多。当大家具有多重技能和多层次视角时,任何测试问题都更容易解决。
9、关注人(Focus on People) 

坚持敏捷理念的敏捷团队对所有团队成员一视同仁。敏捷测试人员对团队做出了特有的贡献,开发团队认识到要想更加成功,团队需要拥有测试技能和背景的人。举例来说,一位熟练的探索性测试人员可能会发现自动化功能测试无法察觉的问题。一些测试经验丰富的工程师会提出其他人想不到的重要问题。测试知识是任何一个成功团队的组成部分。
10、享受乐趣(Enjoy) 

在我们看来,测试人员的理想团队是:所有成员协作,从项目的开始一直到结束,利益相关者与开发团队共同工作,整个团队负责质量和测试。相信很多人都认为每个人都应该在工作中找到乐趣。敏捷开发珍视敏捷测试人员对工作的激情。

在敏捷团队里面,角色之间的界限是很模糊的。其它团队成员可能也很擅长测试人员的工作。例如,分析人员和开发人员也会编写面向业务的测试。只要测试工作得到执行,敏捷团队不一定要指定某些成员为测试人员。但是,我们发现团队会从专业测试人员的技能中获益。

敏捷测试人员应用敏捷价值观和原则(例如:反馈、沟通、勇气、简单、享受和创造价值)以帮助团队识别和满足客户提出的每一个用户故事的需求。

转载地址:http://vovdi.baihongyu.com/

你可能感兴趣的文章
[LeetCode By Python]122. Best Time to Buy and Sell Stock II
查看>>
[LeetCode By Python]125. Valid Palindrome
查看>>
[LeetCode By Python]136. Single Number
查看>>
[LeetCode By MYSQL] Combine Two Tables
查看>>
Android下调用收发短信邮件等(转载)
查看>>
Android中电池信息(Battery information)的取得
查看>>
SVN客户端命令详解
查看>>
Android/Linux 内存监视
查看>>
Linux系统信息查看
查看>>
用find命令查找最近修改过的文件
查看>>
Android2.1消息应用(Messaging)源码学习笔记
查看>>
Android之TelephonyManager类的方法详解
查看>>
android raw读取超过1M文件的方法
查看>>
ubuntu下SVN服务器安装配置
查看>>
MPMoviePlayerViewController和MPMoviePlayerController的使用
查看>>
CocoaPods实践之制作篇
查看>>
[Mac]Mac 操作系统 常见技巧
查看>>
苹果Swift编程语言入门教程【中文版】
查看>>
捕鱼忍者(ninja fishing)之游戏指南+游戏攻略+游戏体验
查看>>
iphone开发基础之objective-c学习
查看>>