写点什么

管理众包测试

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

评论

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

下拉推荐在 Shopee Chatbot 中的探索和实践

Shopee技术团队

算法 chatbot 推荐算法

产品FAQ(常见问题)文档模版

小炮

产品 FAQ

叮咚!参与微服务免费试用,有机会获得腾讯内推资格!

InfoQ写作社区官方

腾讯云 微服务 热门活动

深入垂直业务场景,SaaS版供应商业务协同管理系统促进企业与供应商高效协同

数商云

数字化转型 供应链系统

OpenHarmony标准设备应用开发(二)——布局、动画与音乐

OpenHarmony开发者

动画 OpenHarmony 音乐播放

教你VUE中的filters过滤器2种用法

华为云开发者联盟

Vue 过滤器 filters过滤器 组件过滤器 全局过滤器

春暖花开,等你而来!4月月更挑战开始啦!

InfoQ写作社区官方

热门活动 4月月更

后端开发—一文详解网络IO模型

Linux服务器开发

reactor 后端开发 Linux服务器开发 网络io 网络模型

适合 Kubernetes 初学者的一些实战练习 (三)

汪子熙

云原生 集群 Kubernetes 集群 Kubernetes, 云原生, eBPF 3月月更

华为云GaussDB专家走进课堂,跟莘莘学子聊聊数据库

华为云数据库小助手

GaussDB GaussDB(for openGauss) GaussDB(for MySQL)

#JiraHero:Soumen Deb——重塑 Jira Software 中的 Bug 工作流,提高可见性、简化开发流程

龙智—DevSecOps解决方案

Atlassian Jira

资产动态管理系统解决方案

低代码小观

资产管理 企业管理系统 CRM系统 客户关系管理系统 资产安全

知识文档管理系统:帮助企业管理文档

小炮

知识管理 文档管理

Microchip推出模拟嵌入式SuperFlash技术解决边缘语音处理难题

极客天地

Git教程-帮助开发人员更好的运用Git | 云效

阿里云云效

git 云计算 阿里云 DevOps 开发者

外部数据的合规引入助力银行用户营销系统冷启动

易观分析

隐私计算

昇思MindSpore行至2022,开源社区成就生态共赢

这不科技

华为 昇思MindSpore

Rust Cell 与RefCell,有啥区别?

非凸科技

向工程腐化开炮 | 治理思路全解

阿里巴巴终端技术

Java android 腐化治理 工程腐化

一文带你了解 Python 中的迭代器

踏雪痕

Python 3月程序媛福利 3月月更

汉化版postman

Liam

Jmeter Postman 接口测试 API swagger

小程序开发入门教程

CRMEB

java版gRPC实战之一:用proto生成代码

程序员欣宸

Java gRPC

龙蜥开发者说:聊一聊我技术生涯的“三次迭代” | 第 3 期

OpenAnolis小助手

技术分享 开发者故事 龙蜥开发者说 突出贡献奖

week4作业

Asha

【新布局】火绒安全企业产品Linux终端、macOS终端开启公测

火绒安全

macos Linux 服务器 终端安全 Windows Server

利用 IoTDB 替换 OpenTSDB,服务大唐集团60家电厂,减少95%运维成本

Apache IoTDB

Apache IoTDB

OpenHarmony标准设备应用开发(三)——分布式数据管理

OpenHarmony开发者

OpenHarmony 分布式数据

Tapdata 肖贝贝:实时数据引擎系列(六)-从 PostgreSQL 实时数据集成看增量数据缓存层的必要性

tapdata

数据库 实时数据

软件定义存储厂商大道云行加入龙蜥社区

OpenAnolis小助手

生态 存储技术 龙蜥社区 大道云行 CLA

如何快速实现持续交付

阿里云云效

云计算 阿里云 软件开发 CI/CD 持续交付

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