等级考试公共基础考点分析之软件工程基础(4) |
|
www.nanhushi.com 佚名 不详 |
考点16 设计准则 设计准则包括如下几点: (l)提高模块独立性; (2)模块规模适中; (3)深度、宽度、扇出和扇入适当; (4)使模块的作用域在该模块的控制域内; (5)应减少模块的接口和界面的复杂性; (6)设计成单入口、单出口的模块; (7)设计功能可预测的模块。 考点17 详细设计 详细设计主要确定每个模块具体执行过程,也称过程设计。详细设计的结果基本上决定了最终的程序代码的质量。 详细设计的常用工具有: (1)程序流程图、N一民PAD和HIPO; (2)判定表; (3)PDL(伪码)。 1程序流程图 程序流程图是一种传统的、应用广泛的、_巨有争议的软件设计表示工具。它用方框表示一个处理步骤,菱形代表一个逻辑条件,箭头表示控制流。 程序流程图的5种控制结构 (1)顺序型; (2)选择型; (3)先判断重复型; (4)后判断重复型; (5)多分支选择型。 程序流程图的主要缺点如下: (l)程序流程图从本质上不支持逐步求精,它诱使程序员过早地考虑程序的控制流程,不去考虑程序的全局结构; (2)程序流程图中用箭头代表控制流,使得程序员不受任何约束,可以完全不顾结构化设计的原则,随意转移控制; (3)程序流程图不易表示数据结构; (4)程序流程图的每个符号对应于源程序的一行代码,对于提高大型系统的可理解性作用甚微。 2N-S图 为了避免流程图在描述程序逻辑时的随意性与灵活性,1973年Nossi和Shneiderman提出了用方框图代替传统的程序流程图,引起了人们的重视,人们也把这种图称为N-S图。方框图中仅含5种基本的控制结构,即顺序型、选择型、多分支选择型、WHILE重复型和UNTIL重复型。 在方框图中,每个处理步骤都是用一个盒子来表示的,这些处理步骤可以是语句或语句序列,在需要时,盒子中还可以嵌套另一个盒子,嵌套深度一般没有限制,只要整张图可以在一张纸上容纳下就行。 N-S图有以下特点: (l)每个构件具有明确的功能域; (2)控制转移必须遵守结构化设计要求; (3)易于确定局部数据和(或)全局数据的作用域; (4)易于表达嵌套关系和模块的层次结构。 3 PAD图 PAD是问题分析图(Problem Analysis Diagram)的英文缩写。它是继流程图和方框图之后,由日本的二村良彦等人在1979年提出的又一种主要用于描述软件详细设计的图形表示下具。与方框图一样,PAD也只能描述结构化程序允许使用的几种基本结构、PAD图的一个独特之处在于,以PAD为基础,遵循一个机械的规则就能方便地编写出程序,这个规则称为走树(free Walk)。 PAD图的基本图符表示5种基本控制结构 PAD图有以下特征: (1)结构清晰,结构化程度高; (2)易于阅读; (3)最左端的纵线是程序主千线,对应程序的第一层结构;每增加一层PAD图向右扩展一条纵线,故程序的纵线数等于程序的层次数; (4)程序执行从PAD图最左主干线上端结点开始,自上而下、自左向右依次执行,程序终止于最左主干线。 4 PDL PDL又称伪码(Pseudo一code),它是一种非形式化的比较灵活的语一言,实际上PDL语言是对伪码的-种补充、它借助于某些高级程序语一言的控制结构和一些自然语言的嵌套。一般说来,伪码的语法规则分成外语法和内语法外语法应当符合一般程序设计语言常用的程序语句的语法规则;而内语法是没有定义的,它可以用自然语言的一些简洁的句子、短语和通用的数学符号来描述程序应该执行的功能。 用PDL表示的基本控制结构的常用词汇如下: 顺序:A/A END 条件:IF/THEN/ELSE/ENDIF 循环:DO WHILE/ENDDO 循环:REPEAT UNTIL/ENDREPEAT 分支:CASE OF,/WHEN/SELECT/WHEN/SELECT/ENDCASE PDL具备以下特征: (1)有为结构化构成元素、数据说明和模块化特征提供的关键词语法; (2)处理部分的描述采用自然语言语法; (3)可以说明简单和复杂的数据结构; (4)支持各种接口描述的子程序定义和调用技术。 3.4 软件的测试 考点18 软件测试的目的和准则 1软件侧试的目的 (l)软件测试是为了发现错误而执行程序的过程; (2)一个好的测试用例能够发现至今尚未发现的错误; (3)一个成功的测试是发现了至今尚未发现的错误。 2软件侧试的准则 (l)所有测试都应追溯到需求; (2)严格执行测试计划,排除测试的随意性; (3)充分注意测试中的群集现象; (4)程序员应避免检查自己的程序; (5)穷举测试不可能; (6)妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。 考点19 软件测试技术与方法 在软件生命周期的各个阶段,都有可能会产生差错,虽然在每个阶段结束之前都有严格的复审,以期能尽早地发现错误。但是,经验表明审查并不能发现所有差错。如果在软件投入生产性运行之前,没有发现纠正软件中的大部分错误,则这些错误迟早会在运行过程中暴露出来,甚至会造成严重的后果。
测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。软件测试是对软件规格说明、设计和编码的最后复审,所以软件测试贯穿在整个软件开发期的全过程。测试是为了发现程序中的错误而执行程序的过程。好的测试方案是尽可能地发现至今尚未发现的错误,显然,成功的测试是发现至今尚未发现的错误。 1静态侧试与动态侧试 (l)静态测试一般是指入工评审软件文档或程序,借以发现其中的错误。由于被评审的文档或程序不必运行,所以称为静态的。 静态测试包括代码检查、静态结构分析、代码质量度量等。 (2)动态测试是指通常的上机测试,这种方法是使程序有控制地运行,并从多种角度观察程序运行时的行为,以发现其中的错误。测试是否能够发现错误取决于测试实例的设计。动态测试的设计测试实例方法一般有两类:黑盒测试方法和白盒测试方法。 2白盒侧试方法与侧试用例设计 自盒测试法即结构测试,它与程序内部结构相关,要利用程序结构的实现细节设计测试实例。它将涉及程序设计风格、控制方法、源语句、数据库设计、编码细节。使用白盒测试法需要了解程序内部的结构,此时的测试用例是根据程序的内部逻辑来设计的,如果想用白盒测试法发现程序中的所有错误,则至少必须使程序中每种可能的路径都执行一次。 白盒测试法主要有逻辑覆盖、基本路径测试等。 (l)逻辑覆盖测试。泛指一系列以程序内部的逻辑结构为基础的测试用例设计技术。通常所指的程序中的逻辑表示有判断、分支、条件等几种表示方式。 ①语句覆盖。语句覆盖是一个比较弱的测试标准,它的含义是,选择足够的测试实例,使得程序中的每个语句都能执行一次。 ②路径覆盖。执行足够的测试用例,使程序中所有的可能路径都至少经历一次。 ③判定覆盖。设计足够的测试实例,使得程序中的每个判定至少都获得一次“真 值”和“假值”的机会。 判定覆盖要比语句覆盖严格,因为如果每个分支都执行过了,则每个语句也执行过了。 ④条件覆盖。对于每个判定中所包含的若干个条件,应设计足够多的测试实例,使得判定中的每个条件都取到“真”和“假”两个不同的结果。条件覆盖通常比判定覆盖强,但也有的测试实例满足条件覆盖而不满足判定覆盖。 ⑤判断一条件覆盖设计足够多的测试实例,使得判定中的每个条件都能取得各种可能的“真”和“假”值,并且使每个判定都能取到“真”和“假”两种结果。 (2)基本路径测试。它的思想和步骤是,根据软件过程性描述中的控制流程确定程序的环路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试用例对每一条独立执行路径进行测试。 3黑盒侧试方法与侧试用例设计 黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明就可以了。黑盒测试法分等价类划分法、边界值分析法和错误推测法。 (1)等价类划分法是一种典型的黑盒测试方法它是将程序的所有可能的输入数据划分成若干部分,然后从每个等价类中选取数据作为测试用例。 使用等价类划分法设计测试方案,首先要划分输入集合的等价类。等价类包括: ①有效等价类:合理、有意义的输入数据构成的集合。 ②无效等价类:不合理、无意义的输入数据构成的集合。 等价类划分法实施步骤分为两步: ①划分等价类; ②根据等价类选取相应的测试用例。 划分等价类的常用几条原则是: ①若输入条件规定了确切的取值范围,则可划分出一个有效等价类和两个无效等价类; ②若输入条件规定了输入值的集合,可确定一个有效等价类和一个无效等价类; ③若输入条件是一个布尔量,则可确定一个有效等价类和一个无效等价类; ④若输入数据是一组值,且程序要对每个值分别处理,可为每个输入值确定一个有效等价类和一个无效等价类; ⑤若规定了输入数据必须遵守一定规则,则可确定一个有效等价类和若干个无效等价类; ⑥若已划分的等价类中各元素在程序中处理方式不同,须将该等价类进一步划分。 (2)边界值分析法。是对各种输入、输出范围的边界情况设计测试用例的方法。实践证明,程序往往在处理边缘情况时出错,因而检查边缘情况的测试实例查错率较高,这里边缘情况是指输入等价类或输出等价类的边界值。 边界值分析法要注意如下几点: ①如果输入条件规定了取值范围或数据个数,则可选择正好等于边界值、刚刚大于、或刚刚小于边界范围内和刚刚超越边界外的值进行测试; ②针对规格说明的每个输入条件,使用上述原则; ③对于有序数列,选择第一个和最后一个作为测试数据。 (3)错误推测法。测试人员也可以通过经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的例子。 错误推测法在很大程度依靠直觉和经验进行,它的基本想法是列出程序中可能有的错误和容易发生错误的特殊情况,并且根据它们选择测试方案。
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: 等级考试公共基础考点分析之软件工程基础(5) 下一篇文章: 等级考试公共基础考点分析之软件工程基础(3) |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|