计算机二级软件工程.ppt
文本预览下载声明
详细设计 程序流程图: 程序流程图(Program Flow Chart)又称为程序框图,是软件设计中经常使用的一种算法表达工具。它独立于程序设计语言,较为直观、清晰,易于学习掌握。 控制流 加工步骤 逻辑条件 第三十页,共七十三页,2022年,8月28日 详细设计 N-S图(盒图) N-S图也称盒图(Box-Diagram),是一种符合结构化程序设计原则的图形描述工具。 如下图所示为选择结构的N—S图。 条件 THEN ELSE 第三十一页,共七十三页,2022年,8月28日 图3-10 盒图的基本符号 第三十二页,共七十三页,2022年,8月28日 详细设计 PAD图:(Problem Analysis Diagram,问题分析图),是用结构化程序设计思想表现程序逻辑结构的图形工具。 用PAD所表达的程序,结构清晰并且结构化程度高。作为一种详细设计的工具,它比流程图更易读,且由于PAD是一种树形结构,比流程图更容易在计算机上处理,容易将PAD图转换成程序。另外,PAD除了可以描述程序的逻辑结构,还可以描述数据结构。 程序开始于最左主干线,结束于最左主干线。 第三十三页,共七十三页,2022年,8月28日 PAD图示例 A1 A2 A3 …… An 条件 多分支选择结构 第三十四页,共七十三页,2022年,8月28日 图3-11 PAD图的基本符号 第三十五页,共七十三页,2022年,8月28日 详细设计 PDL(Procedure Design Language) PDL是一种用于描述功能模块的算法设计和加工细节的语言,称为过程设计语言。它是一种混合语言,采用英语的词汇和结构化程序设计语言的语法,类似编程语言。 第三十六页,共七十三页,2022年,8月28日 3.4 软件测试 软件测试的目的 软件测试的准则 软件测试技术与方法 软件测试的实施 第三十七页,共七十三页,2022年,8月28日 软件测试的目的 软件测试的定义: 软件测试是为了发现错误而执行程序的过程。 软件测试的目的 测试是程序的执行过程,目的在于发现错误; 一个好的测试用例在于能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。 返回 第三十八页,共七十三页,2022年,8月28日 软件测试的准则 所有测试都应追溯到需求; 严格执行测试计划,排除测试的随意性; 充分注意测试中的群集现象; 程序员应避免检查自己的程序; 穷举测试不可能; 妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。 返回 第三十九页,共七十三页,2022年,8月28日 软件测试技术与方法 测试技术分类: 按是否需要执行被测软件分: 静态测试:代码检查、结构分析等。 (人工测试或借助软件工具) 动态测试:设计高效、合理的测试用例是关键。 按功能划分: 白盒测试和黑盒测试。 (注意:白盒测试和黑盒测试均属于动态测试) 第四十页,共七十三页,2022年,8月28日 白盒测试 软件的白盒测试是把测试对象看作一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。 白盒测试又称为结构测试或逻辑驱动测试。 白盒测试主要对程序模块进行如下的检查: 对程序模块的所有独立的执行路径至少测试一次; 对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次; 在循环的边界和运行界限内执行循环体; 测试内部数据结构的有效性等。 第四十一页,共七十三页,2022年,8月28日 白盒测试 白盒测试设计测试用例的方法: 逻辑覆盖 基本路径测试 第四十二页,共七十三页,2022年,8月28日 白盒测试 逻辑覆盖 : 逻辑覆盖是以程序内部的逻辑结构为基础设计测试用例的技术,属于白盒测试。这一方法要求测试人员对程序的逻辑结构有清楚的了解,甚至要求能掌握源程序的所有细节。逻辑覆盖又可分为:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖。 第四十三页,共七十三页,2022年,8月28日 图3-12 语句覆盖 第四十四页,共七十三页,2022年,8月28日 白盒测试 基本路径测试: 思想:根据软件过程性描述中的控制流程确定程序的环路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试用例对每一条独立执行路径进行测试。 返回 第四十五页
显示全部