软件工程第九章 软件测试

1.软件测试的目的、原则

目的:

软件测试是为了发现软件缺陷而执行程序的过程 软件测试是为了证明软件有缺陷

而不是仅仅为了演示软件的正确功能

一个好的测试用例指的是它可能发现至今尚未发现的错误

一次成功的测试指的是发现了新的软件缺陷的测试

原则:

Pareto法则:也称80/20法则。 一般可以发现80%的缺陷,最后20%的缺陷可能在用户大范围、长时间使用后才逐渐暴露出来。 80%的软件缺陷通常集中在20%的模块中。 20%的缺陷通常消耗80%的维护费用。

测试不能证明软件无错,测试无法显示潜在的软件缺陷,因为完全测试软件是不可能的。

软件缺陷的免疫力(杀虫剂怪事):软件会对相同类型的测试产生免疫力。需不断编写新的测试程序,对程序的不同部分进行测试,以找到更多的软件缺陷。

并非所有的软件缺陷都需要修复:时间不够;并不是真正的软件缺陷(当作功能);修复的风险很大;不值得修复

2.软件测试的分类

静态测试

动态测试 (黑盒测试 白盒测试)

3.什么是黑盒和白盒测试,有那些方法

了解产品的功能,然后构造测试用例,来证实所有的功能是完全可执行的。(黑盒测试)

知道测试产品的内部结构及处理过程,可以构造测试用例,对所有的结构都进行测试。(白盒测试)

4.如何构造测试用例

黑盒测试: 等价类划分法 边界值划分法 错误推测法 因果图法

白盒测试: 逻辑覆盖法 语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖 基本路径覆盖法 循环路径测试

5.软件测试与软件开发过程的关系是怎么样的

 

 

6.什么是单元测试?

单元测试对软件中的最小可测试单元进行检查和验证

7.什么是集成测试?有那些集成策略?

在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。

集成测试策略: 自顶向下 自底向上

8.调试技术有那些方法

试探法:凭借经验猜想故障的位置,然后使用适当的调试技术。

回溯法:检查错误症状,确定最先发现症状的地方,然后沿着源程序的控制流往回追踪程序代码,直到找出错误根源或确定故障范围为止。

对分查找法:如果已经知道每个变量在程序内若干个关键点的正确值,则可以用赋值语句或输入语句在程序“中点”附近加入这些变量的正确值,然后检查程序的输出。如果输出结果是正确的,则故障在程序“中点”的前半部分。反之,故障在“中点”的后半部分。可以有效的缩小故障范围。

归纳法:从个别或特殊推断一般的方法。从测试结果发现的错误入手,分析它们之间的联系,导出错误原因的假设,然后再证明或否定这个假设。归纳法调试的具体步骤如下: 收集有关数据:列出程序中已经知道的,对或不对的一切数据,包括那些不产生错误结果的测试数据。 组织数据:整理数据以便发现规律。 导出假设:分析研究线索之间的关系,力求找出它们的规律,提出故障的一个或多个假设 验证假设:解释所有原始的测试结果

演绎法:先列出所有可能成立的原因或假设,然后逐一排除不正确的原因,直到最后证明出剩下的原因确实是错误根源为止。 四个步骤: 列举可能的原因:根据已有的测试信息和测试数据,列举出所有可能产生该错误的原因 排除不正确的原因:分析已有的信息/数据,列出原因,排除原因,选取最大可能性的那个原因为假设。 细化假设:利用已知的线索进一步细化确定的假设,使之更具体化,以便确定故障的位置 验证假设:做法与归纳法的相同

posted @ 2021-04-27 17:33  FEILI13  阅读(173)  评论(0编辑  收藏  举报