您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程测试题及答案
一、单项选择题(5*9)●UML中关联的多重度是指__(1)__。A.一个类有多少个方法被另一个类调用B.一个类的实例能够与另一个类的多少个实例相关联C.一个类的某个方法被另一个类调用的次数D.两个类所具有的相同的方法和属性●已知3个类A、B和C,其中类A由类B的一个实例和类C的1个或多个实例构成。能够正确表示类A、B和C之间关系的UML类图是_(2)A_。●采用UML进行软件建模过程中,类图是系统的一种静态视图,用(3)可明确表示两类事物之间存在的整体/部分形式的关联关系。A.依赖关系B.聚合关系C.泛化关系D.实现关系●内聚性和耦合性是度量软件模块独立性的重要准则,软件设计时应力求(4)。A.高内聚,高耦合B.高内聚,低耦合C.低内聚,高耦合D.低内聚,低耦合●在UML语言中,下图中的a、b、c三种图形符号按照顺序分别表示(5)。abcA.边界对象、实体对象、控制对象B.实体对象、边界对象、控制对象C.控制对象、实体对象、边界对象D.边界对象、控制对象、实体对象●在下面的用例图中,X1、X2和X3表示(6),已知UC3是抽象用例,那么X1可通过(7)用例与系统进行交互。并且,用例(8)是UC4的可选部分,用例(9)是UC4的必须部分。(6)A.人B.系统C.参与者D.外部软件(7)A.UC4、UC1B.UC5、UC1C.UC5、UC2D.UC1、UC2(8)A.UC1B.UC2C.UC3D.UC5(9)A.UC1B.UC2C.UC3D.UC544A45C46D47B32C35B对于右侧的程序流程,当采用语句覆盖法设计测试案例时,至少需要设计个测试案例。A.1B.2C.3D.437B下面有关测试的说法正确的是___。A.测试人员应该在软件开发结束后开始介入B.测试主要是软件开发人员的工作C.要根据软件详细设计中设计的各种合理数据设计测试用例D.严格按照测试计划进行,避免测试的随意性为验证程序模块A是否正确实现了规定的功能,需要进行(1);为验证模块A能否与其他模块按照规定方式正确工作,需要进行(2)。(1)A.单元测试B.集成测试C.确认测试D.系统测试(2)A.单元测试B.集成测试C.确认测试D.系统测试系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。__不是系统测试的内容。A.路径测试B.可靠性测试C.安装测试D.安全测试一个项目为了修正一个错误而进行了变更,但这个错误被修改后,却引起以前可以正确运行的代码出错。最可能发现这一问题。A.单元测试B.接受测试C.安装测试D.回归测试二、综合题(5*4+5*4+15)阅读下列说明以及图3-1和图3-2,回答问题1、问题2和问题3,将解答填入答题纸的对应栏内。[说明]某电话公司决定开发一个管理所有客户信息的交互式网络系统。系统的功能如下:1.浏览客户信息:任何使用Internet的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。输入X和YX>0Y=Y+XY=Y-XY>0X=1否是否是X=-12.登录:电话公司授予每个客户一个帐号。拥有授权帐号的客户,可以使用系统提供的页面设置个人密码,并使用该帐号和密码向系统注册。3.修改个.人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。4.删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。系统采用面向对象方法进行开发,在开发过程中认定出的类如下表所示:编号类名描述1InternetClient网络用户2CustomerList客户信息表,记录公司所有客户的信息3Customer客户信息,记录单个客户的信息4CompanyCustomer公司客户5InternalClient公司的管理人员[图3-1][问题1]在需求分析阶段,采用UML的用例图(usecasediagram)描述系统功能需求,如图3-1所示。请指出图中的A、B、C和D分别是哪个用例?A:浏览客户信息B:修改个人信息C:登录D:删除客户信息[问题2]在UML中,重复度(Multiplicity)定义了某个类的一个实例可以与另一个类的多少个实例相关联。通常把它写成一个表示取值范围的表达式或者一个具体的值。例如图3-2中的类InternetClient和CustomerList,InternetClient端的“0..*”表示:一个Custo~erList的实例可以与0个或多个InternetClient的实例相关联;CustomerList端的“1”表示:一个InternetClient的实例只能与一个CustomerList的实例相关。请指出图3-2中(1)到(4)处的重复度分别为多少?(1)1(2)0..*(3)0..1(4)0..1[问题3]类通常不会单独存在,因此当对系统建模时,不仅要识别出类,还必须对类之间的相互关系建模。在面向对象建模中,提供了四种关系:依赖、泛化、关联和实现。请分别说明这四种关系的含义,并说明组合和聚集之间的主要区别。1)4种关系的含义:依赖表示类之间的使用关系。泛化表示一般类和特殊类之间的关系。关联和聚集都表示实例之间的结构关系。(2)组合和聚集的区别:组合是一种更强形式的关联,代表整体的组合对象有管理它的部分对象的特有责任。聚集是一种特殊的关联,它表示整体/部分关系。练习【说明】某指纹门禁系统结构如图3-1所示,其主要部件有:主机(MainFrname)、锁控器(LockController)、指纹采集器(FingerReader)和电控锁(Lock)。1)系统中的每个电控锁都有一个惟一的编号。锁的状态有两种:“已锁住”和“未锁住”。2)在主机上可以设置每把锁的安全级别以及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级别并且锁处于“已锁住”状态时,才能将锁打开。3)用户的指纹信息、开锁权限以及锁的安全级别都保存在主机上的数据库中。4)用户开锁时,只需按一下指纹采集器。指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹并将指纹信息发送到主机,主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于“已锁住”状态,则将锁打开;否则系统报警。图3-2是该系统类图的一部分;系统的动态行为采用UML序列图表示,图3-3是用户成功开锁的序列图。依据上述说明中给出的词语,将图3-3中的(1)~(5)处补充完整。(1)中断事件(2)读取用户指纹(3)读取用户开锁权限(4)读取锁的安全级别(5)判断用户是否有权限开锁或用户是否可以开锁【问题1】(6分)图3-2是该系统类图的一部分,依据上述说明中给出的术语,给出类Look的主要属性。【问题2](5分)依据上述说明中给出的词语,将图3-3中的(1)~(5)处补充完整。【问题3】(4分)组装(Composition)和聚集(Aggregation)是UML中两种非常重要的关系。请说明组装和聚集分别表示什么含义?两者的区别是什么?[问题1]锁的编号、安全级别、锁的当前状态[问题2](1)中断事件(2)读取用户指纹(3)读取用户开锁权限(4)读取锁的安全级别(5)判断用户是否有权限开锁或用户是否可以开锁[问题3]组装和聚集都表示实例之间的整体/部分关系。组装是聚集的一种形式。聚集是概念性的,只是区分整体与部分。组装具有很强的归属关系,而且整体与部分的对象生存周期是一致的。或者回答:如果没有成分对象,组装对象也不存在;在任何时候,每个给定的成分对象只能是组装对象的组成部分。【说明】已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。连接电脑的过程中还可自动完成充电。关于唱片,还有以下描述信息:1.每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。只有两首歌曲的这三部分信息完全相同时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。2.每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。3.每条音轨都有一个开始位置和持续时间。一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么(如果存在的话)。根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表3-1所示的类列表、如图3-1所示的初始类图以及如图3-2所示的描述播放器行为的UML状态图。表3-1类列表类名说明Artist艺术家Song歌曲Band乐队Musician歌手Track音轨Album唱片问题1】(3分)根据说明中的描述,使用表3-1给出的类的名称,给出图3-1中的A~F所对应的类。【问题2】(6分)根据说明中的描述,给出图3-1中(1)~(6)处的多重度。【问题3】(4分)图3-1中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多重度。类多重度【问题4】(2分)根据图3-2所示的播放器行为UML状态图,给出从“关闭”状态到“播放”状态所经过的最短事件序列(假设电池一开始就是有电的)。[问题1]A:ArtistB:SongC:BandD:MusicianE:TrackF:Album[问题2](1)0..*(2)2..*(3)0..1(4)1..*(5)1..*(6)1[问题3]类多重度Track或E0..1Track或E0..1【问题4】按任意键,选择歌曲(1)state==CLOSED||state==CLOSING(2)state==OPENING||state==STAYOPEN(3)state==OPEN(4)state.click()(5)state.timeout()(6)state.complete()(7)door.setState(door.OPENING)
本文标题:软件工程测试题及答案
链接地址:https://www.777doc.com/doc-2011450 .html