2015--软件测试--期末重点复习资料 下载本文

内容发布更新时间 : 2024/5/4 18:02:58星期一 下面是文章的全部内容请认真阅读。

第一章

1.软件测试正反两方面的观点

正面观点:Bill Hetzel博士(软件测试领域的先驱,正向思维代表) 主要观点是:软件测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作。

反面观点:Glenford J. Myers(反向思维的代表): 观点:测试是为了证明程序有错,而不是证明程序无错误。 2.软件测试的定义 IEEE 的定义 :

? 在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价 。

? 分析某个软件项以发现现存的与要求的条件之差别(即错误)并评价此软件项的特性 。

正确的定义:软件测是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体。 3.软件测试在软件开发中的地位

软件开发是生产制造软件;软件测试是验证开发出来软件的质量。类比传统加工制造企业,软件开发人员就是生产加工的工人,软件测试人员就是质检人员。 关系应该是:

1、没有软件开发就没有测试,软件开发提供软件测试的对象。 2、软件开发和软件测试都是软件生命周期中的重要组成部分

3、软件开发和软件测试都是软件过程中的重要活动。 4、软件测试是保证软件开发产物质量的重要手段。(网上) 4.P11 V模型

第二章 1.软件缺陷

定义:IEEE STD 729(1983)对软件缺陷给出了一个标准的定义: 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。

从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。 主要类型:软件缺陷的主要类型/现象有: ? 功能、特性没有实现或部分实现; ? 设计不合理,存在缺陷; ? 实际结果和预期结果不一致;

? 运行出错,包括运行中断、系统崩溃、界面混乱;

? 数据结果不正确、精度不够;

? 用户不能接受的其他问题,如存取时间过长、界面不美观。 产生原因:造成软件缺陷的主要因素: ① 技术问题

算法错误、语法错误、计算和精度问、接口参数传递不匹配等。 ② 软件本身

文档错误、用户使用场合(user scenario),时间上不协调或不一致性所带来的问题;系统的自我恢复或数据的异地备份、灾难性恢复等问题。

③ 团队工作 误解、沟通不充分等。

从修复软件缺陷的代价来讨论测试为什么要尽早开始?

因为每个阶段的工作中都可能发生错误,而前一阶段的成果是后一阶段的基础,倘若没有修复,缺陷会逐渐积累,因此越到后面,修改的代价也就越大。若能尽早开始测试,排除软件开发中的错误,就能有效地减少后期工作遇到的问题,可以尽量避免修复软件缺陷的代价。 2.软件测试的分类