文档详情

《实用软件工程》第4章软件编码和软件测试.ppt

发布:2017-11-19约4.19千字共38页下载文档
文本预览下载声明
教育科学学院 李新晖 程序图 计算程序的环行复杂度: 图中有4个线性无关的有向环:R1、R2、R3、R4。 在图4.4(b)中,实线弧数为14,节点数为12。因此,环行复杂度为 V(G)=14-12+2=4 图4.4(b)中,判定结点的个数为3,3+1=4。 三种计算方法的结果相同。 4.5.6 因果图法 因果图法就是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种情况的组合。 1. 因果图法测试用例设计步骤 2. 因果图法基本符号 第4章 详细设计 本章内容: ??结构化程序设计 程序设计语言的选择 程序设计风格 ??软件测试 软件测试目标 ??????软件测试方法 ??????软件测试步骤 ??????软件设计测试方案 ??????软件测试原则和测试策略 ??????软件调试、验证与确认 ??????软件测试文档 重点: ??????程序设计风格 ????? 设计软件测试方案 4.1 结构化程序设计 结构化程序设计(Structured Programming ,SP) 仅采用顺序、选择、重复三种基本控制结构; 每种基本结构只有一个入口、一个出口; 将这三种基本控制结构根据程序的逻辑,嵌套或组合成结构化程序,完成预定的功能。 结构化程序设计的特点 源程序有清晰性,并能较好地适合自顶向下或自底向上的程序设计技术。 在详细设计阶段,使系统结构具有模块化和清晰性的特性。 在软件编码阶段,使软件易于理解、修改,便于重复使用。 4.1.1 程序设计语言的选择 1. 程序设计语言的分类 (1)面向机器语言:机器语言和汇编语言。 (2)高级程序设计语言 2. 高级语言选用的实用标准 (1)项目的应用领域 (2)软件开发环境 (3)根据系统用户的要求来选择 (4)软件开发人员的知识    几种流行编程语言 1.Visual Basic 2.Pascal语言 Delphi 3.C语言 4.C++和Visual C++ 5. Java语言 6. C#语言 7.PB 8.JSPASP 4.1.2 程序设计风格 源程序文档编写规则 1. 源程序文档编写时,其标识符名称、注解和程序布局等要合理。 2. 数据说明 3. 语句构造要简单直接 4. 输入输出语句 5. 程序效率 程序设计主要应考虑的是程序的正确性、可理解性、可测试性和可维护性。 4.2 软件测试目标 1、软件测试是为了发现程序中的错误而执行程序的过程。 2、好的测试方案能够发现尚未发现的错误。 3、成功的测试是发现了尚未发现的错误的测试。 软件测试的目的:通过人工或计算机执行程序来有意识地发现程序中的设计错误和编码错误。 4.3 软件测试方法 4.3.1 静态分析与动态测试 1.静态分析: 不需要执行所测试的程序,而只是通过扫描程序正文,对程序的数据流和控制流等信息进行分析,找出系统的缺陷,得出测试报告。 2.动态测试:通过源程序运行时所体现出来的特征,进行执行跟踪、时间分析以及测试覆盖等方面的测试。 测试用例 为了进行软件测试,需要预先准备好两种数据: ①输入数据; ②预期的输出结果。 我们把以发现错误为目标的用于软件测试的输入数据及与之对应的预期输出结果叫测试用例。 4.3.2 黑盒法与白盒法 1. 黑盒法 (Black Box Testing) 又称功能测试,其测试用例完全是根据程序的功能说明来设计的。 2. 白盒法 (White Box Testing) 又称结构测试,其测试用例是根据程序内部的逻辑结构和执行路径来设计的。 常把黑盒法和白盒法联合起来进行,这也称为灰盒法。 4.4 软件测试步骤 4.4.1 模块测试 模块测试也称单元测试,其目的是检查每个模块是否能独立、正确地运行。 模块测试通常在程序设计时进行。 驱动程序代替主程序,用来测试子程序。 存根程序也称“虚拟子程序”,测试主模块。 4.4.2 集成测试 集成测试是根据实际情况对程序模块采用适当的集成测试策略组装起来,对系统的接口以及集成后的功能进行正确校验的测试工作。集成测试也称为综合测试。 子系统的组装称为集成化。 集成测试的层次 对于传统软件来讲,可以把集成测试划分为3个层次. 模块内集成测试。 子系统内集成测试。 子系统间集成测试。 对于面向对象的应用系统来说,可以把集成测试分为两个阶段: 类内集成测试。 类间集成测试。 集成测试的模式 (1)一次性集成测试方式 一次性集成测试方式也称非增值式集成测试。先分别测试每个模块,再把所有模块按设计要求放在一起结合成所需要实现的程序。 (2)增值
显示全部
相似文档