THE OVERARCHING PROCESS OF TEST DESIGN

-Test note of “Essential Software Test Design”

2015-08-27

Content:

8.1 Preparation – Get the Big Picture
8.2 Step One – Creating a Model of the Requirements
8.3 Step Two – Covering the Model, Creating Base Test Cases
8.4 Step Three – Supplementing With Test Data
8.5 Step Four – Advanced Testing

Since test design is complicated, and contains many different approaches, it is appropriate to divide the work up into several steps.

Figure 8.1: Process for test design in four steps

8.1 Preparation – Get the Big Picture


Top

Before you begin to develop test cases, it is a good idea to compile an overview of what is to be tested. Often, the test strategy contains some form of overview of the test coverage.

Find out which documents and other test basis are available to you to work from. This can be anything from business plans to technical models and program specifications with database descriptions. Go through the test basis and try to identify which requirements you are affected by. If the requirements are not written down, you need to conduct a dialogue with those placing the order, and the developer, in order to obtain the test basis you need.

All the requirements we have identified, and all the requirements we can assume exist, even if they are not written down, must now be tested. As a test designer, you must find a way of arriving at the right questions to ask.

8.2 Step One – Creating a Model of the Requirements


Top

When the overview is complete, it is time to build test cases. Your first step is to model the requirements in a form which you will cover by test cases in the next step.

There are many types of model to use and, in the majority of projects, you must use several different types in order to give as good a variation as possible to the test cases. Common models are tables, flow graphs and state diagrams.

Remember that you must have early involvement in the project. You must develop your models in parallel with the requirements being written. By compiling the models, you will contribute to the quality assurance of both the requirements and the design.

Here, you have the opportunity to contribute genuinely to the common good, by asking important questions at such an early stage that they can be answered in time before the coding gets under way. On the other hand, do not try to develop all your test cases in detail before you have had your models examined and accepted by the rest of the project team. It is obviously a good thing to think like a tester and question almost everything, but do not be too hard in your criticism, since your job is to be an asset to the project team, and not to run down the other team members.

What you actually do is the part known as analysis in many project models, which often contains the steps requirements-analysis-design-coding-testing. It can be argued that those who compile the requirements, or those who design the system, should carry out this analysis but, in my experience, this is seldom the case. Also, even if those who write the requirements, or design the system, carry out this analysis, they do not ask the same questions as you do as a tester.

8.3 Step Two – Covering the Model, Creating Base Test Cases


Top

Step two is to cover the model with test cases. In this way, you get a measure of which test coverage you have. Graphic models are filled in through writing test cases which encompass all the rectangles and circles in place, and the arrows linking them up. For formulae or sets of rules, it is a question of all the parameters involved being tested, as well as the most important combinations of them.

8.4 Step Three – Supplementing With Test Data


Top

The base test cases we have generated in step two must now be run once or several times with different data in order to achieve a greater depth of testing.

Equivalence partitioning of each parameter and boundary value analysis provides you with relevant values for dividing up the test data. When

8.5 Step Four – Advanced Testing


Top

THE OVERARCHING PROCESS OF TEST DESIGN的更多相关文章

  1. Content of "Essential Software Test Design"

    Content of "Essential Software Test Design" 2015-11-16 PART I 7 TEST DESIGN TECHNIQUES: AN ...

  2. Quality in the Test Automation Review Process and Design Review Template

    About this document Prerequisite knowledge/experience: Software Testing, Test Automation Applicable ...

  3. Architecture Design Process

    Architecture Design Process The architecture design process focuses on the decomposition of a system ...

  4. Effective API Design

    Effective API Design */--> div.org-src-container { font-size: 85%; font-family: monospace; } Tabl ...

  5. How to Design a Good API and Why it Matters

    前谷歌首席 Java 架构师谈如何设优秀的 API – 码农网 http://www.codeceo.com/article/google-java-good-api.html 2015-11-24 ...

  6. PatentTips - OpenCL compilation

    BACKGROUND The present disclosure relates generally to integrated circuits, such as field programmab ...

  7. (转) [it-ebooks]电子书列表

    [it-ebooks]电子书列表   [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...

  8. (转) Summary of NIPS 2016

    转自:http://blog.evjang.com/2017/01/nips2016.html           Eric Jang Technology, A.I., Careers       ...

  9. 11 Clever Methods of Overfitting and how to avoid them

    11 Clever Methods of Overfitting and how to avoid them Overfitting is the bane of Data Science in th ...

随机推荐

  1. vue2.0以上版本安装sass(scss)

    一.首先说明sass和scss的区别. 1.异同:1)简言之可以理解scss是sass的一个升级版本,完全兼容sass之前的功能,又有了些新增能力.语法形式上有些许不同,最主要的就是sass是靠缩进表 ...

  2. NOIp模拟赛 现实(DP 拓扑)

    题目来源:by lzz \(Description\) 给定一张有向图,求对于哪些点,删除它和它的所有连边后,图没有环. \(n\leq 5\times10^5,m\leq 10^6\). \(Sol ...

  3. MySQL中间件方案盘点_搜狐科技_搜狐网

    MySQL中间件方案盘点_搜狐科技_搜狐网

  4. C#线程篇---Task(任务)和线程池不得不说的秘密

    我们要知道的是,QueueUserWorkItem这个技术存在许多限制.其中最大的问题是没有一个内建的机制让你知道操作在什么时候完成,也没有一个机制在操作完成是获得一个返回值,这些问题使得我们都不敢启 ...

  5. JavaScript(ES5)使用保留字作函数名

    ES5同意直接使用保留字作为属性名.但却不同意直接使用保留字作为函数名 设现有类NSMap,若要给NSMap的原型加delete方法,如 function NSMap(){ } NSMap.proto ...

  6. 【Qt5】Windows下配置程序的产品、公司、版权、版本号等详细信息

    在工程的pro文件中加入下面的配置 # 配置图标(仅Windows有效)# 本程序使用两个图标,这样其快捷方式可以有更多选择,也可以给关联文件提供图标选择RC_ICONS += icon1.ico \ ...

  7. C++ stringstream 简化数据类型转换

    C++标准库中的<sstream>提供了比ANSI C的<stdio.h>更高级的一些功能,即单纯性.类型安全和可扩展性. 在C++中经常会使用到snprintf来格式化一些输 ...

  8. 4、搭建Python环境

    搭建Python环境 Linux环境 大多Linux发行版均默认安装了Pthon环境.如想下载不同的版本,可到www.python.org下载.软件安装方法参照Linux软件安装. 输入Python可 ...

  9. 《es6标准入门》chapter11中关于Proxy的一个错误例子的纠正

    在原书第二版的p120,这里有一个使用Proxy实现管道化调用的例子,想法很好,但是代码有问题,下面是更正之后的代码. 由于我是在node环境下运行,所以我把几个全局函数定义到global内了,如果是 ...

  10. eclipse-修改启动JDK版本

    打开eclipse安装目录下的eclipse.ini文件,将红色内容加入 -vm ../Java/jdk1.6.0_26/bin (或者指向具体目录:D:/software/jdk_1.8u91/bi ...