启发式测试策略

简介: 启发式测试策略

640.jpg

现如今,市面上有太多关于测试技术的文章。网上随便就可以搜到各种自动化、以及各种高大上的框架,然而关于测试思维和测试方法却鲜有人提及。诚然测试人员不能缺少代码相关的硬技术,但同时也不应忽略测试思维等“软素质”,这个系列将重点探讨测试策略及测试设计相关的知识。今天先聊一聊启发式测试策略。


01


启发式测试策略模型(Heuristic Test Strategy Model,简称HTSM)是测试专家James Bach提出的一组帮助测试设计的指南(guideline),如下图所示。启发式测试策略模型是这样一个框架,需要根据质量定义(Quality Criteria)、项目环境(Project Environment)和产品元素(Product Elements)来选择测试技术(Test Techniques)进行测试,并最终得到可感知的产品质量(Perceived Quality)。


76825be2ce466caa10c1752c900eb9f9.png

 

项目环境:资源、约束和其他影响测试的项目元素。比如产品的成熟度、需求的质量、测试人员的能力,研发模式等。有经验的测试人员会根据当前语境(Context),在约束条件下充分运用资源,以高效地测试。

 

产品元素:需要测试的对象,它通常会包含产品的物理结构、功能覆盖、数据逻辑处理、外部依赖元素及日常操作等内容,需要测试人员根据产品特性做针对性的分析、拆解。在定义产品元素的过程中,加深对产品的理解

 

质量定义:产品在不同的阶段需要对质量做不同的定义,高质量注入意味着高成本(时间成本、技术成本、人力成本),当下我们追求的是合适的质量。所以需要在制定测试策略的时候和团队一起定义好质量,包含研发质量和交付质量目标是什么。

 

测试技术:基于前面三者信息,测试人员需要针对性地选择不同的测试技术,功能测试、性能测试、安全测试、兼容性测试、探索性测试、容量测试、安装测试等等一系列测试活动的选择,都将基于以上三个要素进行选择。

 

可感知的产品质量:最终交付给用户的产品质量。经过前面4个步骤,执行过后,能够被客户认可和感知的质量,是经过分析、执行后得到的最终产物。 


02


 

HTSM中指导性词汇是测试的指南,其作用不是教导如何具体地测试,而是启发测试人员的思维,发掘测试对象和测试策略,重点在于"启发式”。HTSM对于测试设计的意义:

 

 (1)测试设计以风险驱动。测试人员分析质量标准、项目环境、产品元素中的风险,设计有针对性的测试策略。

 

 (2)在测试设计时,质量标准启发测试经验,项目环境启发测试过程,产品元素启发测试覆盖,观察到的质量启发测试报告。

 

 (3)对于测试,HTSM强调测试策略的多样性,平衡代价和收益,利用启发式方法充分发挥测试人员的技能。

 

在制定测试计划初稿时,测试人员可以更完整的地思考产品的方方面面,从而产生系统的测试计划。



在测试过程中,它也可以帮助测试人员组合测试想法、深入探索产品,以开发出强有力的测试策略。



在回归测试中,它同样可以帮助测试人员确定测试范围,制定测试方案。


03


HTSM是层次结构,其顶层元素(质量标准、项目环境、产品元素、测试技术)可以分解为次层元素,而这次层元素可进一步分解为第三层元素,对于第三层元素,团队可以根据团队特性和测试人员的认知能力,逐步去完善和修改,没有具体的约束。James Bach也给出了自己的思考和建议,形成了一张导图,把众多需要思考的小节点都给出对应的说明,有兴趣的同学可以学习下,值得借鉴,但不需要被它所固化,我们需要有更多的思考和总结,结合更新的测试技术能力和质量要求,不断改进它。


640.jpg


04


测试能力不仅仅是代码能力的比拼,还有众多的测试策略和理论体系需要去学习和补充。还有哪些好玩的测试理论呢?漫游测试和情景测试是什么,如何在实际的项目中应用呢?测试设计有哪些方法论和框架支撑?笔者会结合自己的测试经验,对测试理论做一次梳理,敬请期待。


往期推荐:

微服务的测试策略

微服务间的测试策略

单体微服务的测试策略

你还记得测试策略么

敏捷测试系列文章合集

相关文章
|
11月前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
441 11
|
30天前
|
敏捷开发 测试技术 API
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
227 116
|
30天前
|
设计模式 前端开发 测试技术
告别脆弱:构建稳定UI自动化测试的3个核心策略
告别脆弱:构建稳定UI自动化测试的3个核心策略
277 113
|
30天前
|
测试技术 持续交付 API
测试的艺术:掌握测试金字塔,构建高效测试策略
测试的艺术:掌握测试金字塔,构建高效测试策略
195 77
|
30天前
|
测试技术 API 数据库
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
247 114
|
30天前
|
敏捷开发 前端开发 测试技术
测试之道:重构你的测试策略 - 测试金字塔模型
测试之道:重构你的测试策略 - 测试金字塔模型
252 118
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
624 8
|
4月前
|
JavaScript 前端开发 测试技术
Playwright自动化测试系列课(4) | 异步加载克星:自动等待 vs 智能等待策略深度解析​
本文深度解析Playwright自动化测试中的等待策略,对比自动等待(零配置防御机制)与智能等待(精准控制异步场景)的核心差异。通过实战案例讲解等待机制的选择标准、常见失效原因及调试技巧,帮助开发者有效解决页面异步加载问题,提升测试脚本的稳定性和执行效率。
|
5月前
|
测试技术 Python
Python测试报告生成:整合错误截图,重复用例执行策略,调整测试顺序及多断言机制。
如何组织这一切呢?你可以写一本名为“Python测试之道”的动作指南手册,或者创建一个包含测试策略、测试顺序、多断言机制的脚本库。只要你的测试剧本编写得足够独到,你的框架就会像一位执行任务的超级英雄,将任何潜伏于代码深处的错误无情地揪出来展现在光天化日之下。这些整理好的测试结果,不仅有利于团队协作,更像冒险故事中的精彩篇章,带给读者无尽的探索乐趣和深刻的思考。
148 10
|
11月前
|
测试技术 持续交付
探索软件测试中的自动化测试策略
随着软件开发周期的加速和市场需求的不断增长,传统的手动软件测试方法已难以满足现代软件开发的高效性和准确性要求。本文旨在探讨自动化测试在软件测试中的重要性、实施策略及其对提高软件质量的影响。通过分析自动化测试的优势与挑战,以及提供实用的自动化测试工具和框架选择指南,旨在帮助读者理解并应用自动化测试以提升软件开发效率和产品质量。
下一篇
oss云网关配置