软件水平考试(中级)软件评测师下午(应用技术)试题模拟试卷8
试题一
针对以下由C语言编写的程序,按要求回答问题。
int main( void ){
int a, b, c, max, min;//1
print(\\
1.请针对上述C程序给出满足100%判定覆盖所需的逻辑条件。
[*]
解析:本小题考查基于结构的测试中基于控制流设计测试用例的判定测试。
判定测试:使得程序中的每个判定语句的取值都要被遍历到。由本题目中共有3个判定,满足100%判定测试覆盖要求,需要使判定的结果为真、为假都至少出现1次。所以满足判定覆盖一共需要6个逻辑条件。
2.请画出上述程序的控制流图,并计算其控制流图的环路复杂度(圈复杂度)V(G)。
控制流图如下图所示:
[*]
V(G)=判定节点数+1=3+1=4
解析:本小题考査根据代码绘制控制流图和环路复杂度(圈复杂度)V(G)的计算。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。
描述程序控制流的一种图示方式,由节点(圈)和定向边(箭头)构成。节点代表一个基本块,定向边代表控制流的方向。其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。
环路复杂度用来衡量一个程序模块所包含的判定结构的复杂程度。环路复杂度等于图中的判定的节点个数加1。图中判定节点个数为3,所以V(G)=3+1=4。
控制流程图的环路复杂性V(G)一共有以下三种方法,但是最后一种最好用,不易出错。
(1)控制流程图中的区域个数。
(2)边数-结点数+2。
(3)判定节点数+1。
3.请给出上一问中控制流图的线性无关路径。
(1)1-2-3-6-7-10;
(2)1-2-3-6-8-10;
(3)1-2-3-6-8-9-10;
(4)1-2-4-5-6-7-10;
解析:本小题考查根据控制流图和环路复杂度给出线性无关路径。
线性无关路径:指包含一组以前没有处理的语句或条件的路径,从控制流图上来看,一条线性无关路径是至少包含条在其他线性无关路径中从未有过的边的路径。
程序的环路复杂度等于线性无关路径的条数,所以本题中有4条线性无关路径,这4条路径组成了上一问中控制流图的一个基本路径集。只要设计出的测试用例能确保这些基本路径的执行,就可以使程序中的每个可执行语句至少执行一次,每个条件的取真和取假分支也能得到测试。需要注意的是,基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。
试题二
某全国连锁饭店实行积分奖励计划,会员每次吃饭消费均可以获得一定积分,积分跟饭店星级和具体消费额度有关,会员分为一般会员和VIP会员,消费1元获得10积分,不足1元的部分自动舍去,具体标准如下表所示。
4.采用等价类划分法对该程序进行测试,等价类表如下表所示,请补充下表中空(1)—(6)。
(1)V
(2)1
(3)正浮点数且最多保留两位小数
(4)Y、V以外的单个字母
(5)非整数
(6)非浮点数
解析:本小题考查黑盒测试用例设计中的等价类划分法。
等价类划分法:把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。
5.根据以上等价类表设计的测试用例如下表所示,请补充下表中空(1)~(9)。
(1)4200
(2)3
(3)400
(4)1,3,14
(5)V
(6)123(非字母)
(7)A(非整数)
(8)123.456(多余两位小数的正浮点数)
(9)N/A
解析:
试题三
【说明】分布式架构系统是若干独立计算机的集合,这些计算机对于使用者来说就像是单个计算机系统。首先分布式架构中的“分布”是相对“集中”而言的。最早的计算机系统是在块微处理器上运行。随着计算机应用范围的不断扩大,软件系统的复杂度随着需要变得越来越高。有些系统必须包含多个微控制器并且这些微控制器上运行的软件需要交互来正确地实现系统的功能。这样的系统,是由分布在各个微处理器上运行的软件合起来构成的。
日常使用的电商网站或通过手机应用访问的电商服务,其背后是由成千上万台独立的服务器组成的集群。由这些计算机上运行的各种服务来为用户提供网上浏览和购物的完整服务和体验。同样,对于使用者,其感知到的是一个网站,是一个电商系统。用户不会意识到或感知到他的某个动作本服务器A上得到了响应,另外一个动作的响应是服务器B提供的。即在用户面前,整个分布式架构系统呈现为单个的计算机系统。
6.通过题干的描述,总结一下分布式系统的特点。
(1)系统内部由多个独立的计算机组成;
(2)系统外部呈现为单个的系统。
解析:
7.每种软件架构都有适用的范围,请分析使用分布式架构软件系统要付出的代价。
(1)额外的复杂性。
(2)接口数量的爆炸增加。
(3)容易出现强耦合导致维护性差。
(4)信息安全的风险。
解析:虽然分布式架构在业务上带来了以上这些好处,但其在系统构造上不得不付出以下代价,如下所示。
(1)额外的复杂性:最主要的代价。但相对其带来的优势,往往这样的代价是可以承受的
(2)接口数量的爆炸增加(当遵循合适的设计原则时能很好地避免)
(3)容易出现强耦合导致维护性差(当遵循合适的设计原则时能很好地避免)
(4)信息安全的风险:需仔细地遵循开发规范和测试,并持续监控
8.分布式架构的应用在进行测试时,涉及到哪些质量目标?并做出简要分析。
在通常的质量要求中,以下要求是分布式架构系统重点关注的四个质量目标:
(1)容量:分布式架构系统的主要目的之一是解决单一系统支持的用户容量不足的问题。故此,对于系统的容量,在既定计算资源的前提下,考察其容量情况是否达到既定要求,以及在增加计算资源的场景下,考察系统容量的增长是否符合预期。
(2)容错:分布式系统最基本的可靠性要求中就至少包含了单个服务范围的容错性要求,即单个服务失效不影响整个系统的业务功能。而普遍的大型业务系统,要求其在多个服务失效或者大并发压力下的系统性容错,即在上述情况下,应确保业务的正常进行或在控制范围内将服务水平进行降级。
(3)响应速度:通常对服务调用的响应速度是分布式架构软件系统在各个场景下的考核指标。
(4)弹性。当并发用户规模发生变化时,系统能及时地、自动地调整其所使用的计算资源。当规模增加时,系统应能自动地增加计算资源,并将服务扩展部署到新增加的计算资源上。反之,系统能自动地释放计算资源,并将服务承载的用户和事务迁移到其他服务上,并确保数据的一致性。
解析:
试题四
【说明】随着人工智能领域的全球竞争越来越激烈,各国都强烈地感受到人工智能技术对人类社会的巨大
本文档预览:3600字符,共5968字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载