• 【软考软件评测师】2020年下案例分析历年真题


    【软考软件评测师】2020年下案例分析历年真题

    2020下案例分析历年真题第一题(15分)

    阅读下列C程序,回答问题1至问题3。
    【C程序】
    在这里插入图片描述
    【问题1】 (4分)
    请针对上述C程序给出满足100%DC (判定覆盖)所需的逻辑条件。
    【问题2】(8分)
    请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
    【问题3】(8分)
    请给出问题2中控制流图的线性无关路径。

    【问题1我的解答】
    i < in &&…
    idx >=tn ||table==0xFF
    i & 3
    op -ob < on
    一共四个判定条件,满足100%DC (判定覆盖)所需的逻辑条件为8个。
    【问题1标准答案】
    判定覆盖(DC):设计足够的测试用例,使得使程序中的每个判定至少都获得一次“真值”或“假值”。
    本题中有4个判定:
    for(i=0;i=tn ||table[idx]==0xff);
    if(i&3);
    if(op-ob要满足100%的DC,就需要使得4个判定的结果为真、为假都出现过一次,所以需要8个逻辑条件:
    iidx>=tn ||table[idx]==0xff)为真、为假
    i&3为真、为假op-ob
    【问题2标准答案】
    在这里插入图片描述
    控制流程图的环路复杂性 V(G)等于:
    (1)控制流程图中的区域个数。
    (2)边数-结点数+2。
    (3)判定数+1=8
    【问题3标准答案】
    线性无关路径是指包括一组以前没有处理的语句或条件的一条路径。从控制流图来看,一条线性无关路径是至少包含有一条在其他线性无关路径中从未有过的边的路径:
    本题由于主干有分支,所以线性无关路径可能有多种组合。
    1、2、11、12
    1、2、3、11、12
    1、2、3、4、11、12
    1、2、3、4、5、7、12
    1、2、3、4、5、6、7、12
    1、2、3、4、5、6、8、2…
    1、2、3、4、5、6、8、9、2…
    1、2、3、4、5、6、8、9、10、2…

    2020下案例分析历年真题第二题(20分)

    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
    【说明】
    某航空公司考虑到在今年特殊形势下,很多会员无法通过搭乘航班延续之前的会员等级,特推出了“回望升级”活动。对2017年1月1日至2019年12月31日三个自然年度任意连续12/24/36 个月机票消费达到一定金额时,奖励会员相应等级。
    活动规则为:任意连续12/24/36个月机票消费金额达到人民币2.5/4.75/6.75万元及以上,给予银卡会员等级;
    任意连续12/24/36个月机票消费金额达到人民币5/9.5/13.5万元及以上,给予金卡会员等级;
    任意连续12/24/36 个月机票消费金额达到人民币15/28.5/40.5 万元及以上,给予白金卡会员等级。活动规则详见表2-1。
    此外,为了鼓励在官网和官方App购票,针对不同的购票渠道,有不同的奖惩系数。官网购票不奖励不惩罚,官方App购票消费金额按1.2倍计算,第三方购票消费金额按0.8倍计算,详见表2-2。
    在这里插入图片描述
    航空公司开发了一个程序来计算会员在该活动后的奖励等级,程序的输入包括会员在2017年1月1日至2019年12月31日中任意连续12个月最大消费金额A (单位:万元),任意连续24个月最大消费金额B (单位:万元),36个月消费金额C (单位:万元),购票渠道代码D,程序的输出为本次活动奖励等级L。其中,A、B、C为非负浮点数最多保留4位小数,D为正整数且取值为1、2、3之一,L为字母M、S、G、P中之一。
    【问题1】 (4分)
    采用等价类划分法对该程序进行测试,等价类表如表2-3所示,请补充表2-3中空(1)~(4)。
    在这里插入图片描述
    【问题2】(9分)
    根据以上等价类表设计的测试用例如下表所示,请补充表2-4中空(1) ~ (9)。
    在这里插入图片描述
    【问题3】(2分)
    对于本案例的黑盒测试来说,以上测试方法有哪些不足?

    【问题1我的解答】
    1)最多四位小数的非负浮点数✔️
    2)多于四位小数的非负浮点数✔️
    3)1,2,3以外的整数✔️
    4)负整数✔️
    【问题2我的解答】
    1)1,2,3✔️
    2)N/A✖️ 正确答案M
    3)3(或者1,2)✖️正确答案N/A
    4)7,2,3,6✖️正确答案7,2,3
    5)负浮点数✔️
    6)多于四位小数的非负浮点数✔️
    7)非整数✔️
    8)1,2,3以外的整数✔️
    9)负整数✔️(8与9颠倒了)
    【问题3我的解答】
    输出为银卡,金卡,白金卡的测试用例不足。✔️
    【问题3标准答案】
    本题中使用了等价类划分法,只是对输入进行等价类划分,输出都是M,没有考虑其他输出值;
    本题中没有考虑边界取值,而错误往往发生在边界的取值上,因此需要适当考虑采用边界值分析法适当补充测试用例

    2020下案例分析历年真题第三题(20分)

    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
    【说明】
    为了应对疫情防控下的学生返校管理,某高校管理平台新开发紧急疫情管控系统,以有效管理师生员工的活动及身体情况。该系统提供Web和微信小程序两种不同的访问途径。系统主要功能是:
    (1)专职管理人员对基础信息管理和设置。
    (2)师生员工每日信息申报,返校、离校活动申报,所在位置通过定位实时获取。
    (3)对各类人员的活动申请进行审批。
    (4)根据相关审批结果进行门禁控制。
    (5)各级管理人员可对所辖部门的人员申报情况进行查询和统计。
    【问题1】 (7分)
    (1)信息申报采用表单进行实现,输入测试需要测试哪几个方面?
    (2)什么情况下表单中输入的内容可能会传到后台引起安全问题?如何设计测试用例进行输入测试?
    【问题2】(6分)
    系统前端采用HTML5实现,以使用户可以通过电脑和不同移动设备的浏览器进行访问。设计兼容性测试矩阵,对系统兼容性进行测试(不考虑机型)。
    【问题3】(7分)
    申报审批有时间段约束,性能测试时,采用Apdex (应用性能指数)对用户使用该系统的性能满意度进行度量,系统的Apdex指数需要满足基本要求为0.7以上,满足期望要求为0.85以上。
    Apdex量化时,对应用户满意度分为三个区间,通过响应时间阈值(Threshold) T来划分,Apdex的用户满意度区间如下:
    满意: (0, T],让用户感到很愉快
    容忍:(T, 4T],慢了一点,但还可以接受,继续这一应用过程
    失望:高于4T,太慢了,受不了了,用户决定放弃这个应用
    Apdex的计算如下:
    Apdex =(满意的样本数+容忍的样本数/2)/总样本数
    在这里插入图片描述
    请计算本系统的Apdex指数,并说明本系统是否达到要求。

    【问题1我的解答】
    输入测试需要测试的内容:
    1)表单默认值缺省值的确认
    2)表单输入异常值的确认(SQL,JS注入)
    3)表单正常输入时的确认
    4)表单输入不全时的确认
    可以通过等价类划分,边界值,错误推测法来进行设计测试用例。注入SQL测试的时候,表单中输入的内容可能会传到后台引起安全问题。
    【问题1标准答案】
    表单输入测试需要验证:输入域,错误输入是否有错误提示,必填项和选填项。
    Web应用系统在某些情况下接受页面上传的内容,并作为新页面的内容,若输入的内容当中某些输入的功能符号可能会传到后台引起安全问题。在设计测试用例时,在输入域包含HTML,或脚本或SQL功能符号,以测试是否存在XSS脚本和SQL注入等安全问题。
    【问题2我的解答】
    设备:PC,苹果iPhone,安卓,iPad
    浏览器:Edge,IE,火狐,Safari
    【问题2标准答案】
    在这里插入图片描述
    【问题3我的解答】
    150+20/150+70=170/220=0.77
    满足期望要求为0.85以上所以不满足,但满足基本要求
    【问题3标准答案】
    Apdex量化时,对应用户满意度分为三个区间,通过响应时间阈值(Threshold) T来划分,Apdex的用户满意度区间如下:
    满意: (0, T],让用户感到很愉快
    容忍:(T, 4T],慢了一点,但还可以接受,继续这一应用过程
    失望:高于4T,太慢了,受不了了,用户决定放弃这个应用
    Apdex的计算如下:
    Apdex =(满意的样本数+容忍的样本数/2)/总样本数
    结合题干将相关数据带入公式:Apdex =(150+40/2)/220=0.77<0.85
    因此没有到达预期

    2020下案例分析历年真题第四题(20分)

    阅读下列说明,回答问题1至问题3,将解答写在答题纸的对应栏内。
    【说明】
    为了有效控制疫情,需要记录所有人最后一次出行的信息。其中:
    (1)类Travel 记录了一次旅行的基本信息,包括出发地(Source)、 目的地(Des)、15日内是否有境外旅行史(OverSeas) 和15日内是否去过高风险疫区(HighDanArea)。
    (2)类HighTrain 和AirPlane分别表示高铁旅行和飞机旅行,这两个类继承了类Travel的属性和方法。HighTrain 定义了自己的属性车厢号(CaseNo)和座位号(SeatNo)。AirPlane定义了自己的属性座位号( SeatNo)。
    (3)函数checkIso调用Travel 的相关方法读取旅行者的出发地、目的地以及15日内是否有境外和高风险区域
    在这里插入图片描述
    现拟采用面向对象的方法进行测试。
    【问题1】(9分)
    (1)面向对象的测试分为哪几个阶段?
    (2)类Person 和Travel之间是什么关系?
    (3)该关系是否影响测试?
    【问题2】(6分)
    为了更方便函数checkIso的实现,程序员在Person类中增加了属性IsIso和方法checkDan,具体实现如下:
    在这里插入图片描述
    方法checkDan中判断该旅行者是否需要被隔离,并且把结果写入IsIso,在checkIso中直接读取旅行者的IsIso属性值就可以得出结论。
    (1)这种实现方法破坏了面向对象的哪种机制?
    (2)这种问题的测试需要在面向对象测试的哪个阶段实施?
    【问题3】(5分)
    请给出各个类的测试顺序。

    【问题1我的解答】
    1)分析对象,构造对象,操作对象
    2)关联关系
    3)该关系不影响测试
    【问题1标准答案】
    面向对象分析的测试
    面向对象设计的测试
    面向对象编程的测试
    面向对象单元测试
    面向对象集成测试
    面向对象确认和系统测试
    关联关系
    影响测试
    由于Person类调用了Travel类,如果Travel类存在问题,而先测试Person类,同样也会导致Person类产生问题,所以测试Person类之前应该先测试Travel类
    【问题2我的解答】
    1)信息隐藏原则,开闭原则
    2)类树测试
    【问题2标准答案】
    1)破坏了封装机制
    2)在面向对象编程的测试中进行
    在需要修改调用类的属性时应该采用SET方法,直接修改成员属性,破坏了封装机制。
    应在面试对象编程阶段进行测试
    【问题3我的解答】
    Travel,HighTrain,AirPlane,Person,main
    【问题3标准答案】
    本题中:Travel与HighTrain、AirPlance是继承关系,所以先测试Travel类,在测试HighTrain、AirPlance(两个先后顺序可以调整);由于Person调用了Travel作为其成员变量,因此Person应该在Travel类及其子类测试后测试;最后测试main

    2020下案例分析历年真题第五题(20分)

    读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
    【说明】
    某测湿仪用于测量目标物体的相对湿度。该仪器中软件主要完成AD数据采集,并通过数学运算将数据转换为湿度值,在显示终端显示。软件主要包括主程序模块、测湿程序模块、显示程序模块、报警程序模块等。
    程序的主要功能说明如下:
    1.主程序模块判断是否存在按键按下的情况,如果没有按键按下,继续执行1;否则执行2。
    2.如果按下键为“设置键”,则通过“+”键每次增加1或通过“”键每次减少1,设置最高湿度报警值(默认值为70), 再次按下“设置”键进行确认,并通过“+”键或“”键设置最低湿度报警值(默认值为40),再次按下“设置”键进行确认后执行1。
    3.如果按下键为“测湿”键,则读取测湿程序模块送回的目标湿度信息。
    4.将读取的湿度信息与设定的最大值与最小值比较,如果大于等于最大值或小于等于最小值,则执行5;否则向显示程序模块发送显示的湿度信息,并执行6。
    5.调用报警处理程序,并向显示程序模块发送报警信息。
    6.显示程序模块显示湿度过高报警或湿度过低报警或者湿度信息。
    【问题1】(8 分)
    为了测试软件功能,测试人员设计了表5-1所示的测试用例。假定开始执行测试用例时,最高湿度和最低湿度报警值为默认值,请填写该表中的空白(1) ~ (8), 将答案填写在答题纸的对应栏中
    在这里插入图片描述
    在这里插入图片描述
    【问题2】(6分)
    软件的结构覆盖率是度量测试充分性的一种手段,也是度量测试有效性的一种手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标。在实现题目说明的第4条“判断湿度是否在正常范围”的功能时,设计人员采用了下列算法:
    在这里插入图片描述
    请完成表5-2中的(1) ~ (3)空白,指出对上述算法达到100%语句覆盖、100%分支覆盖和100%MC/DC覆盖所需的最少测试用例数目。请将答案填写在答题纸的对应栏中。
    在这里插入图片描述
    **【问题3】(6分) **
    嵌入式软件中通常使用注释率来衡量程序的可维护性,嵌入式软件的注释率一般要求不小于(1)。
    本项目在开发过程中通过测试发现了11个缺陷,在实际使用中用户反馈了1个缺陷,缺陷探测率(DDP)为(2)( 结果保留小数点后1位)。

    【问题1我的解答】
    1)63✔️
    2)50✔️
    3)55✔️
    4)52✔️
    5)63湿度过高报警信息✔️
    6)51✔️
    7)50湿度过低报警信息✔️
    8)50✔️

    【问题2我的解答】
    1)语句覆盖:3✔️
    2)条件覆盖:3✔️
    3)DC覆盖:3✔️

    【问题3我的解答】
    注释率不小于20%✔️
    缺陷率=11/12=91.7%✔️

  • 相关阅读:
    java计算机毕业设计酒店管理系统设计与实现源码+mysql数据库+系统+lw文档+部署
    请按规范写Python
    IBM Spectrum LSF Application Center 提供单一界面来管理应用程序、用户、资源和数据
    Vue组件自定义事件父子
    课程29:.Net Core API限流
    软件设计模式系列之五——建造者模式
    架构与思维:互联网高性能Web架构
    AndroidT(13) -- C plus plus 语言格式的LOG输出(二)
    python(爬虫篇)——Xpath提取网页数据
    iMazing - 将您的 iPhone、iPad 上的音乐图片视频等数据传输备份到 Mac 或 PC 电脑上
  • 原文地址:https://blog.csdn.net/Last_Impression/article/details/126884884