软件测试期末重点复习资料

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

第一章

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.软件测试的分类

•三种分类方法:

•按测试的对象或范围分类,如单元测试、文档测试、系统测试等。

•按测试目的分类,如功能测试、回归测试、性能测试、可靠性测试、安全性测试和兼容性测试等。

•根据测试过程中被测软件是否被执行,分为静态测试和动态测试。

•根据是否针对系统的内部结构和具体实现算法来完成测试,可分为白盒测试和黑盒测试。

3.软件测试各阶段示意图

第三章

(具体语句可看书或PPT)1. 白盒测试中的逻辑覆盖方法有以下6种:

1.语句覆盖:设计若干测试用例,运行被测程序,使程序中每个

可执行语句至少执行一次。

2.判定覆盖:设计若干测试用例,运行被测程序,使得程序中每

个判断的取真分支和取假分支至少经历一次,即每个判断的真

假值均曾被满足。

3.条件覆盖:设计若干测试用例,执行被测程序以后要使每个判

断中每个条件的可能取值至少满足一次。(T1,T2,T3,T4……)

4.判定-条件覆盖:设计足够的测试用例,使得判断中每个条件

的所有可能至少执行一次取值,同时,所有判断的可能结果至

少执行一次。(T1,T2,T3,T4,F1,F2,F3,F4)

5.条件组合覆盖:设计足够的测试用例,使得每个判断中所有可

能的条件取值组合至少执行一次。

6.路径覆盖:设计所有的测试用例,来覆盖程序中的所有可能的

执行路径。

2.作业题!!!!

第四章

1.W模型

2.V模型(第二章有)

3.V模型与W模型对比(网上的)

V模型:强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应;忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试

W模型:相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。W模型强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W模型有利于尽早地全面的发现问题。但他与V模型相同,没有对软件测试的流程进行说明。

第五章

1.单元测试

定义:单元测试是按阶段进行测试是一种基本的测试策略。

单元测试是对软件基本组成单元进行的测试,而且软件单元是在与程序的其他部分相隔离的情况下进行独立的测试。(书上)

单元测试是一种细粒度的测试,是对软件基本组成单元进行的测试。也称模块测试,属于白盒测试范畴。(PPT)

任务:单元测试的主要任务包括逻辑、功能、数据和安全性等各方面的测试,具体地说,包括单元中所有独立执行路径、数据结构、接口、边界条件、容错性等测试。(书上)

任务1:单元中所有独立执行路径测试

任务2:单元局部数据结构测试

任务3:模块接口测试

任务4:单元边界条件测试

任务5:单元的各条错误处理通路测试

任务6:内存分析(PPT)

2.代码评审的方法

A代码走查;B正式会议审查;C走查与会议审查的对比;D检查表3.桩程序和驱动程序的作用地位

驱动程序:也称驱动模块,用以模拟被测模块的上级模块,能够调用被测模块。在测试过程中,驱动模块接受测试数据,调用被测模块并把相关的数据传送给被测模块。

桩程序:也称桩模块,用以模拟被测模块工作过程中所调用的下层模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,例如

相关文档
最新文档