题目详情

A公司是一个专业的航空软件开发公司,当前正在为某用户开发某航空嵌入式实时软件,王工是该软件开发项目的负责人。应用户要求,A公司委托乙公司对其开发的航空软件进行第三方测试。张工是乙公司中该测试项目的负责人。 【问题1】王工在与张工讨论该软件的测试计划时,就软件的测试环境产生了争执。张工认为所有的第三方测试工作都必须在目标机环境下完成,否则无法保证测试的有效性。王工认为开发工作进度很紧,而且开发工作需要频繁占用目标机环境,第三方测试在仿真环境下进行就可以了,没有必要非得在目标机环境下测试。请在200字以内对上述两人意见的正确性进行评价与分析,并简述你对本题目中的测试环境问题的建议。 【问题2】 由于该软件是质量要求很高的航空嵌入式实时软件,在双方就签订该软件第三方测试技术协议进行磋商时,A公司要求乙方的第三方测试结构覆盖率必须达到修正的条件判定覆盖(MC/DC)。请分别简述修正的条件判定覆盖MC/DC与条件判定覆盖 (C/DC)对测试用例集的要求条件,下面给出了一个含有两个判定条件的例子,请说明两种覆盖测试用例集的设计方法。 例子: IF A OR B THEN … … ELSE … … ENDIF 【问题3】 张工的项目组根据王工的项目组提供的软件需求文档和设计文档,严格按照协议要求进行了第三方测试,但是软件交付给用户使用后,仍然出了很多问题,用户对软件质量评价不高。王工认为张工项目组没有很好地进行软件第三方测试,张工觉得并无不妥之处,请对这一状况和原因进行分析。

正确答案及解析

正确答案
解析

