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

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%覆盖需求;测试和开发人员责任心不够,开发过程控制不到位;软件开发无标准可循,测试人员难以理解。

相关考题:

【问题1】(8分)王工与被测方讨论被测件的测试计划时,在测试环境方面产生了分歧。王工认为:由于当前被测件的实验平台要用于系统联试,没有时间提供给测评工作,测评工作可在仿真环境下进行,没有必要非得在目标机环境下测试;而被测方认为:软件测评工作仅仅用仿真环境是不够的,不能真实反映软件特性,可根据需要安排在实验平台上进行。请对双方的意见进行分析,回答①~④问题:王工和被测方的意见 ① 。①A.都对B.王工正确而被测方不完全正确C.都不完全正确D.被测方正确而王工不完全正确你对有关测试环境的建议如下(请将建议填入答题纸的对应栏内):1. ② ;2. ③ ;3. ④ 。

为提高测试的效果,软件集成测试工作最好的承担者是A.该软件的编程人员B.该软件开发组之外的软件设计人员C.该软件的设计人员D.该软件开发组的负责人

下面是关于嵌入式软件测试方面的叙述,回答问题1和问题2,将解答填入答题纸的对应栏内。[说明]甲公司是一个专业的软件测评中心,承担了某机载软件测试任务。王工是该测试任务的负责人。用户指出,被测件是控制飞机飞行的关键软件,其安全性要求很高,必须按有关规定开展测评工作。王工与被测方讨论被测件的测试计划时,在测试环境方面产生了分歧。王工认为:由于当前被测件的实验平台要用于系统联试,没有时间提供给测评工作,测评工作司在仿真环境下进行,没有必要非得在目标机环境下测试;而被测方认为:软件测评工作仅仅用仿真环境是不够的,不能真实反映软件特性,可根据需要安排在实验平台上进行。 请对双方的意见进行分析,回答①~④问题: 王工和被测方的意见①。①A.都对B.王工正确而被测方不完全正确C.都不完全正确D.被测方正确而王工不完全正确 你对有关测试环境的建议如下(请将建议填入答题纸的对应栏内):1._________________________②_________________________2._________________________③_________________________3._________________________④_________________________

阅读以下关于软件开发的叙述,在回答问题1至问题3。某软件公司接受公司A委托开发一个软件任务,该任务由张工负责。张工预计在4周内完成对系统的需求分析,并形成需求规格说明书。张工委派了项目组的小刘来负责需求信息的获取。两周后,小刘向张工汇报了他进行需求分析的过程及结果。小刘采用问卷调查的方式向公司A的50名工作人员搜集信息。他首先准备了问卷的初稿,并请公司A的相关管理人员进行了测试和修正:然后将问卷分发给公司A的每位工作人员,并要求他们在一周内返还问卷。但到目前为止,小刘只收回了7份问卷。小刘认为自己是完全按照问卷调合的步骤和要求实施的,而问卷的返还率仍然很低。张工听完后,给小刘分析了失败的原因,并提出了—些能够提高问卷返还率的建议。但是为了不耽误项目的进度,张工决定采用JRP (Joint Requirements Planning)的方法再次进行需求调查,张工作为JRP的主持人。最终在第4周完成了需求规格说明书,并决定了系统后续阶段的开发计划,如图2-1所示。该项目组除了张工之外,还有2名全职的开发人员,可以承担项目中的任何任务,并且承担同一任务的开发人员总是在一起工作。预计的开发时间中已经包含了编写文档的时间。张工决定采用迭代模型,在160天内完成这三个模块的设计、实现与测试。用150字以内的文字,说明张工给小刘提出的提高问卷返还率的可能措施。

李工是某软件公司的软件设计师,每当软件开发完成均按公司规定申请软件著作权,该软件的著作权()。 A、应由李工享有B、应由公司和李工共同享有C、应由公司享有D、除署名权以外,著作权的其他权利由李工享有

【问题4】(2分)请判断以下对测试的叙述是否正确。A.验收测试是以用户为主的测试,软件开发人员和质量保证人员也应参加。(14)B.在验收测试中,a测试是由软件开发机构组织内部人员模拟各类用户在开发环境下进行的测试。(15)

