写点什么

管理众包测试

  • 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:001492

评论

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

对于医疗健康行业,区块链最大的价值在哪里?

CECBC

医疗

Rust从0到1-代码组织-use关键字

rust 代码组织 use

工行首次全面展示数十项数字人民币研发试点成果

CECBC

数字人民币

AI数学基础之:P、NP、NPC问题

程序那些事

人工智能 AI 程序那些事

一枚比特币变换一台车,特斯拉与比特币还要绑定多久?

CECBC

特斯拉

架构师必经之路!Github榜首Java代码优化:77案例+28技巧开源分享

Java架构师迁哥

别让心里的墙,挡住了你未来的路

小天同学

思考 认知提升 认知 4月日更

持续交付实战

云飞扬

LeetCode题解:151. 翻转字符串里的单词,数组,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

容器&服务:metrics-server探索

程序员架构进阶

k8s 28天写作 弹性扩容 4月日更 metrics server

图算法系列之深度优先搜索(二)

Silently9527

深度优先搜索 数据结构和算法 图算法

美的蒸烤料理炉全新上线华为商城,首款搭载鸿蒙系统的设备有何不同?

科技汇

云上细粒度访问管理的参考架构

张晓辉

云原生 网关 访问控制 OPA

Dubbo学习笔记

风翱

dubbo 4月日更

面试别慌!阿里专家带你从【入门+基础+进阶+项目】攻破SpringBoot

Java架构师迁哥

为什么区块链技术仍然被人们认为当成一个投机的工具?

CECBC

智能小车系列-树莓派初次使用环境配置

波叽波叽啵😮一口盐汽水喷死你

树莓派 wifi SSH 无显示器 树莓派首次配置

云图说|读请求太多怎么办?一键读写分离来帮忙

华为云开发者联盟

MySQL 读写分离 云数据库 云数据库MySQL

从UCloud优刻得2020年全年财报,看云计算公司发展之路

面向软件 IT 专业的高校大学生就业与专业关联性的问卷调查

谙忆

MySQL高可用架构:mysql+keepalived实现

AI乔治

Java MySQL 架构 高可用架构 keepalive

京东首席架构师深邃洞察:服务化+云原生+微服务

Java架构师迁哥

小技巧 | 帮助运营小姐姐批量修改文件名的几种方式

梁龙先森

Node 脚本 PowerShell

浪潮×积成电子:尝到了工业互联网的“甜头”

云计算

你的开发好帮手:下一代云原生开发工具技术

华为云开发者联盟

云原生 编码 开发工具 代码补全 调测

重装变态的微信

箭上有毒

生活记录 4月日更

华为云FusionInsight MRS:千余节点滚动升级业务无中断

华为云开发者联盟

大数据 数据湖 节点 集群 华为云FusionInsight MRS

如何在 Spring/Spring Boot 中优雅地做参数校验?

JavaGuide

Java spring springboot

全面复盘B站面试时坑我最深的Java并发:JDK源码剖析

Java架构师迁哥

收藏!阿里P9耗时28天,总结历年亿级活动高并发系统设计手册

Java架构师迁哥

强化区块链技术在数字政府、智慧城市、智能制造等领域应用

CECBC

人工智能

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