[计算机软件及应用]软件工程基础
5.1.3 软件方法 1.软件方法(1)明确的工作步骤。 (2)具体的文档格式。 (3)确定的评价标准。 2.软件工具:需求分析工具、编码工具、设计工具、编码工具、确认工具、维护工具。 5.2 软件分析 1.问题定义 2.可行性研究 3.需求分析 * 用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。 但这是不可能的。 * * * * 2)增量方式: 测试好的模块逐步组装成较大系统,边连接边测试,以发现连接过程中产生的问题。 步骤: 自顶向下: 从主控模块开始,沿控制层次自顶向下逐个连接模块 自低向上: 从最低层、最基本的软件单元开始测试。不需要桩模块,但需要驱动模块。 混合增量: 两头向中间逼近,“三明治”方法。 * * 也叫功能测试或数据驱动测试 ,被测软件看作一个不透明的黑盒子,在软件接口处进行,完成功能的验证。 黑盒测试完全不考虑程序内部的逻辑结构和内部特性 。 黑盒测试(Black Box Testing) 3. 黑盒测试、黑盒测试原则及测试用例 黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误: 1)是否有不正确或遗漏了的功能? 2)在接口上,输入能否正确地接受? 能否输出正确的结果? 3)是否有数据结构错误或外部信息(例如数据文件)访问错误? 4)性能上是否能够满足要求? 5)是否有初始化或终止性错误? 5.4.3 软件测试的实施 软件测试的实施主要有三个步骤: 1.模块测试2.联合测试3.验收 部件 代码 部件 代码 单元测试 单元测试 单元测试 … 部件 代码 集成测试 性能测试 确认测试 系统测试 安装测试 设计 规格说明 系统 功能需求 其他 软件需求 用户需求 规格说明 用户 环境 集成后 的模块 被接受 的系统 在使用中的系统 测试后 的模块 1.单元测试: 技术:静态分析和动态测试 说明:单个模块通常不是独立的程序,不能运行。必须在真实或模拟环境下进行。模拟环境中为被测模块设计和搭建驱动模块和桩模块。 驱动模块:相当于被测模块的主程序。它接收测试数据,并传给被测模块,输出实际测试结果。 桩模块:用于代替被测模块调用的其他模块,仅做少量的数据操作,不必将子模块的所有功能带入 。 也称模块测试,对模块(软件设计最小单位)进行正确性检验的测试,以期尽早发现各模块内部可能存在的各种错误。 驱动模块 桩模块1 被测模块 桩模块2 桩模块3 黑盒or 白盒? 2.集成测试: 也称组装测试,把模块在按照设计要求组装起来的同时进行测试 ,主要目的是发现与接口有关的错误。 采用方式(模块组装成程序):两种 (1)非增量方式 (2)增量方式 自顶向下 自低向上 混合增量 通常采用黑盒 增量方式和非增量方式区别是什么?那种更好? 3.确认测试: 验证软件的功能和性能及其他特性是否满足了需求规格说明中确定的各种需求,以及软件配置是否完全正确。 实施:先用黑盒测试,验证被测软件是否满足需求规格说明确认的标准。再复审保证软件配置齐全。 4.系统测试: 将通过测试确认的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、人员等其他系统元素组合在一起,在实际运行环境下对计算机系统进行一系列的集成测试和确认测试。 目的:是在真实的系统工作环境下检验软件是否能与系统正确连接,发现软件与系统需求不一致的地方。 在软件已经交付使用后,为了改正错误或满足需要而修改软件的过程。 软件维护: 软件维护类型: 正确性维护、适应性维护 完善性维护、预防性维护 * * * 1968年由NATO (北大西洋公约组织)在德国Garmish召开的学术会议上,Feitz Bauer首先提出了“软件工程”概念。 * 1983年,IEEE(Institute of Electrical & Electronic Engineers,电气与电子工程师协会)给出了一个全面的定义: 软件工程: 是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。 * * * * 瀑布模型是 1970 年 由 W.Royce 首先提出。 瀑布模型是把软件生存周期分为计划时期、开发时期、运行时期。在每个时期里又可划分为若干个阶段。 计划时期可分为问题定义、可性行研究两个阶段 1、问题定义:这是计划时期的第一步,它主要是要弄清“用户要计算机解决什么问题” 该阶段是软件生存周期中最短的阶段,一般它只需要一两天左右。 2、