写点什么

管理众包测试

  • 2017-07-19
  • 本文字数:2396 字

    阅读完需:约 8 分钟

众包测试是一种很独特的测试方式,它能让真实的用户或者测试人员,在真正的应用环境下参与到测试的过程中来。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 )关注我们。

2017-07-19 19:001595

评论

发布
暂无评论
发现更多内容

k8s(Kubernetes)中Pod,Deployment,ReplicaSet,Service之间关系分析

ucsheep

Kubernetes k8s pod Deployment ReplicaSet

用 WebRTC 打造一个音乐教育 App,要解决哪些音质难题?

阿里云CloudImagine

音视频 WebRTC 在线教育 RTC

Python OpenCV 彩色图像与灰度图像的转换

梦想橡皮擦

3月日更

网络连接总超时?从四层模型上解析网络是怎么连接的

京东科技开发者

计算机网络 服务器 域名

技术杂谈 | Flutter 的性能分析、工程架构与细节处理

有道技术团队

flutter

神策大数据技术直播系列课第二季,开讲啦

神策技术社区

大数据 性能优化 大前端 工程师 事件分析

云原生技术及其未来发展趋势展望 | 趋势解读

云原生

商品溯源之痛,区块链对商品假冒的解决方案

13828808769

区块链+ 区块链应用 区块链发展 #区块链#

MoviePy - 中文文档(一个专业的python音视频编辑库)教程

ucsheep

Python 音视频 视频剪辑 Moviepy 视频合成

美女师姐说给你听!我成为蚂蚁安全工程师的初体验

DT极客

“数字云南”建设成效逐渐显现 区块链财政电子票据带来民生与环保效益

CECBC

区块链

超详细!手把手带你快速入门 GitHub!

JackTian

git GitHub 开源

自媒体平台数据统计分析爬虫之【趣头条】模拟登陆分析详解及数据统计接口详解

ucsheep

接口 爬虫 趣头条 模拟登录

2021年DevOps的四大趋势

禅道项目管理

DevOps 工具 趋势 Redis开发与运维

畅想数据湖

数据社

数据仓库 数据湖 ETL ELT

带你了解数据库的“吸尘器”:VACUUM

华为云开发者联盟

数据库 数据 GaussDB(DWS) VACUUM

云原生数据库风起云涌,华为云GaussDB破浪前行

华为云开发者联盟

数据库 架构 云原生 华为云 GaussDB

终于知道为啥网页不让我复制粘贴了!

华为云开发者联盟

js 代码 button事件 复制粘贴 输入框

力扣(LeetCode)刷题,简单题(第14期)

不脱发的程序猿

面试 LeetCode 28天写作 算法攻关 3月日更

区块链技术或加速企业“碳中和”战略落地

CECBC

区块

情指勤指挥调度平台搭建,公安局情报指挥系统

分而治之——D&C

Kylin

3月日更 21天挑战 分而治之

PostgreSQL 集群宕机后恢复

桜喵ノねこ

“刷脸”日益泛滥,“掌经脉”开辟生物识别新路

E科讯

PHP程序员如何简单的开展服务治理架构(一)

CrazyCodes

php 服务治理

区块链BaaS应用服务平台的搭建

13828808769

区块链+ #区块链#

智慧公安重点人员管控系统大数据分析平台的搭建

13828808769

智慧城市 智慧交通

【LeetCode】132模式Java题解

Albert

算法 LeetCode 3月日更

量化策略软件搭建,马丁策略交易软件开发

IAP:物联网终端软件升级技术

华为云开发者联盟

IoT LiteOS iap 物联网终端 OTA

直播预告 | 数据操作加速器,CloudQuery v1.3.5 发布

BinTools图尔兹

sql 编辑器 数据治理 数据安全 数据库管理工具

管理众包测试_Scrum_Ben Linders_InfoQ精选文章