某评测机构A承接了公司B开发的ERP软件的测试工作,负责该项目的软件评测师甲,为了提高自己在ERP方面的知识,向A机构的负责人提出要到开发ERP软件的公司D做兼职开发工作的请求。当测试工作正在进行时,B公司为了申报某科技奖项,希望A机构能先出具一个证明其软件质量优秀的测试报告,并且口头承诺测试会继续进行,并且测试过程中发现的问题都会得到改正。如果你是机构A的负责人,对于评测师甲的请求,你将(38)。对于B公司提出的要求,甲乙分别给出了如下的建议:甲认为可以出质量优秀报告,但是需要B公司出具改正所有测试问题的书面承诺书和自己的QA部门认可;乙认为由于测试还没有结束,很多问题还没有得到改正,因此不能出质量优秀的报告,但可以根据已经测试过的模块的情况,出具一个质量基本合格的报告。对于以上建议你认为(39)。测试结束后,评测师乙提出要保留B公司的被测软件的样品。对于评测师乙的要求你认为(40)。A.不批准甲的请求B.批准甲的请求,但是要求甲不能透露B公司的信息C.不批准甲的请求,但是建议甲可以到B公司做兼职开发工作D.批准甲的请求,并要求甲尽陕提高自己在ERP方面的知识,为公司多做贡献

软件的集成测试工作最好由(52)承担,以提高集成测试的效果。A.该软件的设计人员B.该软件开发组的负责人C.该软件的编程人员D.不属于该软件开发组的软件设计人员

阅读下列说明,回答问题1至问题3。【说明】某公司希望开展电子商务业务,委托其技术开发部进行网站规划与开发。张工是项目负责人,他在进行项目规划、需求分析、开发与设计过程中,要制定相应的软件测试计划并实施测试。软件测试步骤的关系关联图如图14-5所示,请将图中的步骤(1)、(2)补充完整。

阅读以下关于嵌入式软件测试方面的叙述,回答问题1至问题3。甲公司是一个专业的航空软件开发公司,当前正在为某用户开发某航空嵌入式实时软件,王工是该软件开发项目的负责人。应用户要求,甲公司委托乙公司对其开发的航空软件进行第三方测试。张工是乙公司中该测试项目的负责人。王工在与张工讨论该软件的测试计划时,就软件的测试环境产生了争执。张工认为所有的第三方测试工作都必须在目标机环境下完成,否则无法保证测试的有效性。王工认为开发工作进度很紧,而且开发工作需要频繁占用目标机环境,第三方测试在仿真环境下进行就可以了,没有必要非得在目标机环境下测试。请在200字以内对上述两人意见的正确性进行评价与分析,并简述你对本题目中的测试环境问题的建议。

张工的项目组根据王工的项目组提供的软件需求文档和设计文档,严格按照协议要求进行了第三方测试,但是软件交付给用户使用后,仍然出了很多问题,用户对软件质量评价不高。王工认为张工项目组没有很好地进行软件第三方测试,张工觉得并无不妥之处,请对这一状况和原因进行分析。

下列关于测试设计与开发的说法中,不正确的是______。A) 软件测试设计与开发活动是软件测试过程中对技术要求比较高的关键阶段B) 软件测试设计与开发主要包括测试技术方案的制定、测试用例设计C) 测试用例特定集合的设计、测试开发和测试环境的设计都是软件测试设计与开发的范畴D) 测试设计与开发活动对软件进行需求确定性估算A.B.C.D.

软件的单元测试工作通常是由______完成。A.该软件的设计人员B.该软件开发组的负责人C.不属于该软件开发组的软件设计人员D.该软件的编程人员

在软件交付使用之后,用户将如何实际使用它,对于开发者来说是无法预测的,关于α测试和β测试,叙述不正确的是______。A) α测试由用户在开发者的场所进行B) β测试由软件的最终用户们在一个或多个客户场所进行C) α测试是在不受控的环境中进行的D) β测试是软件在一个用户自我使用的“真实”的环境中的应用A.B.C.D.

