软件测试重点

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

第一章

软件测试概述

1、软件测试是对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。

2、软件故障与硬件故障导致系统失效的比例为:10:1

3、软件缺陷的典型例子:

(1)千年虫问题(银行计算利息为负数)(2)爱国者导弹防御系统(系统时钟错误积累,使导弹延时,美国的导弹误杀了美国的士兵)

(3)美国火星登陆事故(接口错误,没有测试,导致飞船加速下降,撞成碎片)(4)Intel奔腾芯片缺陷(计算错误,损失巨大)

(5)Windows 2000 安全漏洞(系统,网站等受到攻击)

(6)迪斯尼的圣诞节礼物

(7)冲击波”计算机病毒

4、软件缺陷产生的原因:

(1)、开发人员不太了解需求,软件需求分析不够全面、准确是导致软件缺陷的最主要原因。

(2)、软件系统越来越复杂,开发人员

不太可能精通所有的技术。

(3)、技术文档普遍比较糟糕,文档本

身就有错误。

(4)、软件需求、设计报告、程序经常发生变更,每次变更都可能产生新的错误。

(5)、任何人在编程时都可能犯错误,

导致程序中有错误。

(6)、人们常处于进度的压力之下,急

忙之下容易产生错误。

(7)、人们过于自信,不真实的“没问

题”将产生真正的问题。

(8)、软件设计和编码过程中的失误也

会导致软件缺陷的产生。

(9)、但很多情况下,不正确的软件设计是不正确的需求分析引起的,编码阶段出现的错误则是由需求分析和软件设计不够完善、准确引起的。5、软件测试的目的和意义

软件测试的根本目的是以尽可能少的时间和人力发现并改正软件中潜在的各种故障及缺陷,提高软件的质量。

6、软件测试原则:

(1)尽早和不断测试

(2)每个程序员都应当测试自己的程序(份内之事),但是不能作为该程序已经通过测试的依据(所以项目需要独立测试人员)

(3)完全测试是不可能的

(4)测试能提高软件的质量,但是提

高质量不能依赖测试

(5)测试只能证明错误存在,不能证

明错误不存在

(6)测试的主要困难是不知道如何进行有效地测试,也不知道什么时候可以放心地结束测试

(7)80-20原则:80%的错误聚集在

20%的模块中,经常出错的模块改错后

还会经常出错

(8)测试应当循序渐进,不要企图一

次性干完,注意“欲速则不达”

7、软件测试过程

(1)单元测试(模块测试)

目的:检测程序模块中有无故障存在对象:软件设计的最小单位,与程序设计和编程实现关系密切

(2)集成测试(组装测试、子系统测试)目的:发现与接口有关的模块之间的问题方法:非增式集成测试法和增式集成测试法

分类:非增式集成测试法

对每一个模块进行单元测试

在此基础上按程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试

增式集成测试法

不断地把待测模块连接到已测模块集(或其子集)上,对待测模块进行测试,直到最后一个模块测试完毕

(3).确认测试

目的:对软件产品进行评估以确定其是否

满足软件需求的过程

确认测试的结果:a.测试结果满足需求规格说明;b.与需求规格有偏离。

(4).系统测试

目的:针对系统中各个组成部分进行的综

合性检验,证明系统的性能

测试人员要求:

系统开发人员不能进行系统测试。

系统开发组织不能负责系统测试。(5).验收测试

目的:向用户表明所开发的软件系统能够

像用户所预定的那样工作

主要任务:

明确规定验收测试通过的标准;

确定验收测试方法;

确定验收测试的组织和可利用的资源;

确定测试结果的分析方法;

制定验收测试计划并进行评审;

设计验收测试的测试用例;

审查验收测试的准备工作;

执行验收测试;

分析测试结果,决定是否通过验收。

8、软件开发过程

正规的软件开发过程一般包括六个阶段,即:

第一阶段计划

第二阶段需求分析(开发人员和用户共同决定)

第三阶段设计(包括概要设计和详细设计)

第四阶段程序编写

第五阶段测试(单元,集成,确认,验收)

第六阶段运行和/维护

这六个阶段构成了软件的生存周期。9、软件测试与软件开发的关系

软件测试在软件开发中的作用:

项目规划阶段:负责整个测试阶段的监控。

需求分析阶段:确定测试需求分析,

制定系统测试计划。测试需求分析是指产

品生存周期中测试所需的资源、配置、各

阶段评审通过的标准等。

概要设计和详细设计阶段:制定集成

测试计划和单元测试计划。

编码阶段:开发相应的测试代码或测

试脚本。

测试阶段:实施测试,并提交相应的

测试报告。

10、软件测试在软件开发中的作用

测试在软件开发中占有重要地位

测试成本占有开发成本的近一半

11、软件测试工具

(1)、白盒测试工具

静态测试工具

职能:主要集中在需求文档、设计文档以

及程序结构上,可以进行类型分析、接口

分析、输入输出规格说明分析等。工具:McCabe& Associates 公司开发的

McCabe Visual Quality ToolSet分析工具;ViewLog 公司开发的LogiScope分析工具;Software Research 公司开发的TestWork/Advisor分析工具及Software Emancipation公司开发的Discover分析工具,北京邮电大学开发的DTS 缺陷测试工具等。动态测试工具

职能:功能确认与接口测试、覆盖率分析、

性能分析、内存分析等

工具:Compuware 公司开发的DevPartner

软件、Rational公司研制的Purify 系列等。(2)、黑盒测试工具

工具:Rational公司的

TeamTest,Compuware 公司的QACenter。

分类:功能测试工具和性能测试工具

习题1

1什么是软件测试?软件测试的目的和意义

是什么?

2简述软件测试过程。

3简述软件测试过程V模型和软件测试过

程W模型的主要区别。

软件测试过程V 模型

相关文档
最新文档