写点什么

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

  • 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:002843
用户头像

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

关注

评论

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

OpenAI将k8s扩展至7500个节点以支持机器学习;Graph Diffusion Network提升交通流量预测精度

京东科技开发者

区块链 开源

官宣了!Apache ECharts 毕业成为 Apache 软件基金会顶级项目!

百度Geek说

百度 基金会

Idea工具的各种查找快捷键

小马哥

IntelliJ IDEA 七日更 2月春节不断更

极客时间产品训练营第三周作业

云随心

产品 作业 产品训练营

Elasticsearch 写一致性原理

escray

七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

前端面试必备ES6全方位总结

我是哪吒

程序员 面试 大前端 ES6 2月春节不断更

产品训练营 第三次作业

Wangyunnfei

说说常常被研发忽略的原型模式

后台技术汇

28天写作 2月春节不断更

EXCEL数据如何去重? Python:这事我比你熟

智分析

Python

程序员成长第一篇:机会与趋势

石云升

28天写作 2月春节不断更 机会与趋势

数据库表数据量大读写缓慢如何优化(4)【分库分表】

我爱娃哈哈😍

数据库 架构

产品经理训练营第0期-第三次作业

孙行者

第0期 产品经理训练营 问题

挖矿区块链_什么是挖矿 带你详细了解挖矿基础知识

v16629866266

华为云FusionInsight助力宇宙行打造金融数据湖新标杆

华为云开发者联盟

数据湖 云原生 存储 FusionInsight 华为云

使用pgBackRest并行归档解决wal堆积问题

PostgreSQLChina

数据库 postgresql 开源 开源社区

ICE暴雪正悄悄崛起

DT极客

SpringCloud 从入门到精通15---Sentinel搭建和服务监控

Felix

即构自研海量有序数据网络MSDN,构建全球可靠的多云通讯链路

ZEGO即构

即日起 Jira、Confluence 正式停售本地版,中国客户将无法购买

万事ONES

项目管理 开发者 研发管理 团队协作 CTO

用RabbitMQ了好几年之后,我总结出来5点RabbitMQ的使用心得

四猿外

MQ RabbitMQ 消息队列

托管节点池助力用户构建稳定自愈的 Kubernetes 集群

阿里巴巴云原生

Docker 容器 运维 云原生 k8s

利用 Python 分析了某化妆品企业的销售情况,我得出的结论是?

JackTian

Python 数据分析 数据可视化 化妆品 2月春节不断更

《我想进大厂》之Zookeeper夺命连环9问

艾小仙

zookeeper

Linux-Lab 入门:使用开发板

贾献华

嵌入式 Linux Kenel 开发板 arm boot

厚积薄发!华为云7篇论文被AAAI收录,2021年AI行业技术风向标看这里!

华为云开发者联盟

人工智能 卷积网络 远程监督 域泛化 油气储集层收集

玩转IDEA项目结构Project Structure,打Jar包、模块/依赖管理全搞定

YourBatman

Module IntelliJ IDEA Project Structure

日记 2021年2月2日(周二)

Changing Lin

个人感悟 2月春节不断更

挖矿系统APP源码搭建

luluhulian

Kafka基础简介

架构精进之路

kafka 七日更 28天写作 2月春节不断更

MySQL安装教程&问题解决

Mars

MySQL 运维

华为18A架构师共享:Netty+Redis+zookeeper+高并发技术栈

996小迁

redis zookeeper 架构 Netty 高并发

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