写点什么

可测试性如何帮助团队提升效率

  • 2016-02-16
  • 本文字数:1248 字

    阅读完需:约 4 分钟

Agile Practitioners 2016 大会上,Huib Schoots 谈了可测试性。他指出,低可测试性(任何导致软件难以测试的东西)会导致团队效率低下,并探讨了如何提高可测试性。

Schoots 谈了软件开发中未知的未知问题。我们无法掌握开发一款产品需要提前完成的一切工作,因此,我们必须确保在软件开发过程中构建洞察力。我们必须知道如何应对复杂性和不确定性。“控制与命令”式的瀑布方法会成为构建洞察力的障碍。

敏捷测试是在敏捷环境中测试。测试不会因为我们采用敏捷而改变,变的是环境。敏捷测试有一些不同,它使用迭代方法,准备提前期变短,测试执行和报告生成变快,而变化非常常见。此外还有角色的变化,Schoots 提到,使用敏捷时,测试经理更多的是一名教练,只做较少的测试。

Schoots 表示,快速测试是一种测试理念和综合技能。快速测试可以减少文档,将更多的精力集中在如何测试上。快速测试是一种通用的测试方法,不仅适合敏捷,也适合任何的项目或产品。

测试是指人们在不确定的情况下通力合作。我们不可能什么都知道,而事情总是在变化。

Schoots 表示,测试的目的是了解产品的状态以及任何威胁产品价值的因素,以便客户可以做出明智的决策。测试人员能够看到事情的真相,并照亮前进之路。他们会把真相告诉团队和项目经理。

检查(与测试相对)是指操作一款产品检查具体的输出。按照 Schoots 的说法,所有的检查都应该尽可能地自动化。检查非常繁琐,自动化可以提高可测试性。

Schoots 提到了 James Bach 对可测试性的定义:

产品实际的可测试性是指在特定的环境中,产品被特定的测试人员及测试过程测试的难易程度。

按照 Schoots 的说法,我们需要可测试性,因为它可以简化测试,提升测试速度,降低测试成本及减少不可再现的 Bug。

Schoots 讲了一个故事,是关于一家他工作过的银行。他们不能使用生产环境的代码进行测试。因此,他们必须创建文本文件来测试钱在“测试银行”之间的转移。Schoots 目睹了测试人员如何手动修改一个用于测试的大文本文件。由于这耗费了太多时间,所以他们决定构建一个工具用于这种修改。经过扩展之后,该工具能够做使用生产环境代码作为输入创建测试文件所需要的所有修改。借助这款工具,测试人员每天节省了大约三个小时,因此,这款工具提升了可测试性。

认知可测试性是指我们知道的东西同我们需要知道的东西之间的差距。认知测试需要具备产品质量的先验知识。据 Schoots 介绍,测试等待的时间越长,差距就越大。一个例子是,了解什么功能已经在单元测试中进行了测试,如果有了这样的知识,那么就不需要在系统测试中再次对它进行测试。

James Bach 认为,测试人员必须要求可测试性。Schoots 对此并不完全赞同,他的观点是,测试人员应该要求更高的可测试性,因为那是一种团队职责,整个团队都会从高可测试性中受益。

Schoots 表示,高可测试性使测试更快、更简单,同时成本更低,每个人都可以从中受益。他建议将可测试性作为冲刺计划的一个主题,团队应该进行可测试性回顾,找出提高可测试性的方法。

查看英文原文: How Testability Can Help Teams to Go Faster

2016-02-16 18:002819
用户头像

发布了 1008 篇内容, 共 389.5 次阅读, 收获喜欢 344 次。

关注

评论

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

【BBC learningenglish】with Tango

IT蜗壳-Tango

3月月更

为什么说程序猿也要有产品思维

慕枫技术笔记

技术思维 内容合集 3月月更

几种如何判断环境是否连上网方法!推荐最后一种

华为云开发者联盟

网络 nodejs ipv4 上网 网络接口

方舟开发框架容器类API的介绍与使用

HarmonyOS开发者

方舟 HarmonyOS 开发框架

MVCC 时光机:在 TiDB 的时空自由穿梭丨渡渡鸟复兴会赛队访谈

PingCAP

峰会报名|从金融行业技术选型,看 RocketMQ 如何应对严苛挑战

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列 峰会报名

测性能,拿周边|OceanBase 3.1.2版本邀你来玩

OceanBase 数据库

oceanbase OceanBase 开源 OceanBase 社区版

一图了解龙蜥社区 2 月运营大事件

OpenAnolis小助手

Linux 开源 操作系统 运营

大数据培训:RDD、DataFrame的区别

@零度

大数据 spark

如何在windows下成功的编译和安装python组件hyperscan

华为云开发者联盟

正则表达式 windows hyperscan python组件 正则表达式引擎

Java培训高并发之线程的6种状态

@零度

线程 JAVA开发 状态

工作想法小计(4):2/28 - 3/4

非晓为骁

个人成长 工作 细节 工作想法

千万级学生管理系统考试试卷存储方案

Geek_36cc7c

在阿里巴巴,我们如何先于用户发现和定位 Kubernetes 集群问题?

阿里巴巴云原生

阿里云 云原生 分享 KubeProbe

安全大讲堂 | 2022产业趋势洞察:网络安全的下一个十年

腾讯安全云鼎实验室

网络安全 未来发展

基于小熊派开发板设计的云端绿化管理系统

DS小龙哥

IoT 3月月更

前端实现word、excel、pdf、ppt、mp4、图片、文本等文件的预览

CRMEB

分布式数据库排序及优化

vivo互联网技术

分布式数据库

3月技术专题月火热开启!快来一睹为快!

用友BIP

用友 用友iuap

Python二分查找,字符串模板,textwrap模块,每天写写Python自然就会了,每日Python第2天

梦想橡皮擦

3月月更

千万级学生管理系统的考试试卷存储方案

Geek_8d5fe5

「架构实战营」

列存Delta表是个什么东东

华为云开发者联盟

存储 GaussDB(DWS) 列存表 delta表

Java 中线程池的 7 种创建方式!

王磊

Java 面试

【模块四】千万级学生管理系统考试试卷存储方案设计

yhjhero

#架构训练营

强大的JSON.stringify,你真的会使用吗?

战场小包

JavaScript 前端 3月月更

构建 Go 应用 docker 镜像的十八种姿势

万俊峰Kevin

微服务 web开发 go-zero docker image Go 语言

数据分析不能落地?快来围观,学会数据分析应用,一起升职加薪!

博文视点Broadview

CNCF Serverless工作流社区携手华为云FunctionGraph,开拓Serverless编排新时代

华为云开发者联盟

json Serverless 华为云 FunctionGraph CNCF Serverless Workflow

ScrollView 和 RelativeLayout两个布局技巧

逆锋起笔

android xml 3月月更 android布局

uni-app技术分享| uni-app常见问题(二)

anyRTC开发者

uni-app 音视频 WebRTC 移动开发 视频通话

黄东旭: 关于基础软件产品价值的思考

PingCAP

可测试性如何帮助团队提升效率_研发效能_Ben Linders_InfoQ精选文章