《软件测试期末复习题.docx》由会员分享,可在线阅读,更多相关《软件测试期末复习题.docx(9页珍藏版)》请在优知文库上搜索。
1、软件测试1、简要说明需求获取活动的过程。(1)收集和应用背景资料,建立初始的知识框架。分析涉众的高层次问题,总结出系统的业务需求。(2)设计一个高层次的解决方案,并确定解决方案需要具备的系统特性。高层次的解决方案和系统特性定义了项目的前景和范围。(3)在项目的业务范围内,需求工程要寻找相关的涉众,并分析和涉众选择。(4)对组织里存在大量的表格、单据等与业务相关的硬数据进行采样,它们是需求获取活动中一个重要的信息来源。(5)针对某一次具体的需求获取活动,要依据项目范围确定主题和内容,涉众特征和硬数据,从而确定信息来源。获取方法通常只有综合内容、来源和系统环境三者才能做出正确的决定。在内容、来源和
2、方法都确定之后,需求工程师就可以开展具体的获取活动,获取用户需求和问题域特性。获取得到的具体信息要记录下来,以获取笔录的形式进行保存。2、简述涉众识别的基本过程。涉众识别的基本过程如下:将初始涉众集中起来,进行一次头脑风暴,尽可能地列出一个涉众类别列表。对上一步产生的涉众类别列表进行分析,判断它们和软件系统的相关性,找出其中的键涉众类别。为上一步的各个关键涉众类别选择代表,集中起来进行进一步的头脑风暴,列出新的涉众类别列表。如果新列出的涉众类别列表趋于稳定,就可以结束涉众识别过程。如果新列出的涉众类别列表有了新的发现,就提交新的涉众类别列表,转向第步。3、比较面谈问题组织的三种结构(1)金字塔
3、结构面谈问题的归纳式组织被看做是金字塔形状。使用这种形式时,会见者以很具体的问题(通常是封闭式的问题)开始,然后逐渐提高问题的开放度,同时允许被会见者用越来越笼统的答案来回答问题。在主动的情况下,如果会见者认为被会见者需要对话题进行预热,可以采用金字塔结构,通过逐步的引导使被会见者进入讨论。在被动的情况下,如果会见者发现自己事先对事实的确认存在较大偏差或者被会见者看上去不情愿讨论某个话题,也可以采用金字塔结构。在某个话题讨论结束的时候,使用金字塔结构的提问顺序也是有用的。(2)漏斗结构在这种结构中,会见者使用演绎的方法,以一般的、开放式的问题开始,然后用封闭式的问题缩小可能的答梵。这种面谈结构
4、可看做是漏斗型。在主动的情况下,漏斗结构为开始一场面谈提供了一种容易而轻松的途径。答复:者即使答错了开放式问题,也不会感到压力。在被动的情况下,当被会见者对话题有情绪,并且需要自由表达这些情绪的时候,需要采用漏斗型提问顺序。或者在会见者事先对事实了解不多时,也应该采用漏斗结构的问题组织方式。使用漏斗结构的一个好处是:用这种方式组织面谈能得出很多的详细信息,以至于没有必要使用长序列的封闭式问题。(3)菱形结构人们在面谈中常常会将上述两种结构结合起来使用,其中菱形结构就是一种最好的结合结果。这种结构以一种非常明确的方式开始,然后考察一般问题,最后得出一个非常明确的结论。会见者首先提出一些简单的、封
5、闭式的问题,为面谈过程做好铺垫。在面谈的中间阶段,向被会见者提出明显没有“正确答案”的一般话题的看法。然后,会见者再次限制问题以获得明确的答免,这样就为会见者和被会见者提供了面谈的结束时机0菱形结构结合了其他两种结构的长处,但是也有缺点,即所花的时间比其他任何一个都长。4、简述软件开发中为何使用原型工具以及使用的好处。因为原型是在终系统产生之前的一个局部真实表现,所以原型方法可以让人们在系统的开发过程中,就能够对一些具体问题进行基于实物的有效沟通,从而帮助人们尽早解决软件开发过程中存在的各种不确定性。不确定性是指人们已经拥有的知识是不充分的,不足以预测将来的事件发展,或者不足以清晰、准确地描述
6、某个事物。实践证明,利用原型有如下好处:及时、有力地响应用户需求的变化。减少返工。帮助控制不完整需求所带来的风险。可以将一个大的难以处理的开发过程细分成一些更小更容易处理的步骤。减少开发成本,提高经济效益。增加开发者之间的交流,帮助确定技术解决方案的可行性。有效地识别风险和解决风险,帮助进行风险管理。提高用户在软件开发中的参与程度。5、试述在需求获取中使用原型方法的主要步骤。在需求获取中使用原型方法的主要步骤包括:确定原型需求。搞清楚为什么要开发原型,拥有的起始点是什么,期望的结束标准是什么?原型开发。依据原型的需求特点和开发目的,选择原型的开发方法和构建技术,建立初始原型。原型评估。对上一阶
7、段产生的原型进行评估,根据评估者的反馈判断原型是否满足结束标准。评估者一般是用户和开发者。原型修正。如果己经建立的原型达到了目的,就结束原型方法过程。否则根据评估者反馈的不足进行原型调整,调整完成后准备再次进行原型评估。6、试比较原型开发方法的三种类型。(1)探索式探索式原型法是以缺陷需求开始继而不断调整和修正需求的原型开发方式。探索式的原型方法通常要尽可能地调整各种设计选项(例如需求内容、软件化内容以及软件支持方式等),并比较多种设计方案下的用户反馈以得到理想的用户需求。探索式的原型方法能够帮助开发者更深入地了解用户的业务、问题和期望。(2)实验式实验式的原型方法初始时拥有清晰的用户需求,但
8、是开发者对这些需求的实现方法、实现效果和可行性没有太大的把握。实验式的原型方法需要首先定义一个对原型的评估方法,确定评估的属性(例如可行性、适用性、效率、吞吐量等),据此评估各种技术方案下的原型,明确需求的可行性和有效的技术实现方案。(3)演化式在演化式的原型方法中,原型的开发并不是一个独立的活动,而是整个项目的持续开发过程中的一个部分。原型开发的初始点既有要求原型化的需求,也有项目积累下来的原型资产。积累下的原型资产所没有实现的需求,往往是清晰的需求。在开发原型时,还要能够以一个整体的方式传递给下一个原型开发过程。这个被不断传递和不断增强的原型资产将成为终的软件系统0通过在持续开发过程中使用
9、原型方法,可以使软件开发过程更好地处理用户需求的不断变动。在探索式、实验式和演化式这三种原型方法中,前两种方法产生的原型往往是在经历了很多次错误的尝试之后才产生的。这些错误的尝试过程会在终的原型产品中留下痕迹,原型中的一些代码是在错误的前提(错误的需求、错误的技术方案)下完成的,它们会使原型产品具有很差的质量,所以人们在得到正确的尝试之后往往会抛弃这些原型产品,另起炉灶。为此,探索式和实验式方法产生的原型产品又被称为抛弃式原型(ThrOWaWayPrototype)。抛弃式原型的贡献不在于它的代码,而是它所包含的内容,它说明了正确的需求和正确的技术方案。因为抛弃式原型的代码是要被抛弃的,所以在
10、建立抛弃式原型时,应该尽量花费小的代价,争取快的速度。为此,原型的开发者会使用一些简易的开发工具和不成熟的构造技术,忽略或简化一些和原型目标不相关的功能特征。7、简述使用DFD描述系统过程模型是必须遵守哪些规则(1)过程是对数据的处理,必须有输入,也必须有输出,而且输入数据集和输出数据集应该存在差异(2)数据流是必须和过程产生关联的,它要么是过程的数据输入,要么是过程的数据输出(3)DFD当中所有的对象都应该有一个可以唯一标识自己的名称。过程使用动词,外部实体、数据流和数据存储使用名词。8、请说明DFD层次结构的建立的主要步骤创建上下文图。发现并建立DFD片断。根据DFD片断组合产生0层图。对
11、0层图的过程进行功能分解,产生N层图。9、简述ERD的创建步骤在获得充分描述信息的情况下,ERD的创建工作可以按照下列步骤进行:从描述信息中辨识实体。从描述信息中寻找系统需要收集和存储的信息,然后将其建模为实体。寻找时,可以重点关注描述信息中的名词,并以系统是否需要收集其相关的特征为依据来判定是否将其建立为独立的实体元素。确定实体的标识符。为每个实体选择能够唯一标识实例且比较稳定的属性为标识符。建立实体之间的关系。从描述信息中辨识实体之间存在的业务联系,描述为独立的关系元素。并判断各个关系的建立是否会产生新的关联实体或者影响已有的实体特性。添加详细的描述信息。在得到一个初步的框架之后,进一步从
12、描述中挖掘信息,为数据模型添加详细的描述信息,包括实体的详细属性和关系的基数。10、请说明为什么要编写需求规格说明文档?(1)编写需求规格说明文档的必要性:在一个复杂软件系统的开发中,编写需求规格说明文档是非常必要的,一方面,清晰、明确、结构化的文档可以将软件系统的需求信息和解决方案更好的传递给所有的开发者。另一方面,文档可以拓展人们的知识记忆能力。(2)编写需求规格说明文档的其他好处:需求规格说明文档可以成为各方人员之间有关软件系统的协议基准。开发者和客户可以使用它作为合同协议的重要部分,涉众也可以利用它在相互间达成一致。需求规格说明文档可以成为项目开发活动的一个重要依据。它可以作为软件估算
13、和项目进度安排的基础,也可以作为开发人员判断设计、测试等工作的进行是否正确的依据。在需求规格说明文档的编写过程中,可以尽早的发现和减少可能的需求错误,从而减少项目的返工,降低项目的工作量。需求规格说明文档可以成为有效的智力资产。这个智力资产可以帮助新加入的团队成员更快的融入项目,可以帮助更好地将软件产品移交给新客户,也可以帮助开发者更好地进行其他类似项目或者后续增强项目的开发。11、简述需求管理的主要作用。增强了项目涉众对复杂产品特征在细节和相互依赖关系上的理解。需求管理将需求基线纳入了项目的知识管理,能够帮助项目涉众更好地获得并理解这些知识,从而增强了项目涉众对需求(尤其是复杂需求)的掌握。
14、增进了项目涉众之间的交流。需求管理为项目涉众提供了一个共同的需求理解,从而有助于项目涉众之间的交流,减少了可能的误解和交流偏差。减少了工作量的浪费,提高了生产力。需求管理能够更加有效地处理需求的变更,减少因此产生的返工工作,从而提高了项目的生产率。准确反映项目的状态,有助于项目决策。需求管理收集的需求跟踪信息能够更加准确地反映项目的进展情况,从而帮助项目管理者更好地掌握项目状态,做出更加符合实际情况的合理决策。改变项目文化,使得需求的作用得到重视和有效发挥。需求管理可以为项目涉众带来很多的好处,使得项目涉众认识到需求在项目工作中的重要性,并依照需求开展工作。12、简述需求管理的重要任务需求管理
15、的重要任务有:交流涉众的需要。将需求应用、实施到解决方案。驱动设计和实现工作。控制变更。将需求分配到子系统。测试和验证终产品.控制迭代式开发中的变化。辅助项目管理。13、简述需求验证的含义、需求验证常用的方法及问题的修正方法14、请按下列描述,画出“食物订货系统”的过程模型图(DFD).食物订货系统主要和3种外部的实体:顾客、管理者和厨房存在交互行为。首先,食物订货系统需要接收顾客的食物订单,并在接收后向顾客呈送一个收条,然后将订单转交系统内部的功能处理。其次,食物订货系统要能够将己经接收的食物订单及时的转交给厨房,这样厨房才能够根据订货的情况进行生产。最后,食物订货系统要能够基于一段时间的事务积累,为管理者提供管理报表,反映组织的生产状况。食物订货系统的内部功能主要有4个。第一个功能是接收顾客的食物订单,向顾客呈送收条,并将订单及时转交厨房,同时启动对订单的后续处理。第二个功能是处理顾客食物订单,根据订单生成并记录食物的销售事务。第三个功能也是处理顾客食物订单,但其目的是根据订单更新库存信息,以保证生成的原材料供应。第四个功能是根据一段时间内的食物销售情况和库存管理情况,生成管理报表,向管理者反映组织的生产状况。在食物订货系统中,食物销售记录和库存记录是为了完成系统的功能(产生管理报表),组食物”华