第6章 软件测试方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6章软件测试方法

6.1 有一种观点认为,软件测试的目的在于证明开发出的软件没有缺陷。这种观点能够接受吗?为什么?

这种观点是不对的。软件测试的目的是想以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。测试只能证明软件中存在缺陷,如果在测试中没有发现缺陷,并不能证明开发的软件没有缺陷。

6.2 通过测试活动能够把软件中含有的缺陷全部找到吗?为什么?

测试活动不能将软件中含有的缺陷全部找到。因为,无论使用黑盒测试还是百盒测试,穷举测试都是不可能的。

6.3 说明验证和确认的区别。

验证(Verification)是指提供客观证据对规定要求已得到满足的认定。确认(Validation)是指通过提供客观证据对特定的语气用途或应用要求已得到满足的认定。

验证和确认之间的区别是:验证表明的是满足规定要求,而确认表明的是满足预期用途或应用要求,简单地说,确认就是检查最终产品是否达到顾客使用要求。

验证要保证“做得正确”,而确认则要保证“做的东西正确”。

引用Boehm的话:

Verification—Are we producing the product right?

Validation—Are we producing the right product?

6.4 简要说明白盒测试和黑盒测试的区别。如果认真做了两者之一,还需要再做另一种测试吗?

软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:

(1) 对程序模块的所有独立的执行路径至少测试一遍。

(2) 对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。

(3) 在循环的边界和运行的界限内执行循环体。

(4) 测试内部数据结构的有效性,等等。

软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:

(1) 是否有不正确或遗漏的功能?

(2) 在接口上,输入是否能正确的接受?能否输出正确的结果?

(3) 是否有数据结构错误或外部信息(例如数据文件)访问错误?

(4) 性能上是否能够满足要求?

(5) 是否有初始化或终止性错误?

如果认真做了两者之一,另一种测试仍然需要做。这两种测试发现的错误类型不同。

6.5 假设汽车的车牌号可由车主人在规定范围内自选,若其规定为:

(1) 车牌上应有7个字符;

(2) 为首的字符限定为汉字“京”;

(3) 第2个字符可任选一字母(A~Z);

(4) 第3~7个字符可选任意数字。

请为相关的处理程序采用等价类划分方法设计等价类表及相应的测试用例。

等价类表

测试用例如下:

1)京H87774 }(1),(4),(6),(8)

2)京H8777 }(2)

3)京H877745 }(3)

4)冀H87774 }(5)

5)京987774 }(7)

6)京BA7774 }(9)

6.6 比较α测试与β测试,说明其异同。

α测试与β测试都是集成测试之后所进行的测试,都属于系统测试。所不同的是,α测试是在开发环境中所做的测试,主要由开发方人员进行。而β测试则是在用户实际工作环境中所做的测试,不受开发人员的干预。

相关文档
最新文档