写点什么

测试的启示——像测试人员一样思考

  • 2009-10-14
  • 本文字数:1403 字

    阅读完需:约 5 分钟

Sharon Robson 是一名软件开发培训师,在其最近的一篇博客中,提到了 James Bach 在近期 STANZ 会议(Software Testing Australia &New Zealand,即澳大利亚和新西兰软件测试会议)上的发言,James 展示了一系列人们可以参考的、与测试相关的启示。

Heuristic(启发式的) 是一个形容词,形容基于经验的技术,而且这些技术有助于解决问题、学习和发现的过程。“启发式的方法(heuristic method)”特别用来指能够快速产生最佳答案的方法。Heuristics 就是“实用方法”、有依据的推测、直觉判断或是简单的常识。作为名词的 Heuristics 是启发式方法的另一个名字。 更精确地说,heuristics 是指一种策略,该策略使用易于得到而不完全适用的信息来控制人类或机器的问题的解决。

来源: http://en.wikipedia.org/wiki/Heuristics

Robso 说明了 Bach 在演讲中提到的 36 条启示,还有他提出的缩写:cidtestdsfdpotcrusspicstmplfdsfscura ,这些缩写可以分为 4 组:

Group 1——cidtestd,即:客户(Customers)、信息(Information)、开发者关系(Developer relations)、团队(Team)、设备和工具(Equipment & Tools)、日程(Schedule)、测试条目(Test Items)和可交付物(Deliverables)。这些关注与测试相关的高级规划活动、支持性条目和“装备”。它们有助于设置将要完成的测试所在的上下文。

Group 2——sfdpot,即:结构(Structures)、功能(Functions)、数据(Data)、平台(Platforms)、操作(Operations)和时间(Time)。我曾听 Karen N Johnson 在 San Francisco Depot(SFDPOT)上提到过这个缩写。这有助于人们理解测试将要进行的环境,也就是范围、资源和时间——质量三角形的三条边。在我看来,这是测试的关键所在,而我们却经常忽视其相关细节。

Group 3——crusspicstmpl,即:能力(Capability)、可靠性(Reliability)、可用性(Usability)、安全性(Security)、可延展性(Scalability)、性能(Performance)、可安装性(Installability)、兼容性(Compatability)、支持性(Supportability)、可测试性(Testability)、可维护性(Maintainability)、可移植性(Portability)和本地性(Localisability)。这是有关系统质量特性的一个很长的列表。我更喜欢 ISO 9126 标准(它更短小!),可这个列表覆盖了任何系统都需要考虑的关键属性。我真的很喜欢几乎每个词结尾的“ity”,这让我总能将“质量(qualITY)”放在心上。

Group 4——fdsfscura,即:功能测试(Function Testing)、领域测试(Domain Testing)、压力测试(Stress Testing)、流程测试(Flow Testing)、场景测试(Scenario Testing)、声明测试(Claims Testing)、用户测试(User Testing)、风险测试(Risk Testing)和自动化测试(Automatic Testing)。该列表指出了测试项目中可能、应该或必须完成的测试类型,让我们理解并指明测试不只一种方式,而且还能让我们更深入理解为什么如何进行测试。

Quality Tree Software 的 Elisabeth Hendrickson 以同样的基调,提出了一个 启示检查列表,指出了待测试应用要考虑的条目的领域。在 最近的一篇博客文章中,她指出:学着像测试人员一样思考,这能有助于防范在发布版本中出现重大问题。

只要是具备测试技能的人来进行,即使是最粗略的探索测试,也很可能发现问题。

您和您的团队使用什么样的测试启示或启发式方法呢?

查看英文原文: Testing Heuristics - Thinking like a tester

2009-10-14 09:122391
用户头像

发布了 479 篇内容, 共 174.9 次阅读, 收获喜欢 52 次。

关注

评论

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

在线base64加密解密工具

入门小站

工具

pha挖矿/phala挖矿APP系统开发内容

多地“真金白银”力撑区块链,中西部欲弯道超车新赛道

CECBC

公司内部使用的数仓命名规范

白贺BaiHe

大数据 数仓 数仓规范 7月日更

【LeetCode】主要元素Java题解

Albert

算法 LeetCode 7月日更

十二张图,一脚踹开消息队列的大门

三分恶

消息队列

React 18探秘(上)

Teobler

大前端 React

Linux之find exec

入门小站

Linux

Python利器!Jupyter最大威胁终于来了

Jackpop

Python Jupyter Notebook

🏆 【JVM 性能调优】「对象内存分配」输出常用参数

码界西柚

JVM 7月日更

凭借这5步,我30分钟学会了Python爬虫!

Jackpop

爬虫 爬虫教程

图的应用——关键路径

若尘

数据结构

魔方、齿轮、融合剂:当新ICT技术邂逅教育产业

脑极体

领域驱动设计101 - 聚合

luojiahu

领域驱动设计 DDD

妇与术(三):机器人可以没有性别,但关系技术离不开女性

脑极体

测试开发之网络篇-常用命令

禅道项目管理

Linux 命令行

架构实战营模块8 课后作业

En wei

架构实战营

见康乘拼团软件开发|见康乘拼团系统APP开发

为啥Java应用迁移到容器后会出现OOM?

Java架构师迁哥

腾讯一面 Java Phaser 并发编程的理解与应用

陈皮的JavaLib

Java 面试 多线程

深入理解搜索引擎——初识query理解

药老算法

搜索引擎 中文分词 query理解 query纠错 query分析

什么是数据集市

奔向架构师

数据仓库 数据架构 7月日更

【Flutter 专题】92 图解 Dart 单线程实现异步处理之 Isolate (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

如何看待技术采用生命周期 | 【话题讨论】

耳东@Erdong

云原生 话题讨论 7月日更

Vue3 + TypeScript 开发实践总结

程序员海军

typescript 大前端 Vue3 框架

Spring到底应该学哪些内容?

冰河

spring aop ioc 注解驱动 依赖反转

Rust从0到1-智能指针-Drop trait

rust smart pointer drop trait

就在今天,浪潮云说第二期来啦

云计算

与微软、IBM同台 斯图飞腾Stratifyd入选G2文本分析Grid报告

2020年的焦虑与忧伤

Emotion

疫情 考研 研究生

IntelliJ IDEA必备7款Python插件

Jackpop

IDEA pycharm

测试的启示——像测试人员一样思考_研发效能_Shane Hastie_InfoQ精选文章