计算机等级考试四级软件工程论述练
习试题
软件测试是软件质量保证的重要措施。测试的目的是在软件投入生产性运行前,应尽可能地发现并排除软件中隐含的各种错误。测试是对软件规格说明、设计和编码的全面和最后的审查。因此,软件测试应贯穿在整个软件开发的全过程。
⑴试陈述软件测试的基本任务和方法。(6分) ⑵简述黑箱测试和白箱测试的内容和方法。(10分)
⑶陈述软件测试过程的基本组成,并介绍各种测试对象的测试内容和方法(15分)
答案:(1)软件测试是软件开发过程中的重要阶段,是软件质量保证的重要手段.其任务可归纳为三个方面:
1)预防软件发生错误 2)发现改正程序错误 3)提供错误诊断信息
目前,软件测试的方法有三种:动态测试,静态测试和正确性证明. (2)黑箱测试是一种功能测试,测试时完全不考虑程序内部细节,结构和实现方式,仅检验程序结果与说明书的一致性.测试实例设计完全以说明书为准.黑箱测试不关心程序内部的逻辑,而只是根据程序的功能说明来设计测试用例.在使用黑箱法时,手头只需要有程序功能说明就可以了.黑箱法分以下几种:等价分类法.边缘值分析法,因果图法,错误推测法。
白箱测试是一种结构测试,它与程序内部结构相关,要利用程序结构的实现细节知识设计测试实例.它将涉及程序设计风格,控制方法,潭语句,数据库设计,编码细节.白箱测试时将包括:
1)语句测试――要求程序中每个语句最少检查一次. 2)分支测试――要求程序中每个分支路径最少检查一次. 3)路径测试――要求程序中每条路径最少检查一次.
白箱测试考虑的是测试实例对程序内部逻辑的覆盖程度.为了衡量测试的覆盖程度,需要建立一些标准.覆盖程序从低到高分别为:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组全覆盖.
(3) 1)单元测试
通过测试发现该模块单元的子程序或过程的实际功能与该模块的功能和接口的描述是否相符,以及是否有编码错误存在.
2)集成测式
集成测试是在组装软件模块的同时,进行测试以查找与接口有关的错误.组装模块的过程可以分为自顶向下组装法和自底向上组装法.
3)有效性测试
有效性测试是指:当软件的运行达到了用户的期望时,则认为软件是有效的. 4)系统测试
系统测试是指将软件系统与硬件,外设或其他系统元素结合在一起,对整个软件系统进行测试.
5)验收测试
系统测试通过后,用户根据合同进行验收测试,确定系统功能和性能的可接受性.
2.(2000年)
原型化方法或称快速原型化方法是一种当前常用的软件工程方法,尽管其特征民传统的结构化生命周期法有所不同,但从原型化方法的演变仔细分析,仍可看出它与结构化方法的内在联系,试回顾两种方法的发展特征和演进历史并论述下述问题:
(1)两种方法的基本特征和内在联系。(14分) (2)结构化生命周期方法的优点及其适应对象。(8分) (3)实施快速原型法的前提和条件。(8分) 答案:
(1)结构化方法的基本特征:是一类预先严格定义需求的方法,它强调用户需求第一,并在需求分析报告中即基本冻结了用户的需求,其开发的阶段划分,文档的规范都基于需求定义的`明确。
快速原型方法的基本特征:是一类动态定义需求的方法,它强调快速获取用户基本需求,快速建立需求模型,并与用户交互,迭代并修改和完善模型.
两种方法间的联系:结构化方法实施的过程,培养了一批熟悉业务,掌握领域知识的人员,他们是实施原型化的理想人员;结构化方法实施中形成了一批软件开发工具.它们使快速开发原型系统成为可能;结构化方法的应用积累了一批原型系统,为原型化方法实施提供了基础;原型化方法是一类需求定主的快速方法,一旦需求定义明确;即可实施严格的结构化方法.
(2)结构化生命周期方法的主要优点是:方法强调需求分析的重要性,即体现软件开发中用户至上的原则;开发过程的阶段划分,各阶段的具体任务明确;各阶段有具体的描述工具易于掌握;强调文档的重要性,并给出文档的内容和格式,因此方法具有易操作性,是软件开发人员应该掌握的基本方法.
结构化方法更适合于需求能够预先明确定义的软件系统,如系统软件或某些实时控制软件等.
(3)实施快速原型法的基本前提条件一般是:有高水平的实施原型化的人员,他们掌握工具,了解业务,能快速获取用户需求;有快速建造模型系统的工具,二者缺一不可.有相应原型系统的积累可加速实施,但不是实施原型化方法的前提. 3.(2001年)
软件产品生产周期长、耗资巨大,必须特别注意保证质量,而通常保证软件质量的措施可归为四方面,即复审、复查、管理复审和测试,不同的方面反映了软件质量保证措施中的不同需要,试回答以下问题并适当加以阐述:
(1)、复审、复查、管理复审和测试各自包括的具体内容是什么,它在哪些方面对软件质量的保证产生了作用?(12分)
(2)、软件复审和软件测试之间有什么联系,又有什么差别?各自有什么侧重?(6分)
(3)、软件测试的目的是什么,对其具体的内容和实现过程做―扼要陈述,无需对测试方法做出介绍、(12分)
答案:
本题主要考查考生对软件质量保证措施的全面了解程度。软件质量保证措施除了常规的对编码进行测试外,还有软件生命周期阶段成果的复审,对各阶段文