关于软件测试方法,说法正确的是______。A.验收测试是在真实系统工作环境下检验完整的软件配置项能否和系统正确连接B.配置项测试由独立于软件开发的人员实施,不可委托第三方测试机构进行C.回归测试要测试变更后,对软件原有的正确功能、性能不产生损害D.系统测试是在系统工作环境下检验完整的软件系统是否满足软件开发任务书规定的要求

以下说法中错误的是______。A.软件配置项测试的目的是检验软件配置项与软件需求规格说明的一致性B.软件配置项测试一般由软件供方组织,由独立于软件开发的人员实施,软件开发人员配合C.软件配置项测试要求被测软件配置项已通过单元测试和集成测试D.软件配置项测试不得委托第三方实施

●对应用软件产品所进行的β 测试,是 (57) 进行的测试。(57)A.在开发环境下由开发者B.在开发环境下由测试人员C.在应用环境下由开发者D.在应用环境下由部分用户

关于企业与政府发生交易所取得的收入,下列会计处理中正确的有(  )。A.政府通过招标定制开发某软件系统,政府支付交易对价,软件开发公司中标后开发该软件系统,软件开发公司应当按照收入确认的原则进行会计处理B.政府通过招标定制开发某软件系统,政府支付交易对价,软件开发公司中标后开发该软件系统,软件开发公司应当将取得的对价确认为营业外收入C.政府行文单方面资助某软件开发公司开发某类软件,产权归属该软件公司,软件公司收到的款项应确认为其他收益D.政府行文单方面资助某软件开发公司开发某类软件,产权归属该软件公司,软件公司收到的款项应确认主营业务收入

李工是某软件公司的软件设计师,每当软件开发完成均按公司规定申请软件著作权,该软件的著作权( )。A.应由李工享有 B.应由公司和李工共同享有 C.应由公司享有 D.除署名权以外,著作权的其他权利由李工享有

alpha测试与beta的区别,描述错误的是()。A、alpha测试是在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误B、Beta测试是用户公司组织各方面的典型终端用户在日常工作中实际使用beta版本,并要求用户报告异常情况,提出批评意见C、beta测试的环境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数量相对比较多,时间不集中D、beta测试先于alpha测试执行

软件的集成测试工作最好由()承担,以提高集成测试的效果。A、该软件的设计人员B、该软件开发组的负责人C、该软件的编程人员D、不属于该软件开发组的软件设计人员

软件的组装测试最好是由()承担,以提高组装测试的效果。A、该软件的设计者B、该软件开发组的负责人C、该软件的编程者D、不属于该开发组的人员

在软件测试过程中,α测试是由一个用户在开发环境下进行的测试;β测试是由软件的多个用户在一个或多个用户环境下进行的测试。

单选题软件的组装测试最好是由()承担,以提高组装测试的效果。A该软件的设计者B该软件开发组的负责人C该软件的编程者D不属于该开发组的人员

多选题关于企业与政府发生交易所取得的收入,下列会计处理中正确的有()。A政府通过招标定制开发某软件系统,政府支付交易对价,软件开发公司中标后开发该软件系统,软件开发公司应当按照收入确认的原则进行会计处理B政府通过招标定制开发某软件系统,政府支付交易对价,软件开发公司中标后开发该软件系统,软件开发公司应当将取得的对价确认为营业外收入C政府行文单方面资助某软件开发公司开发某类软件,产权归属该软件公司,软件公司收到的款项应确认为营业外收入D政府行文单方面资助某软件开发公司开发某类软件,产权归属该软件公司,软件公司收到的款项应确认为主营业务收入

判断题在软件测试过程中,α测试是由一个用户在开发环境下进行的测试;β测试是由软件的多个用户在一个或多个用户环境下进行的测试。A对B错

单选题软件的集成测试工作最好由()承担,以提高集成测试的效果。A该软件的设计人员B该软件开发组的负责人C该软件的编程人员D不属于该软件开发组的软件设计人员