THE OVERARCHING PROCESS OF TEST DESIGN
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
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
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
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
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


THE OVERARCHING PROCESS OF TEST DESIGN的更多相关文章
- Content of "Essential Software Test Design"
Content of "Essential Software Test Design" 2015-11-16 PART I 7 TEST DESIGN TECHNIQUES: AN ...
- Quality in the Test Automation Review Process and Design Review Template
About this document Prerequisite knowledge/experience: Software Testing, Test Automation Applicable ...
- Architecture Design Process
Architecture Design Process The architecture design process focuses on the decomposition of a system ...
- Effective API Design
Effective API Design */--> div.org-src-container { font-size: 85%; font-family: monospace; } Tabl ...
- 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 ...
- PatentTips - OpenCL compilation
BACKGROUND The present disclosure relates generally to integrated circuits, such as field programmab ...
- (转) [it-ebooks]电子书列表
[it-ebooks]电子书列表 [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...
- (转) Summary of NIPS 2016
转自:http://blog.evjang.com/2017/01/nips2016.html Eric Jang Technology, A.I., Careers ...
- 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 ...
随机推荐
- bootstrap table使用总结
使用bootstrap table可以很方便的开发后台表格,对数据进行异步更新,编辑.下面就来介绍一下bootstrap table的详细使用方法: 因为之前在官网也找了很久的教程,源码感觉隐藏的比较 ...
- SQLite中的FROM子句
SQLite中的FROM子句 FROM子句从数据库中可以获取到一个或多个源表.源表通常是数据库命名的表,但也可以是视图或子查询.子查询相关的更多详细信息,我们会在后面进行介绍.当获取到多个源表时,JO ...
- python+imageMagick写的一个压缩图片脚本
!/usr/bin/python import os import cPickle as p import re import Image def imageCompre(imagedir = '.' ...
- luogu P2934 [USACO09JAN]安全出行Safe Travel
题目链接 luogu P2934 [USACO09JAN]安全出行Safe Travel 题解 对于不在最短路树上的边(x, y) 1 | | t / \ / \ x-----y 考虑这样一种形态的图 ...
- Table 'performance_schema.session_status' doesn't exist错误,解决办法
Mysql升级到5.7+之后一直出现Table 'performance_schema.session_status' doesn't exist错误,解决办法 1. 进入Mysql的安装目录的bin ...
- centos7 重置root 密码
重置Centos 7 Root密码的方式和Centos 6完全不同.让我来展示一下到底如何操作. 1 - 在启动grub菜单,选择编辑选项启动 2 - 按键盘e键,来进入编辑界面 3 - 找到Linu ...
- PHP 利用QQ邮箱发送邮件「PHPMailer」
在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持. 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮 ...
- ELASTIC 动态修改配置API
工作中使用ELASTIC,我们常有需要修改的配置项,但有时又不想重启elastic,这时候就需要elasticsearch内置的修改集群配置API上场了. 这个API非常的简单. curl -XPUT ...
- 哪个中年IT男不是一边面对危机,一边咬牙硬抗
本文转自:https://www.cnblogs.com/gossip/p/8297294.html 对于 2017 年年末那则令人哀伤的消息,相信很多同龄人都会触目伤怀.面对公司的强制性劝退,深圳中 ...
- android:碎片的概念
碎片(Fragment)是一种可以嵌入在活动当中的 UI 片段,它能让程序更加合理和充分 地利用大屏幕的空间,因而在平板上应用的非常广泛.虽然碎片对你来说应该是个全新的概 念,但我相信你学习起来应该毫 ...