一、试题分析这是一道关于嵌入式系统软件的测试问题的试题,主要涉及到第三方测试相关问题,以及测试用例的设计。【问题1】对于一般商用软件的测试,嵌入式软件测试有其自身的特点和测试困难。在嵌入式开发中,开发环境被认为是主机平台,软件运行环境为目标机平台。如果所有测试都放在目标机上有很多不利的因素,例如:(1)测试软件可能会造成与开发者争夺时间的瓶颈,为了避免这个问题只有提供更多的目标环境。(2)目标机环境可能还不可行。(3)比起主机平台环境,目标机环境通常是不精密的和不方便的。(4)提供给开发者的目标环境和联合开发环境通常是很昂贵的。(5)开发和测试工作可能会妨碍目标机环境已存在持续的应用。一般情况下:(1)所有单元测试在主机环境上进行。(2)软件集成在主机平台上模拟目标机环境运行,当然在目标环境上重复测试也是必须的。(3)所有的系统测试和确认测试必须在目标机环境下执行。【问题2】第2个问题要求比较修正的条件判定覆盖MC/DC与条件判定覆盖(C/DC),并根据给出的例子分别设计测试用例。控制流测试根据程序的内部逻辑结构设计测试用例,常用的技术是逻辑覆盖,即使用测试数据运行被测程序,考察对程序逻辑的覆盖程度。主要的覆盖标准有语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正的条件/判定覆盖和路径覆盖等。(1)语句覆盖。语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。很显然,语句覆盖是一种很弱的覆盖标准。(2)判定覆盖。判定覆盖也称为分支覆盖,它是指不仅每个语句至少执行一次,而且每个判定的每种可能的结果(分支)都至少执行一次。判定覆盖比语句覆盖强,但对程序逻辑的覆盖程度仍然不高。(3)条件覆盖。条件覆盖是指不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取得各种可能的结果。条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。(4)条件/判定覆盖。同时满足判定覆盖和条件覆盖的逻辑覆盖称为判定/条件覆盖。它的含义是,选取足够的测试用例,使得判定表达式中每个条件的所有可能结果至少出现一次,而且每个判定本身的所有可能结果也至少出现一次。(5)条件组合覆盖。条件组合覆盖是指选取足够的测试用例,使得每个判定表达式中条件结果的所有可能组合至少出现一次。显然,满足条件组合覆盖的测试用例,也一定满足判定/条件覆盖。因此,条件组合覆盖是上述5种覆盖标准中最强的一种。然而,条件组合覆盖还不能保证程序中所有可能的路径都至少遍历一次。(6)修正的条件/判定覆盖。修正的条件/判定覆盖需要足够的测试用例来确定各个条件能够影响到包含的判定结果。首先,每个程序模块的入口和出口点都要考虑至少要被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;其次,程序的判定被分解为通过逻辑操作符(and和or)连接的布尔条件,每个条件对于判定的结果值是独立的。(7)路径覆盖。路径覆盖是指选取足够的测试用例,使得程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路路径至少经过一次)。路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。但路径覆盖并未考虑判定中的条件结果的组合,并不能代替条件覆盖和条件组合覆盖。【问题3】第3个问题的意思是经过了第三方测试后,软件仍然有问题,要求考生回答原因是什么。要注意的一句话:“张工的项目组根据王工的项目组提供的软件需求文档和设计文档,严格按照协议要求进行了第三方测试”,这就说明不是测试本身的问题。既然不是测试本身的问题,那原因是什么呢?第一个可能的原因是,王工提供的文档有问题,或者设计本身有问题;第二个可能的原因是,模拟的测试环境与实际的目标环境存在差异;第三个可能的原因是,软件质量不是靠测试出来的,而是形成于整个软件开发的过程。二、参考答案【问题1】(1)张工和王工的意见都不完全正确。为了节省对目标机环境的争用,测试的很多工作可以在仿真环境下进行;但是为了防止由于仿真环境与目标环境差异带来的测试错误,最终的测试程序必须在目标机环境上重新运行,以查看软件最终在目标环境下的实际运行情况。(2)针对本题所述情况,为了提高开发与测试工作的并行度,张工的项目组可以先在仿真环境下开发和运行测试程序;待王工项目组的代码开发工作完成后,再在目标机环境下完整地运行所有的测试程序。【问题2】(1)对于C/DC,要求测试集满足如下条件:判定中每个条件的真值与假值都至少取一次;同时判定的真值与假值也要求至少取一次。(2)对MC/DC,要求测试集满足如下条件:首先应满足C/DC的测试条件;判定中每个条件的取值都必须独立地影响判定的结果,即在其他条件取值不变的前提下,仅改变这个条件的值,而使判定结果改变。(3)两个判定例子的C/DC测试集设计方法:满足C/DC要求的测试用例集是{TT,FF};说明:因为该测试用例集中,条件A与B分别取了T与F,判定 A OR B,也取了T值(当A=T,B=T时)和F值(当A=F,B=F时)。(4)两个判定例子的MC/DC测试集设计方法:满足MC/DC要求的测试用例集是{FF,TF,FT}说明:C/DC要求的测试用例集是{TT,FF}无法满足MC/DC的要求,条件A与B均没有独立地影响判定的输出结果。【问题3】(1)软件测试的作用是查找软件中存在的问题,但是不能保证软件的正确性。软件正确性需要软件研发的全过程来保证。(2)从本题的情况来看,问题的根源很可能是王工或张工项目组的开发或测试工作中的某些点没有做好,主要原因包括:软件需求规格说明没有全面地反映用户的要求;需求文档和设计文档质量不高;软件代码的质量本身不高,可读性较差;测试用例没有100%覆盖需求;测试和开发人员责任心不够,开发过程控制不到位;软件开发无标准可循,测试人员难以理解。

包含此试题的试卷

你可能感兴趣的试题

问答题

阅读以下关于Web系统架构设计的教述,在答题纸上回答问题1至问题3。

【说明】

某公司拟开发一个智能家居管理系统,该系统的主要功能需求如下:1)用户可使用该系统客户端实现对家居设备的控制,且家居设备可向客户端反馈实时状态;2)支持家居设备数据的实时存储和查询;3)基于用户数据,挖掘用户生活习惯,向用户提供家居设备智能化使用建议。

基于上述需求,该公司组建了项目组,在项目会议上,张工给出了基于家庭网关的传统智能家居管理系统的设计思路,李工给出了基于云平台的智能家居系统的设计思路。经过深入讨论,公司决定采用李工的设计思路。

【问题1】 (8分)

请用400字以内的文字简要描述基于家庭网关的传统智能家居管理系统和基于云平台的智能家居管理系统在网关管理、数据处理和系统性能等方面的特点,以说明项目组选择李工设计思路的原因。

【问题2】 (12分)

请从下面给出的(a) ~ (j) 中进行选择,补充完善图5-1中空(1) ~ (6)处的内容,协助李工完成该系统的架构设计方案。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题

