敏捷测试3.0

2016-10-30   出处: thoughtworks  作/译者:Daniel Amorim/亚然

敏捷测试人员通常被称为质量分析师、 SET、测试工程师和QA lead,以及其他一些名称。我已经做了一段时间的测试了,下面我将基于如何在敏捷团队中做好测试 分享一些个人观点。在本文中,将用QA来代替敏捷测试人员。

即使在敏捷团队,大多数人也会把QA当作一个独立的角色使之与其他团队成员区分开来。我认为这是一个过时的概念。QA和开发人员的区别在于思维方式的不同。

那么QA之间又有什么不同呢?QA可以分为三类:业务、技术、Devops,我把它们称之为QA的三个维度。QA可能具备其中的一个或者是这三类中所有的技能。

让我们来更深层次的了解一下每一个层面:

业务:

在这一方面,QA在真正的驱动着业务。他们协助团队了解客户提供的业务范围。QA良好的沟通技巧使团队更专注于整个项目的业务问题。

他们擅长把客户需求转化为验收测试用例,BDD技术的使用可以帮助他们用来打破有着业务背景的客户和有着技术背景的工程师之间的壁垒。

在用户故事开始之前,他们会和软件开发工程师一起结对并持续于用户沟通,以便了解更多的业务信息。再此期间,他们会督促软件开发工程师来写验收测试,以确保用户故事能够及时的被测试。

这些QA可以多看一些这样的书,如:

《Specification by Example: How Successful Teams Deliver the Right Software》

《Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing》

《The Cucumber Book: Behaviour Driven-Development for Testers and Developers》

技术:

我的工作与此密切相关,因为敏捷团队中的QA都需要有过硬的技术和良好的编程技巧。实际上,在一个敏捷团队中,软件开发工程师和QA应该没有区别的,每个人都是工程师。

技术型的QA和软件开发工程师可以一起结对编程而没有任何技术上的差距。他们也可以协助软件开发工程师来实现TDD、提升在代码整洁和设计模式方面的能力,并确保产出高质量的代码。他们可以利用丰富的自动化测试知识,协助团队为项目选择合适的测试框架。他们还要负责确保团队有一个良好的测试策略。

从技术角度来说,QA在非功能测试方面有了很好的经验和技术后,还可以做性能测试和安全测试。对于性能测试中,他们协助客户一同确定SLA(服务等级协定),然后就进行性能测试来检测是否达标,并跟进性能优化后应用是否达到SLAS要求。

QA也会参与安全测试,他们根据从用户那里获取的需求来分析可能存在的安全漏洞。然后设计测试用例来验证这些潜在的漏洞是否能够通过安全机制来覆盖。

此类QA可以看这些书,如:

《Test Driven Development: By Example》

《Clean Code: A Handbook of Agile Software Craftsmanship》

《Selenium Testing Tools Cookbook》

《The Art of Application Performance Testing: Help For Programmers and Quality Assurance》

Devops:

测试跟Devops又有什么关系呢?其实QA可以运用他们的Devop的相关技能帮助团队来做很多事情的。

他们引进连续交付的实践,并帮助团队创建持续集成流水线,以便每次提交代码后都能及时得到反馈。这将帮助团队能够更频繁的发布新特性到产品环境。甚至有时可以实现每次提交经过流水线的验证后就可以直接发布到线上。该流水线会包含编译、打包、代码扫描、单元测试、组件测试和功能测试。

Devops方向的QA会通过设置一些脚本来帮助团队成员能够更方便的在本地执行测试。而有些时候为了测试用例的并发执行,需要在虚拟机上配置并执行测试。

他们通过应用任务执行引擎帮助团队更方便的执行一些重复的任务,比如通过实时监控来实现一旦软件开发工程师提交代码就促发自动化测试开发执行。极大缩短了在开发过程中的反馈时间。

推荐给这些QA的书是:

《Continuous Integration: Improving Software Quality and Reducing Risk》

《Continuous Delivery: Reliable Software Releases through Build, Test and Deployment Automation》

最好的葡萄牙文的参考资料有:

《DevOps na prática: entrega de software confiável e automatizada》

《Entrega Contínua: Como Entregar Software de Forma Rápida e Confiável》

这些QA都有什么共同点呢?

这三类QA都致力于帮助团队在每个开发周期都能够更加关注交付给客户的有效价值。同时还要关注交付给客户的产品质量。

在把测试脚本共享给团队其他成员的同时,也把测试相关的知识分享给了大家。这样,每个团队中的成员都会重新审视这些他们曾经不重视的角色。QA会扮演多种角色,但是他们最终的目的都是为了帮助团队能够实现更快更好的交付业务价值。

所有的敏捷团队中的QA都应该读一下这本书(敏捷测试界的圣经):《Agile Testing: A Practical guide for Testers and Agile Teams》

你呢?这些属于这三个方向的哪一种?你想变得更好吗?

认真想想这些……然后开始!


【英文原文:

http://qbview.url.cn/getResourceInfo?appid=31&url=http%3A%2F%2Fwww.thoughtworks.com%2Finsights%2Fblog%2Fagile-tester-30%23rd%3Fsukey%3Dfd39034cdd3ad743b1d68bfff1122f2e624bcb96d78d10e3fb81082fc325b0ad729008ad6e33f20d1994a44ce78358fe&version=10000&doview=1&ua=Mozilla%2F5.0+(Windows+NT+6.1%3B+WOW64)+AppleWebKit%2F537.36+(KHTML%2C+like+Gecko)+Chrome%2F39.0.2171.95+Safari%2F537.36  】


{测试窝原创译文,译者:亚然}

译者简介:亚然,测试爱好者,长期从事软件测试工作


声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
318° /3184 人阅读/0 条评论 发表评论

登录 后发表评论