写点什么

管理众包测试

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

评论

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

腾讯WeTest压测大师通过中国计量科学研究院测试认证,获国家级权威认可

WeTest

一个案例:论写作的重要性

非著名程序员

个人成长 写作 认知提升 8月日更

石油行业数据采集中的 MQTT 协议

EMQ映云科技

数据 mqtt emq 远程监控 实时数据

可视化全埋点系列文章之功能介绍篇

神策技术社区

程序员 代码 埋点 神策数据

构建可靠分布式架构的最佳方式,竟记在国内第一本“凤凰架构”上

Java~~~

Java 架构 面试 JVM 架构师

短视频询盘获客系统开发案例解析

获客I3O6O643Z97

抖音、快手获客系统 抖音矩阵拓客

ipfs矿机公司星际联盟是什么公司?星际联盟ipfs矿机靠谱吗?

分布式存储 IPFS Filecoin ipfs挖矿 ipfs矿机

fil矿机1T一天可以挖多少币?fil矿机能挖多久?

fil矿机能挖多久 fil矿机1T一天可以挖多少

画15张图搞定MySQL InnoDB工作原理

Java MySQL 数据库 程序员 后端

5000字、12 连环炮、一张图快速搞定线程池

Java 架构 面试 后端 多线程

影像篡改与识别(一):胶片时代

腾讯安全云鼎实验室

影像 暗房技术 篡改识别

微服务的痛:你的微服务还好吗?

我爱娃哈哈😍

架构设计 架构设计实战

fil挖矿怎么挖?fil挖矿成本是多少?

fil挖矿怎么挖 fil挖矿成本是多少

Go- defer

HelloBug

defer Go 语言 代码追踪 记录函数参数和返回值

论坛接口测试——Postman数据驱动(超详细小白教程)

程序员阿沐

编程 程序员 软件测试 自动化测试 接口测试

如何优雅的在业务中使用设计模式(代码如诗)

小呆呆666

flutter android 大前端 设计模式

❤️专科出身拿到阿里offer,我直呼666!【付硬核面试】❤️

编程susu

Java 编程 程序员 面试 计算机

入职京东:成功拿到offer薪资30K「面试经历+面试真题」

今晚早点睡

Java 秋招

简述 Linux I/O 原理及零拷贝(上)— 磁盘 I/O

Qunar技术沙龙

Linux 缓存 Mmap 磁盘 I/O

又快又稳!Alibaba出品Java性能优化高级笔记(全彩版)震撼来袭

Java~~~

Java 架构 jdk 面试 JVM

FabEdge快速安装指南,极速上手体验边缘集群

BoCloud博云

边缘计算 博云开源 FabEdge 技术干货

简单、快捷、低成本的超写实虚拟人平台来了……

百度开发者中心

人工智能 AI 最佳实践 虚拟人 前沿技术

webrtc BitrateAllocator 带宽分配器

webrtc developer

WebRTC

解密优酷智能生产技术,看 AI 赋能内容数字化

阿里云CloudImagine

音视频 短视频 视频处理 视频制作 视频云

简述 Linux I/O 原理及零拷贝(下) — 网络 I/O

Qunar技术沙龙

Linux TCP I/O DPDK 网络io

吹爆!阿里高工携18位架构师耗时57天整合的1658页面试总结太香了

Java~~~

Java spring 架构 面试 JVM

元宇宙系统|NFT游戏系统技术开发

薇電13242772558

区块链

Go- 可变参数函数

HelloBug

Go 语言 可变参数函数 空接口

Apache APISIX 社区周报 | 2021 8.16-8.22

API7.ai 技术团队

Apache 开源 APISIX 社区 社区周报

软件测试框架之——Postman参数化(超详细小白教程)

程序员阿沐

软件测试 自动化测试 接口测试

译文 | 四张画布教你判断「产品开发优先级」

LigaAI

产品经理 产品开发 画布 产品优先级

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