(a) Wi-FI

(b) 蓝牙

?驱动程序

(d)数据库

(e)家庭网关

(f)云平台

(g)微服务

(h)用户终端

(i)鸿蒙

(j)TCP/IP

【问题3】 (5分)

该系统需实现用户终端与服务端的双向可靠通信,请用300字以内的文字从数据传输可靠性的角度对比分析TCP和UDP通信协议的不同,并说明该系统应采用哪种通信协议

查看答案
问答题

某医院拟委托软件公司开发一套预约挂号管理系统,以便为患者提供更好的就医体验,为医院提供更加科学的预约管理。本系统的主要功能描述如下:

(a)注册登录

(b)信息浏览

(c)账号管理

(d)预约挂号

(e)查询与取消预约

(F)号源管理

(g)报告查询

(h)预约管理

(i)报表管理

(j)信用管理

【问题1】 (6 分)

若采用面向对象方法对预约挂号管理系统进行分析,得到如图2-1所示的用例图。请将合适的参与者名称填入图2-1中的(1)和(2)处,使用题干给出的功能描述(a)(j),完善用例(3)(12)的名称,将正确答案填在答题纸上。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题

【问题2】 (10分)

预约人员(患者)登录系统后发起预约挂号请求,进入预约界面。进行预约挂号时使用数据库访问类获取医生的相关信息,在数据库中调用医生列表,并调取医生出诊时段表,将医生出诊时段反馈到预约界面,并显示给预约人员;预约人员选择医生及就诊时间后确认预约,系统反馈预约结果,并向用户显示是否预约成功。

采用面向对象方法对预约挂号过程进行分析,得到如图2-2所示的顺序图,使用题干中给出的描述,完善图2-2中对象(1),及消息(2)~(4)的名称,将正确答案填在普题纸上请简要说明在描述对象之间的动态交互关系时,协作图与顺序图存在哪些区别?

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题

【问题3】 (9分)

采用面向对象方法开发软件,通常需要建立对象模型、动态模型和功能模型,请分别介绍这3种模型,并详细说明它们之间的关联关系,针对上述模型,说明哪些模型可用于软件的需求分析?

查看答案
问答题

阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3。

【说明】

某医药销售企业因业务发展,需要建立线上药品销售系统,为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外,还需要提供当前热销产品排名、评价分类管理等功能。通过对需求的分析,在数据管理上初步决定采用关系数据库(MySQL)和数据库缓存(Redis)的混合架构实现。

经过规范化设计之后,该系统的部分数据库表结构如下所示。

供应商(供应商ID,供应商名称,联系方式,供应商地址);

药品(药品ID,药品名称,药品型号,药品价格,供应商ID);

药品库存(药品ID,当前库存数量);

订单(订单号码,药品ID,供应商ID,药品数量,订单金额)。

【问题1】 (9分)

在系统初步运行后,发现系统数据访问性能较差。经过分析,刘工认为原来数据库规范化设计后,关系表过于细分,造成了大量的多表关联查询,影响了性能。例如当用户查询商品信息时,需要同时显示该药品的信息、供应商的信息、当前库存等信息。

为此,刘工认为可以采用反规范化设计来改造药品关系的结构,以提高查询性能。修改后的药品关系结构为:

药品(药品ID,药品名称,药品型号,药品价格,供应商ID,供应商名称,当前库存数量) ;

请用200字以内的文字说明常见的反规范化设计方法,并说明用户查询商品信息应该采用哪种反规范化设计方法

【问题2】 (9分)

王工认为,反规范化设计可提高查询的性能,但必然会带来数据的不一致性问题。请用200字以内的文字说明在反规范化设计中,解决数据不一致性问题的三种常见方法,并说明该系统应该采用哪种方法。

【问题3】 (7分)

该系统采用了Redis来实现某些特定功能(如当前热销药品排名等),同时将药品关系数据放到内存以提高商品查询的性能,但必然会造成Redis和MySQL的数据实时同步问题。

(1) Redis的数据类型包括String、 Hash、 List、 Set和ZSet等,请说明实现当前热销药品排名的功能应该选择使用哪种数据类型。

(2)请用200字以内的文字解释说明解决Redis和MySQL数据实时同步问题的常见方案

查看答案
问答题

