上下文驱动测试方法(Context-Driven Testing)

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

上下文驱动测试方法(Context-Driven Testing

陈能技

2007-7-23

 

测试的不同“派系”

•Analytic School 分析派

测试是严谨的、技术性的,持此观点的大部分是学院派的,并且拥有很多支持者。认为测试是计算机科学和数学的分支。

•Standard School 标准派

测试是用来度量进度的,强调成本和可重复的标准。认为测试是一个严格管理的过程。

•Quality School 质量派

强调过程、监督开发人员,像守门员一样把关。认为测试是软件质量保证的分支。

•Context-Driven School 上下文驱动派

强调人的作用,寻找利益相关方关注的bug。认为测试是开发的分支。

•Agile School 敏捷派

用测试来证明开发已经完成;强调自动化测试。认为测试是用户角色的一部分。

 

各种派系的发展过程

分析派作为学院派,是各派系的祖先,它直接衍生了标准派出来,从标准派后就百花齐放了,质量派、上下文驱动派和敏捷派都是在标准派后产生的。

 

上下文驱动派的核心信仰

软件是由人创造的,人决定了上下文。

测试能找到很多bugBug就是那些会找我们的利益相关方麻烦的问题

测试为项目提供信息

测试是富含技巧的智力活动

测试是交叉学科,包含各种学问

核心问题:什么样的测试才是目前能提供的最有价值的测试?

 

上下文驱动测试方法与探索性测试方法(Exploratory Testing)的关系

探索性测试是上下文驱动测试的典范,因为探索性测试强调的就是测试设计和测试执行的同时进行、快速的学习,与上下问驱动强调的因时制宜的观点不谋而合。

 

上下文驱动派

内涵

-期待变化。基于测试结果来调整测试计划。

-测试策略的有效性只有通过实际调查才能确定。

-测试调查需要经验性的和心理学上的研究。

-专注于实践性的技能、技巧

最突出的应用方面

-商业软件、市场驱动的软件

研究机构

-LAWST Workshops & Spin-offs

 

什么是上下文驱动测试?

 

上下文驱动测试七大基本原则:

•任何实践活动的价值依赖于它所处的上下文。

•在某个上下文中,只有好的实践,没有最佳实践。

•在一起工作的人才是项目的最重要主成部分。

•随着时间的推移,项目呈现出难以预料的结果。

•产品是问题的解决方案,如果问题没有得到解决,产品是无效的。

•好的软件测试时一个富有挑战性的智力过程。

•只有在项目的整个过程中通过判断和技巧,训练有素的协作,我们才能在正确的时间做正确的事情,以便有效地测试我们的产品。

 

不能意识到上下文存在的测试不能叫上下文驱动测试。不能基于上下文对测试进行调整的不能叫上下文驱动测试。

上下文驱动测试不是漫不经心者的借口。

 

上下文驱动测试的思想是如何形成的?

“我一直就是这样做测试的!”

持有一定的测试理论和技巧,并且在某些项目上一直遵循和使用这些方法。

“我不确定在这个项目中是否适用!”

Context Aware阶段,意识到项目的上下文不一样了。

“我要做一些调整”

Context Based阶段,意识到需要调查和尝试才能确定采用怎样的测试策略。

“哈哈,我想这种方法在这个项目中可能会奏效”

Context Driven阶段,根据上下文确定测试策略。

 

如何成为上下文驱动派?

需要更加关注上下文

多问问题,不同类型的问题(怎样?是什么?)

跟项目组成员一起更加紧密地工作,但是要保持独立思考

成为项目产品的顾问,而不是推销员

成为一名更加有效率的测试员

少一点墨守成规

 

上下文都有哪些?

一个系统不是一个简单的集合,而是各项东西的有机结合体。需求、目标、角色、文档、时间进度、成本预算、人员配置可能会影响到测试采用的工具、方法等,这些都是测试的上下文。上下文通常难以辨别,这需要测试员应该经常观察、关注并参与到现实世界,从而获取测试所涉及的上下文。

 

上下文驱动测试的实际做法

基于了解到的项目的上下文,用以前的一些测试经验和测试的做法尝试,看是否适合,测试过程中不断反馈,看测试是否有效,同时不断观察,关注上下文是否随着时间改变,上下文的改变将驱动测试方法和实践的加入,不断分析、尝试、应用、反馈。这就是上下文驱动测试。

 

如何辨别上下文?

通过问以下问题将帮助你识别上下文:

我们准备要做的是什么?

我们实际上正在做什么?

我们做的东西是为谁而做的?

为什么要做?做这些事情我们将获得什么?

我们的目标是什么?

我们有其他的替代做法吗?

如果我们用其他方式做会怎样?

 

采用上下文驱动测试方法的测试员会…?

他们通常会说:“这要具体看是什么样的情形”。

他们会问你很多问题,也会问自己很多问题。

他们清楚他们所采用的测试技术的潜在假设条件。

他们会根据情况改变主意并且重新计划。

当他们感觉到上下文发生了变化时能调整正在做的测试。

 

上下文驱动测试者通常问的问题

测试员通常都会问很多问题,但是上下文驱动测试者问的问题更多的是为了调查清楚上下文,通常他们会避免问需要假设、猜想的问题,例如:什么时候需求文档准备好?需求文档得到沟通了吗?需求发生了多大的变化?

 

更多有关上下文驱动测试的资料:

•Lessons Learned in Software Testing:A Context-Driven Approach

-Cem Kaner, James Bach & Bret Pettichord

•Mailing List

http://groups.yahoo.com/group/software-testing/

 

参考:

•The Seven Basic Principles of the Context-Driven School

www.context-driven-testing.com

•Schools of Software Testing

- Bret Pettichord

[email protected]

www.pettichord.com

•“It Depends...Context Driven Testing -What does it mean to have nobest practices?

-Alan Richardson

Compendium Developments

http://compendiumdev.co.uk/context

            

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/gdhjgfr/article/details/84195618