软件工程编码与测试实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021/1/12
18
测试方法
测试任何产品都有两种方法:黑盒测 试和白盒测试
黑盒测试是在程序接口进行的测 试,它只检查程序功能是否能按照规 格说明书的规定正常使用,程序是否 能适当地接收输入数据产生正确的输 出信息,并且保持外部信息(如:数 据库或文件)的完整性。黑盒测试又 称为功能测试 。
20前2一1页/1/12
2021/1/12
12
编码风格
5. 效率 程序运行时间:写程序的风格对执行速度有影响 存储器效率:提供存储器效率 输入输出的效率:提高人机通信的效率
2021/1/12
13
软件测试基础
软件测试阶段的根本目标是尽可 能多地发现并排除软件中潜藏的错误, 最终把一个高质量的软件系统交给用 户使用。
20前2一1页/1/12
19
白盒测试
基
白盒测试法是可以把程序看成
本
装在一个透明的白盒子里,了解程
概
序的结构和处理过程。这种方法按 照程序内部的逻辑测试程序,检验
念
程序中的每条通路是否能按预定要
求正确工作。白盒测试又称为结构
测试。
20前2一1页/1/12
20
测试步骤
大型软件系统通常由若干个子系统组成, 每个子系统又由许多模块组成。因此,大型软 件的测试基本上由下述几个步骤组成:
9
编码风格
3. 语句构造:每个语句都应该简单而直接
可以使用一些规则使语句构造简单, 如:尽量避免复杂的条件测试,不要为 了节省空间而把多个语句写在同一行等。
2021/1/12
10
编码风格
4. 输入输出 在设计和编写程序时应考虑输入和输出
风格的规则。
2021/1/12
11
编码风格
5. 效率:处理机时间和存储器容量 三条基本原则: a. 效率是性能要求,需求分析阶段确定 b. 效率是靠好设计来提高的 c. 程序的效率和程序的简单程度是一致的
1、模块测试 2、子系统测试 3、系统测试 4、验收测试 5、平行运行
20前2一1页/1/12
21
模块测试 软
件
模块测试的目的是保证每个模块
测 作为一个单元能正确运行,所以模
试 块测试通常又称为单元测试。
的
在这个测试步骤中所发现的往
步 往是编码和详细设计的错误。
骤
20前2一1页/1/12
22
软
子系统测试
骤
验收测试的目的是验证系统确实能够满 足用户的需要,在这个测试步骤中发现的往
往是系统需求说明书中的错误。
20前2一1页/1/12
25
平行测试
软
所谓平行运行就是同时运行新开发出来
件 的系统和旧系统,以便比较新旧两个系统的 测 处理结果,其优点是:
20前2一1页/1/12
16
软件测试的定义
▪ 测试的正确定义:为了发现程序中的错误 而执行程序的过程
▪ 错误观念:测试是为了表明程序是正确的 ▪ 测试应由专门的测试小组来完成
▪ 测试只能查找程序中的错误,不能证明程 序中没有错误
2021/1/12
17
软件测试准则
① 所有测试都能追溯到用户需求 ② 应该尽早开始测试计划的制定 ③ 应用Pareto原理定位错误 ④ 测试应该有“小”到“大” ⑤ 穷举测试不可能 ⑥ 应该由独立的第三方从事测试工作
键步骤,它是对软件规格说明、设计和编码 的最后复审。
软件测试由两个阶段组成,分别是单元 测试和集成测试。
20前2一1页/1/12
3
测试
软件测试的工作量往往占软件开发总 工作量的40%以上,在极端情况,测试那 种关系生命安全的软件所花费的成本,可 能相当于软件工程其他开发步骤总成本的 3—5倍。
测试的目的是发现错误,但软件生产的 最终目的是开发出高质量的完全符合用户 需要的软件。
▪ 汇编语言和高级语言相比,使用高级语言 写的程序更易阅读、测试、调试和维护
2021/1/12
6
编码
▪ 在进行高级语言的选择时,应该有标准参 照
1. 系统用户的要求 2. 可以使用的编译程序 3. 可以得到的软件工具 4. 工程规模 5. 程序员的知识 6. 软件可移植性要求 7. 软件的应用领域
件
测
子系统测试是把经过单元测试的
试 模块放在一起形成一个子系统来测试。
的
模块相互间的协调和通信是这个测试 过程中的主要问题。
步 骤
这个步骤着重测试模块的接口。
20前2一1页/1/12
23
软
系统测试
件
测
系统测试是把经过测试的子系统装配 成一个完整的系统来测试。在这个过程中
试
不仅应该发现设计和编码的错误,还应该
软件工程学系列
软件工程编码与测试实现
编码和测试
▪ 编码就为是用编程(程序)语言把软 件表达翻译为计算机可以理解的形 式—用某种程序设计语言书写的程序。
2021/1/12
2
测试
软件测试非常重要,它对软件可靠性产 生直接影响。
测试的目的是在软件投入生产运行之前, 尽可能多地发现软件中的错误。
目前软件测试仍然是保证软件质量的关
2021/1/12
7
编码风格
▪ 设计出易读易懂程序的规则: 1. 程序内部的文档 标识符:含义鲜明的名字 注解:帮助理解程序 程序的视觉组织:程序清单的布局
2021/1/12
8
编码风格
2. 数据说明: 数据说明的次序应该标准化,提高效率 按字母顺序排列变量 使用注解说明复杂的数据结构
2021/1/12
14
基本概念
▪ 软件测试的目标 ▪ 软件测试准则 ▪ 测试方法 ▪ 测试步骤 ▪ 测试阶段的信息流
20前2一1页/1/12
15
软件测试的目标
百度文库
基 本
(1)测试是为了发现程序中的错误 而执行程序的过程。
概
(2)好的测试方案是极可能发现 迄今为止尚未发现的错误的测试方案。
念
(3)成功的测试是发现了至今为止 尚未发现的错误的测试。
2021/1/12
4
20前2一1页/1/12
本章主要内容
▪ 编码 ▪ 测试基础 ▪ 单元测试 ▪ 集成测试 ▪ 确认测试 ▪ 白盒测试技术 ▪ 黑盒测试技术 ▪ 调试 ▪ 软件可靠性
5
编码
▪ 编码之前的一项重要工作是选择适当的程 序设计语言
▪ 适当的编程语言可以减少需要的程序测试 量,可以得出更易阅读和更易维护的程序
的
验证系统确实能提供需求说明书中指定的 功能,而且系统的动态特性也要符合预定
步 要求。
骤
在这个测试步骤中发现的往往是软件
设计中的错误,也可能发现需求说明中的
错误。
20前2一1页/1/12
24
软
件
验收测试
测
验收测试把软件系统作为单一的实体进
试
行测试,测试内容与系统测试基本类似,但
的 步
是它是在用户积极参与下进行的,而且可能 主要使用实际数据进行测试。