软件工程导论期末救急包(中)(三)

简介: 软件工程导论期末救急包(中)(三)

概要设计阶段的基本任务是什么?

⑴设计软件系统结构(简称软件结构),具体为:

①采用某种设计方法,将一个复杂的系统按功能划分成模块。

②确定每个模块的功能。

③确定模块之间的调用关系。

④确定模块之间的接口,即模块之间传递的信息。

⑤评价模块结构的质量。

⑵数据结构及数据库设计。

⑶编写概要设计文档。主要有:概要设计说明书;数据库设计说明书;用户手册;修订测试计划。⑷评审。

详细设计的基本任务是什么?有哪几种描述方法?

详细设计是软件设计的第二阶段

其基本任务有:

  • 为每个模块进行详细的算法设计;
  • 为模块内的数据结构进行设计;
  • 对数据库进行物理设计,即确定数据库的物理结构;
  • 其它设计,根据软件系统类型,还可能要进行代码设计、输入/输出格式设计、人机对话设计;
  • 编写详细设计说明书;
  • 评审。

详细描述处理过程常用三种工具:图形、表格和语言。如结构化程序流程图、盒图和问题分析图。IPO图也是详细设计的主要工具之一。表格工具如判定表可作为详细设计中描述逻辑条件复杂的算法。过程设计语言(PDL)是一种用于描述模块算法设计和处理细节的语言工具。

图形工具:程序流程图, N-S ,PAD, HIPO

表格工具:判定表

语言工具: PDL , HIPO

黑盒测试(Black_Box testing)

黑盒测试把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下、注重于测试软件的功能性要求,测试者在程序接口处进行测试,只检查程序功能是否按照规格说明书的规定正常使用,程序是否能接收输入数据而产生正确的输出信息,并且保持数据库和文件的完整性

用黑盒测试(功能测试)设计测试用例的方法及各自的特点

㈠等价类划分。等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。

某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。

划分等价类:

输入条件

合理等价类

不合理等价类

职称

①教授

②副教授

③讲师

⑤四种职称之外任意一种

职称兼工龄

④助教兼工龄大于2年

⑥助教兼工龄等于两年

⑦助教兼工龄小于两年

设计测试用例:

输入数据

预期结果

覆盖范围

教授

输入有效,进行调整工资处理

副教授

输入有效,进行调整工资处理

讲师

输入有效,进行调整工资处理

助教  3

输入有效,进行调整工资处理

助教   2

输入有效,不调整工资处理

助教   1

输入有效,不调整工资处理

工程师

输入无效

㈡边界值分析。该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。                      

㈢错误推测。错误推测法没有确定的步骤,凭检验进行。它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。                        

㈣因果图。因果图能有效的检测输入条件的各种组合可能会引起的错误。因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。

在网络中,sendfile命令用来发送一个文件到不同的服务器。Sendfile有三个变量:变量1是发送者根目录的文件名,变量2是接受文件服务器的名称,变量3是接受方的用户useid。如果所有的变量是正确的,那么文件成功发送,否则给发送者返回一个错误信息。如果原因用1代表变量1,2代表变量2,3代表变量3,结果用100代表成功,101代表返回错误信息,请画出因果图并建立因果关系判定表。

软件测试步骤及这些步骤的测试对象

白盒测试(White-box Testing)

白盒测试又称结构测试或逻辑驱动测试,指通过对程序内部结构的分析、检测来寻找问题。白盒测试把程序看成装在一个透明的白盒子里,也就是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件的内部动作是否按照设计说明的规定正常进行。

白盒测试法的逻辑覆盖标准


相关文章
|
7月前
通信原理期末复习——计算大题(一)
通信原理期末复习——计算大题(一)
61 0
通信原理期末复习——计算大题(一)
|
6月前
|
iOS开发
1072 开学寄语 (20 分)
1072 开学寄语 (20 分)
|
7月前
|
存储 数据安全/隐私保护 C++
【期末不挂科-C++考前速过系列P1】大二C++第1次过程考核(3道简述题&7道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P1】大二C++第1次过程考核(3道简述题&7道代码题)【解析,注释】
|
设计模式 JSON 前端开发
软件工程导论期末救急包(中)(二)
软件工程导论期末救急包(中)(二)
|
测试技术 uml 开发者
软件工程导论期末救急包(中)(一)
软件工程导论期末救急包(中)
|
测试技术 开发工具
软件工程导论期末急救包(上)(一)
软件工程导论期末急救包(上)
|
算法 测试技术 项目管理
软件工程导论期末急救包(上)(二)
软件工程导论期末急救包(上)(二)
|
存储 SQL 调度
江苏大学 数据库系统原理 考研复试/期末考试 概念题要点整理
江苏大学 数据库系统原理 考研复试/期末考试 概念题要点整理
218 0
江苏大学 数据库系统原理 考研复试/期末考试 概念题要点整理
|
存储 自然语言处理 算法
第01/90步《番外篇》第1章认识计算机世界第1课~第4课
今天学习《番外篇》第1章认识计算机世界的第1课~第4课内容,了解计算机基础原理及基础概念。没有练习,完成阅读并理解即可。
86 0
|
移动开发 JavaScript 前端开发
第03/90步《番外篇》第1章认识计算机世界第6课
今天学习《番外篇》第1章认识计算机世界的第6课,认识网页开发基础概念。这是这一章的最后1课,学完它代表概念准备阶段完成。
70 0