在读软件测试之前,我认为软件测试不重要,甚至可以省略。但是读了这一部分之后,我深深地认识到软件测试对于开发等的作用是非常大的,而且是必不可少的。下面就软件测试做一下简单介绍。
一、基本名词解释及分类
1、Bug:软件的缺陷
Bug可以分为这三个组成部分:症状(Symptom)、程序错误(Fault)、根本原因(Root cause)。
(1)Symptom:即从用户的角度看,软件出了什么问题。
例如,在输入(3 2 1 1)的时候,程序错误退出。
(2)Fault:即从代码的角度看,代码的什么错误导致了软件的问题。
例如,代码在输入为某种情况下访问了非法的内存地址——0X0000000C。
(3)Root Cause:错误根源,即导致代码错误的根本原因。
n例如,代码对于id1==id2的情况没有做正确判断,从而引用了未赋初值的变量,产生了以上的情况。
2、Test Case:测试用例
测试用例描述了一个完整的测试过程,包括测试环境、输入、期望的结果等。
3、Test Suite:测试用例集
即一组相关的测试用例。
二、测试方法分类
黑箱:在设计测试的过程中,把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识。一个更准确的说法是“Behavioral Test Design”,从软件的行为,而不是内部结构出发来设计测试。
白箱:在设计测试的过程中,设计者可以“看到”软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择。
1、测试方法分类-功能分类
2、测试方法分类-非功能分类
3、测试方法分类-目的测试
4、测试方法分类-测试方式
三、测试矩阵