某公司拟开发一套机器学习应用开发平台,支持用户使用浏览器在线进行基于机器学习的智能应用开发活动。该平台的核心应用场景是用户通过拖拽算法组件灵活定义机器学习流程,采用自助方式进行智能应用设计、实现与部署,并可以开发新算法组件加入平台中。在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:

(a)平台用户分为算法工程师、软件工程师和管理员等三种角色,不同角色的功能界面有所不同;

(b)平台应该具备数据库保护措施,能够预防核心数据库被非授权用户访问;

(c)平台支持分布式部署,当主站点断电后,应在20秒内将请求重定向到备用站点;

(d)平台支持初学者和高级用户两种界面操作模式,用户可以根据自己的情况灵活选择合适的模式;

(e)平台主站点宕机后,需要在15秒内发现错误并启用备用系统;

(f)在正常负载情况下,机器学习流程从提交到开始执行,时间间隔不大于5秒;

(g)平台支持硬件扩容与升级,能够在3人天内完成所有部署与测试工作;

(h)平台需要对用户的所有操作过程进行详细记录,便于审计工作;

(i)平台部署后,针对界面风格的修改需要在3人天内完成;

(j)在正常负载情况下,平台应在0.5秒内对用户的界面操作请求进行响应;

(k)平台应该与目前国内外主流的机器学习应用开发平台的界面风格保持一致;

(l)平台提供机器学习算法的远程调试功能,支持算法工程师进行远程调试。

在对平台需求、质量属性描述和架构特性进行分析的基础上,公司的架构师给出了三种候选的架构设计方案,公司目前正在组织相关专家对平台架构进行评估。

【问题1】 (9分)

在架构评估过程中,,质量属性效用树(utility tree)是对系统质属性进行识别和优先级排序的重要工具。 请将合适的质量属性名称域入图1-1中(1)、(2)空白处,并从题干中的(a)-(i)中选择合适的质量属性描述,填入(3)-(6)空白处,完成该平台的效用树。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题

【问题2】 (16分)

针对该系统的功能,赵工建议采用解释器(interpreter)架构风格,李工建议采用管道过滤器(ppe-and-hlter)的架构风格,王工则建议采用隐式调用(implicit invocation)架构风格。请针对平台的核心应用场景,从机器学习流程定义的灵活性和学习算法的可扩展性两个方面对三种架构风格进行对比与分析,并指出该平台更适合采用哪种架构风格

查看答案
问答题

某项目进入详细设计阶段后,项目经理为后续活动制定了如图2所示的网络计划图,图中的“△”标志代表开发过程的一个里程碑,此处需进行阶段评审,模块1和模块2都要通过评审后才能开始修复。

高级信息系统项目管理师,历年真题,《信息系统项目管理师》案例分析真题

项目经理对网络图中的各活动进行了成本估算,估计每人每天耗费的成本为1000元,安排了各活动的人员数量并统计了模块1、模块2的开发和测试活动的工作量(如表2所示),其中阶段评审活动不计入项目组的时间和人力成本预算,如表2所示。

高级信息系统项目管理师,历年真题,《信息系统项目管理师》案例分析真题

[问题1] (3分)

请计算该项目自模块开发起至模块测试全部结束的计划工期。

[问题2] (10分)

详细设计完成后,项目组用了11天才进入阶段评审。在阶段评审中发现:模块1开发已完成,测试尚未开始;模块2的开发和测试均已完成,修复工作尚未开始,模块2的实际工作量比计划多用了3人?天。

(1)请计算自详细设计完成至阶段评审期间模块1的PV、EV、AC,并评价其进度和成本绩效。

(2)请计算自详细设计完成至阶段评审期间模块2的PV、EV、AC,并评价其进度和成本绩效。

[问题3] (8分)

(1)如果阶段评审未作出任何调整措施,项目仍按当前状况进展,请预测从阶段评审结束到软件集成开始这一期间模块l、模块2的ETC(完工尚需成本)(给出公式并计算结果)。

(2)如果阶段评审后采取了有效的措施,项目仍按计划进展,请预测从阶段评审结束到软件集成开始这一期间模块1、模块2的ETC(完工尚需成本)(给出公式并计算结果)。

[问题4] (4分)

请结合软件开发和测试的一般过程,指出项目经理制定的网络计划和人力成本预算中存在的问题。

查看答案

相关题库更多 +