InfoQ技术大会双节活动折上折,满10000-1000>> 了解详情
写点什么

管理众包测试

2017 年 7 月 19 日

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

评论

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

架构师训练营(6周)

Hanson

图解:有向环、拓扑排序与Kosaraju算法

淡蓝色

Java 数据结构 算法

最右JS2Flutter框架——渲染机制(二)

刘剑

flutter 前端 跨平台 探索与实践

职业发展的迷茫与困境:你真的了解职级体系吗?

伴鱼技术团队

程序员 技术管理 人才培养 职业成长 技术人生

NOSQL - 第六周作业

孙志平

MySQL 高可用和分布式数据库(训练营第六课)

看山是山

zookeeper CAP 主从复制 主主复制 MySQL 高可用

rdd序列化

InfoQ_6cf02607664f

【week06】总结

chengjing

Apache Flink 是什么?

Apache Flink

flink

week6 学习总结 Nosql

Z冰红茶

探秘 Spring 的 PropertyEditor

CoderLi

Java spring 后台

GaussDB for DWS:内存自适应控制技术总结

华为云开发者社区

大数据 数据湖 内存管理 sql 华为云

CAP原则

熊威

架构师训练营作业(6周)

Hanson

CAP 原理

Z冰红茶

我学会了用Python预测股票价格

博文视点Broadview

Python 读书笔记 算法 数据分析

天猫小店、京东小店的问题分析

石云升

价值网络 新零售 天猫小店

架构师训练营第六周

大丁💸💵💴💶🚀🐟

程序员的眼界真的不要,也不能只局限于技术

非著名程序员

极客时间 程序员 提升认知

Doris 临时失效 UML 时序图(训练营第六周)

看山是山

Doris

JVM详解之:java class文件的密码本

程序那些事

Java JVM class GC 密码

【week06】作业

chengjing

蟒周刊-429-Python 3.8.4 可用ed

ZoomQuiet大妈

Python 大妈 蟒周刊

CAP 原理及Doris 临时失效的处理过程

Acker飏

极客大学架构师训练营 CAP

C、C++、Java到Python,编程入门学习什么语言好?

华为云开发者社区

c c++ Python 编程语言 Java 分布式

计算机网络基础(三)---网络层-IP协议的转发流程

书旅

php laravel 网络协议 计算机基础 网络层

我在阿里积累到的撰写数据分析报告经验

DeeperMan

大数据 数据分析 数据可视化

「1.4万字」玩转前端 Video 播放器 | 多图预警

阿宝哥

前端 流媒体 Video播放器 HLS

static关键字真能提高Bean的优先级吗?答:真能

YourBatman

spring springboot SpringCloud 极客大学架构师训练营 Spring Bean

NOSQL - 第六周总结

孙志平

学会使用Vue JSX,一车老干妈都是你的

前端有的玩

Java Vue 前端 技巧 React

管理众包测试-InfoQ