测试是严谨的、技术性的,持此观点的大部分是学院派的,并且拥有很多支持者。认为测试是计算机科学和数学的分支。
•Standard School 标准派
测试是用来度量进度的,强调成本和可重复的标准。认为测试是一个严格管理的过程。
•Quality School 质量派
强调过程、监督开发人员,像守门员一样把关。认为测试是软件质量保证的分支。
•Context-Driven School 上下文驱动派
强调人的作用,寻找利益相关方关注的bug。认为测试是开发的分支。
•Agile School 敏捷派
用测试来证明开发已经完成;强调自动化测试。认为测试是用户角色的一部分。
各种派系的发展过程
分析派作为学院派,是各派系的祖先,它直接衍生了标准派出来,从标准派后就百花齐放了,质量派、上下文驱动派和敏捷派都是在标准派后产生的。
上下文驱动派的核心信仰
•软件是由人创造的,人决定了上下文。
•测试能找到很多bug。Bug就是那些会找我们的利益相关方麻烦的问题
•测试为项目提供信息
•测试是富含技巧的智力活动
•测试是交叉学科,包含各种学问
核心问题:什么样的测试才是目前能提供的最有价值的测试?
上下文驱动测试方法与探索性测试方法(Exploratory Testing)的关系
探索性测试是上下文驱动测试的典范,因为探索性测试强调的就是测试设计和测试执行的同时进行、快速的学习,与上下问驱动强调的因时制宜的观点不谋而合。
上下文驱动派
•内涵
-期待变化。基于测试结果来调整测试计划。
-测试策略的有效性只有通过实际调查才能确定。
-测试调查需要经验性的和心理学上的研究。
-专注于实践性的技能、技巧
•最突出的应用方面
-商业软件、市场驱动的软件
•研究机构
-LAWST Workshops & Spin-offs
什么是上下文驱动测试?
上下文驱动测试七大基本原则:
•任何实践活动的价值依赖于它所处的上下文。
•在某个上下文中,只有好的实践,没有最佳实践。
•在一起工作的人才是项目的最重要主成部分。
•随着时间的推移,项目呈现出难以预料的结果。
•产品是问题的解决方案,如果问题没有得到解决,产品是无效的。
•好的软件测试时一个富有挑战性的智力过程。
•只有在项目的整个过程中通过判断和技巧,训练有素的协作,我们才能在正确的时间做正确的事情,以便有效地测试我们的产品。
不能意识到上下文存在的测试不能叫上下文驱动测试。不能基于上下文对测试进行调整的不能叫上下文驱动测试。
上下文驱动测试不是漫不经心者的借口。
上下文驱动测试的思想是如何形成的?
“我一直就是这样做测试的!”
持有一定的测试理论和技巧,并且在某些项目上一直遵循和使用这些方法。
“我不确定在这个项目中是否适用!”
在Context Aware阶段,意识到项目的上下文不一样了。
“我要做一些调整”
在Context Based阶段,意识到需要调查和尝试才能确定采用怎样的测试策略。[Page]
“哈哈,我想这种方法在这个项目中可能会奏效”
在Context Driven阶段,根据上下文确定测试策略。
如何成为上下文驱动派?
•需要更加关注上下文
•多问问题,不同类型的问题(怎样?是什么?)
•跟项目组成员一起更加紧密地工作,但是要保持独立思考
•成为项目产品的顾问,而不是推销员
•成为一名更加有效率的测试员
•少一点墨守成规
上下文都有哪些?
一个系统不是一个简单的集合,而是各项东西的有机结合体。需求、目标、角色、文档、时间进度、成本预算、人员配置可能会影响到测试采用的工具、方法等,这些都是测试的上下文。上下文通常难以辨别,这需要测试员应该经常观察、关注并参与到现实世界,从而获取测试所涉及的上下文。
上下文驱动测试的实际做法
基于了解到的项目的上下文,用以前的一些测试经验和测试的做法尝试,看是否适合,测试过程中不断反馈,看测试是否有效,同时不断观察,关注上下文是否随着时间改变,上下文的改变将驱动测试方法和实践的加入,不断分析、尝试、应用、反馈。这就是上下文驱动测试。
如何辨别上下文?
通过问以下问题将帮助你识别上下文:
•我们准备要做的是什么?
•我们实际上正在做什么?
•我们做的东西是为谁而做的?
•为什么要做?做这些事情我们将获得什么?
•我们的目标是什么?
•我们有其他的替代做法吗?
•如果我们用其他方式做会怎样?
采用上下文驱动测试方法的测试员会…?
他们通常会说:“这要具体看是什么样的情形…”。
文章来源于领测软件测试网 https://www.ltesting.net/