众包测试是一种很独特的测试方式,它能让真实的用户或者测试人员,在真正的应用环境下参与到测试的过程中来。Maja Schreiner 表示,这种测试方式帮助瑞士电信公司(Swisscom)在开发过程早期就及时地发现了缺陷,从而很好地改善了产品质量。收集并分析用户和测试人员的全部反馈信息是一个巨大的挑战;研发人员的参与可以帮助加速测试迭代的进程,同时也能帮助研发人员更好地理解测试人员对产品测试的思路和想法。
瑞士电信公司(Swisscom)的测试经理 Maja Schreiner 在 Spring Online Testing Conference 2017 上发表了题为 众包测试的魔力(crowd testing magic) 的演讲。 InfoQ 对本次会议进行了全方位的采访报道。
InfoQ 在 Maja Schreiner 发表完众包测试的演讲之后对她进行了采访。下面是采访内容:
InfoQ:什么是众包测试呢?
Maja Schreiner:众包测试(CT)是一种很独特的测试方式,它能让真实的用户或者测试人员,在真正的应用环境下参与到测试的过程中来。
不仅是我们,现在全世界的公司都意识到,你的用户不是生活在测试环境之下。当你的项目遇到下面的情况时,众包测试能够帮助你完善你的测试方案:
- 你正在开发的软件是用户主导型,用户的反馈决定了你的软件是否会成功
- 你想消除证实性偏见(confirmation biase)
- 你的测试要覆盖:
- 各种苹果和安卓手机
- 各种操作系统
- 各种浏览器
- 你想要在短时间内快速增加测试规模(并发测试场景)
- 你的预算有限,并且想要节省花费:典型的 CT 测试能够节省 30% 到 40% 的开销
InfoQ:你是如何介绍众包测试,在这个过程中又遇到了什么挑战呢?
Schreiner:我们的产品研发过程遵循了敏捷、看板法、以及 DevOps 等等原则。我们有四个研发团队,每个一周或者两周发布一次产品迭代。而在冲刺过程中,我们会在研发环境上每天都执行一遍手工测试,当冲刺结束前 48 小时 我们会在测试环境上执行回归测试直到一个冲刺结束。
在我接手之前的几个月,我的上一任就已经将这个外部的 CT 团队引入到了我们的项目当中。到目前为止,我们仍然在持续合作,并且未来一年之内仍会持续。
我们遇到的主要挑战有:
- 开发人员拒绝了很多缺陷,因为他们认为这些缺陷没有什么价值
- 开发人员不信任 CT,因为很多我们期待的缺陷并没有被发现。当然我本人对这个现象也是非常不满
- CT、研发,以及 DevOps 团队之间的交流沟通花费了太多的时间
- 我本身在行政性的,协调性的工作上花费了太多时间,以至于我没有足够的时间来制定战略性的计划
- 人们都把我当做了一个 CT 团队的协调人员,却忘了我本身的测试经理的角色
上面提到的问题对团队的所有成员都有影响,并且亟需解决。
那么首先要做的是,挑选上述问题中对团队影响最大的,最严重的问题来优先处理。从我个人角度而言,减少沟通所花费的时间是当务之急。我在我的日程表上设置了截止日期,用来提醒我自己必须按照计划行事。这样我才能将我的时间用来优化整个流程。
具体来说,就是通过改善众包测试人员所需的测试信息,来提升测试结果的质量。在每个测试迭代期间,都需要给他们提供如下信息:
- 测试范围、产品
- 测试计划(回归测试)
- 已知问题列表
- 内部版本发布说明
- 当前冲刺的视频例子和描述
- 路线图
我会通过一些指标来对测试质量进行跟踪,比如严重缺陷的数量,或者花费的时间等等。
每周我都要对测试的策略进行检查和调整。每周通过 CT 来测试的产品、特性,以及其测试范围可能大相径庭,所以与之相对的是,需要提供的测试信息也存在很大差异。跟你对接的测试人员也不尽相同。你需要对 CT 反馈的测试结果进行分析,从中提取出有效的内容,并用于改善你的开发过程,以及最终的产品质量。
InfoQ:在这个过程中,您的收获是什么呢?
Schreiner:通过提高我们测试循环中的输入质量的方式,我们的测试结果得到了有效的改善。我们的研发工程师也逐渐开始参与到测试循环当中来。他们开始给我提供测试所需必要信息,也开始认可并审查测试结果。
你可以想象每个产品,或者每个迭代的过程中,都必须对全部的测试反馈结果进行汇总和整理,这才是我所面对的最大的挑战。所以说,能够让研发人员参与到这个过程中,对提升测试迭代的速度有重要意义。与此同时,研发人员也能更好的理解测试人员是如何思考并进行测试的。
从研发早期就发现这些缺陷对我们的帮助很大,并且通过这种方式,我们的产品质量也得到了很大的提升。
InfoQ:您在这个过程中,学习到了什么呢?
Schreiner:我明白了一件事:活到老,学到老。
与此同时,永远不要忘记探索性测试的重要性,因为:
- 相比回归测试,价值更高
- 测试人员有更多的积极性和创造力
- 通常情况下能发现更多缺陷
- 某些情况下回归测试太仓促,致使一些缺陷被忽略或者漏掉
但是也不能因此就放弃内部测试,同时不要寄希望于通过 CT 测试就能替代测试、QA,来发现软件研发的全部问题。当你拥有不论是外部还是内部测试资源的时候,你都需要独立去解决上述问题。
最后但同样重要的一点:要记得鼓励和褒奖优秀的测试人员。
- 让优秀的测试人员参与到每个测试迭代中来
- 当持续测试相同产品时,尝试引入新的测试人员。通过借鉴他们的新观点并与之间的测试人员沟通,可以起到补充的作用。
InfoQ:关于众包测试的入门,您有什么建议?
Schreiner:如果你的应用需要测试人员掌握大量的专业知识,众包测试可能不适用于你的软件,比如银行或者保险行业的软件或者应用。但是如果你已经开始使用了,那么不要忘记以下几点:
- CT 会影响你的全部测试方案和研发过程
- 经常检查并调整你的 CT 策略
- 对你的测试人员和研发人员都要保持耐心。同时要鼓励讨论和知识交流
- 学无止境。坚持从成功和失败中吸取经验、参加聚会、多多阅读博客或者相关文献,并将所得的知识和经验与同伴进行交流,同时与你的指导人或者老板进行沟通。
查看英文原文: Managing Crowdsourced Testing
感谢冬雨对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论