2.表格工具:包括判定表和判定树;
3.语言工具:包括PDL语言。① PDL虽然不是程序设计语言,但是它与高级程序设计语言非常类似,只要对PDL描述稍加变换就可变成源程序代码,因此,它是详细设计阶段很受欢迎的表达工具;
② 用PDL写出的程序,既可以很抽象,又可以很具体。因此,容易实现自顶向下逐步求精的设计原则;
③ PDL描述同自然语言很接近,易于理解;
④ PDL描述可以直接作为注释插在源程序中,成为程序的内部文档,这对提高程序的可读性是非常有益的。
PDL的缺点是不如图形工具那样描述形象直观,对复杂条件的描述,不如判定表清晰、简单,因此常常将PDL描述与一种图形描述工具结合起来使用。
四、应用题1. 将如图7-17所示的程序流程图转换成用盒图和PAD图来表达,并计算一下它的环形复杂度。
图7-17
2.将下面的伪码表示转换为PAD图。
Begin S1;
If x>5 then s2 Else s3;
While y<0 do begin
If z>3 then s4 Else s5;
While w>0 then s6; end;
s8;
if u>0 then s9; s10; end; 3.“某航空公司规定乘客可以免费托运不超过30公斤的行李,当超过30公斤时,对头等舱的国内乘客超重部分收费4元/公斤,对其他舱的国内乘客超重部分收费6元/公斤,对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一倍。”请分别用判定表和判定树表达上述的描述。
第9章 信息系统的测试
一、 名词解释
测试、 为了发现程序中的错误而执行程序的过程。 动态测试 指通过运行程序发现错误
白盒测试、 该方法把测试对象看作一个打开的盒子, 测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。 黑盒测试、 该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在系统的接口处进行测试,依据需求说明书,检查程序是否满足功能要求。 调试、指在成功地进行了测试之后,进一步诊断和改进程序中存在的错误过程。
系统可靠性 是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。 逻辑覆盖 是以程序内部的逻辑结构为基础的设计测试用例的技术 三、简答题
1.系统测试的目标是什么?有哪些基本原则? l 从用户的角度出发,普遍希望通过系统测试暴露系统中隐藏的错误和缺陷,以考虑是否可接受该产品。
2 从系统开发者的角度出发,则希望测试成为表明系统产品中不存在错误的过程,验证该系统已正确地实现了用户的要求,确立人们对系统质量的信心。 (1)应该把“尽早地和不断地进行系统测试”作为系统测试者的座右铭。 (2)程序员或程序设计机构应避免测试自己设计的程序。
(3)测试用例的设计不仅要有输入数据,还要有与之对应的预期结果。 (4)测试用例的设计不仅要有合法的输入数据,还要有非法的输入数据。 (5)要充分注意测试过程中的群集现象。
2.黑盒测试与白盒测试有何区别?各有哪些具体的测试方法?
等价类划分法、边界值分析法、错误推测法和因果图法 逻辑覆盖和基本路径测试 3.系统测试分成几个阶段?各阶段的任务是什么? 1 所谓单元是指程序中的一个模块或一个子程序,它是程序中最小的独立编译单位。因此,单元测试也称模块测试,有时也叫逻辑测试或结构测试。 2 集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统而进行的测试,故也称组装测试或联合测试 3 确认测试也称为验收测试或有效性测试,它的目标是使用实际数据进行测试,从而验证系统是否能满足用户的实际需要,验证系统的有效性 4 系统测试是把通过确认测试的系统,作为基于计算机系统的一个整体元素,与整个系统的其他元素结合起来,在实际运行环境下,对计算机系统进行一系列的集成测试和有效性测试。
4.非渐增式方法和渐增式方法有什么区别?
(1) 非渐增式方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试把单元测试与集成测试合在一起,同时完成。 (2) 非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。
(3) 渐增式可以较早地发现接口之间的错误,非渐增式只有到最后组装时才能发现。 (4) 渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐增式发现接口错误被推迟到最后,而且很难判断是哪一部分接口出错。
(5) 渐增式测试比较彻底,已测试的模块和新的模块组装在一起又接受测试。 ? (6) 非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型系统很有意义。 6.α测试和β测试有何区别?
α测试是由一个用户在开发环境下进行测试,也可以是开发机构内部的人员在模拟实际操作环境下进行的测试。测试的关键在于尽可能逼真地模拟实际运行环境和用户对系统产品的操作,并尽最大努力涵盖所有可能的用户操作方式。可见,α测试是在一个受控制环境下的测试。 β测试是由系统的多个用户在一个或多个用户的实际使用环境下进行的测试。与α测试不同的是,开发者一般不在现场。因此,β测试是系统不在开发者控制的环境下的“活的”应用。
7.使用等价类划分法进行测试有哪些步骤? (1) 为每一个等价类规定一个唯一编号;
(2) 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
(3) 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。 8.边界值分析法
经验表明,处理边界情况时程序最容易发生错误。例如,许多程序错误出现在下标、纯量、数据结构和循环等等的边界附近。因此,设计使程序运行在边界情况附近的测试方案,暴露出程序错误的可能性更大一些。
再如,在做三角形设计时,要输入三角形的3个边长A、B和C。这3个数值应当满足A>0,B>0,C>0,A+B>C,A+C>B,B+C>A,才能构成三角形。但如果把6个不等式中的任何一个“>”错写成“≥”,那个不能构成三角形的问题恰出现在容易被疏忽的边界附近。
使用边界值分析方法设计测试方案首先应该确定边界情况,这需要经验和创造性,通常输入等价类和输出等价类的边界,就是应该着重测试的程序边界情况。选取的测试数据应该刚好等于、刚刚小于和刚刚大于边界值。也就是说,按照边界值分析法,应该选取刚好等于、稍小于和稍大于等价类边界值的数据作为测试数据,而不是选取每个等价类内的典型值或任意值作为测试数据。
通常设计测试方案时总是联合使用等价类划分和边界值分析两种技术。
9.测试的综合策略是什么?
(1)在任何情况下都应使用边界值分析法,用这种方法设计的用例暴露程序错误能力强。设计用例时,应该既包括输入数据的边界情况又包括输出数据的边界情况。 (2)必要时用等价类划分方法补充一些测试用例。 (3)再用错误推测方法补充一些测试用例。
(4)对照程序逻辑,检查已设计测试用例的逻辑覆盖标准,如果没有达到要求的覆盖标准,应当再补充足够的测试用例。
(5)如果需求说明中含有输入条件的组合情况,则一开始就可使用因果图法。
10.调试和测试有什么不同?它们各有什么用途? 四、应用题
1.如图9-18所示的程序有4条不同的路径。分别表示为L1(a→c→e)、L2(a→b→d)、L3(a→b→e)和L4(a→c→d),或简写为ace、abd、abe及acd。由于覆盖测试的目标不同,逻辑覆盖方法可以分为语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖。
第10章 信息系统的维护
一、 名词解释
系统维护 1.程序的维护 2.数据文件的维护 3.代码的维护 4.硬件的维护
系统可维护性、 维护人员理解、改正、改动和改进这个系统的难易程度。 维护的副作用 指由于修改而导致的错误或其它多余动作的发生。 维护类型 改正性、适应性、完善性和维护性四种类型 维护过程 (1) 制定维护申请报告;
(2) 审查申请报告并批准;? (3) 进行维护并做详细记录;?
(4) 复审。 三、简答题
3.系统维护的策略有哪些? 1.降低改正性维护成本的策略 2.降低适应性维护成本的策略 3.降低完善性维护成本的策略
5.系统的可维护性与哪些因素有关?在系统开发过程中应采取哪些措施提高系统的可维护性?
1)可理解性 2)可测试性 3)可修改性 1.建立系统质量目标和优先级
2.使用提高系统质量的技术和工具 3.进行明确的质量保证审查
4.选择可维护性好的程序设计语言 5.改进程序的文档
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育2014信息系统考试复习资料 (2)全文阅读和word下载服务。
相关推荐: