阅读以下关于嵌入式软件测试方面的叙述,回答问题1至问题3。 甲公司是一个专业的航空软件开发公司,当前正在为某用户开发某航空嵌入式实时软件,王工是该软件开发项目的负责人。应用户要求,甲公司委托乙公司对其开发的航空软件进行第三方测试。张工是乙公司中该测试

admin2009-04-07  73

问题 阅读以下关于嵌入式软件测试方面的叙述,回答问题1至问题3。
   甲公司是一个专业的航空软件开发公司,当前正在为某用户开发某航空嵌入式实时软件,王工是该软件开发项目的负责人。应用户要求,甲公司委托乙公司对其开发的航空软件进行第三方测试。张工是乙公司中该测试项目的负责人。

选项

答案(1)张工和王工的意见都不完全正确。 为了节省对目标机环境的争用,测试的很多工作可以在仿真环境下进行;但是为了防止由于仿真环境与目标环境差异带来的测试错误,最终的测试程序必须在目标机环境上重新运行,以查看软件最终在目标环境下的实际运行情况。 (2)针对本题所述情况,为了提高开发与测试工作的并行度,张工的项目组可以先在仿真环境下开发和运行测试程序;待王工项目组的代码开发工作完成后,再在目标机环境下完整地运行所有的测试程序。

解析 本题重点考查考生对软件测试技术的掌握程度。作为系统分析员,承担着管理项目和分解项目实施的工作,第三方软件测试是提高软件产品质量的有效手段,因此掌握好软件测试技术,是软件工程师(尤其是项目负责人)必不可少知识。
   问题1主要考查考生在嵌入式软件测试方面如何解决开发和测试对资源需求竞争的问题。通常,根据V字形软件研制过程,用户不可能为测试而专门研制一套目标机,只能依赖真是目标机完成所有测试任务,为了节省对目标机环境的争用,测试的很多工作一般可以在仿真环境下进行。但是,在仿真环境下完成测试工作后,并不代表测试工作的结束,为了防止由于仿真环境与目标环境差异带来的测试错误(此差别永远存在),最终的测试程序必须在目标机环境上重新运行,以查看软件最终在目标环境下的实际运行情况。因此,两者之间缺一不可。在理解了这种现象下,为了提高开发与测试工作的并行度,张工的项目组可以先在仿真环境下开发和运行测试程序;待王工项目组的代码开发工作完成后,再在目标机环境下完整地运行所有的测试程序。
   如果考生从事过嵌入式软件开发和测试工作(尤其是航空软件),应该知道嵌入式软件可根据所依附的嵌入式设备在系统中的失效影响程度,分为多种级别,而不同的软件级别,其测试项要求也不相同。本问题主要考查考生对安全级别较高的软件,对修正的条件判定覆盖(MC/DC)和条件判定覆盖(C/DC)两项测试技术的掌握程度。
   (1)对于C/DC,要求测试集满足如下条件:判定中每个条件的真值与假值都至少取一次;同时判定的真值与假值也要求至少取一次。
   (2)对MC/DC,要求测试集满足如下条件:
   首先应满足C/DC的测试条件。
   判定中每个条件的取值都必须独立地影响判定的结果,即在其他条件取值不变的前提下,仅改变这个条件的值,而使判定结果改变。
   根据上述有关C/DC和MC/DC的测试要求,在所给例子中,A和B的C/DC测试集应是{TT,FF},因为该测试用例集中,条件A与B分别取了T与F,判定A OR B,也取了T值(当A=T,B=T时)和F值(当A=F,B=F时);而A和B的MC/DC测试集是{FF,TF,FT},因为C/DC要求的测试用例集是{TT,FF}无法满足MC/DC的要求,条件A与B均没有独立地影响判定的输出结果。
    问题三主要考查考生对测试工作的看法,这里考生应清楚的是以下几点:软件测试的作用是查找软件中存在的问题,但是不能保证软件的正确性。软件正确性需要软件研发的全过程来保证。
   从本题的情况来看,问题的根源很可能是王工或张工项目组的开发或测试工作中的某些点没有做好,主要原因包括:
   (1)软件需求规格说明没有全面地反应用户的要求。
   (2)需求文档和设计文档质量不高。
   (3)软件代码的质量本身不高,可读性较差。
   (4)测试用例没有100%覆盖需求。
   (5)测试和开发人员责任心不够,开发过程控制不到位。
   (6)软件开发无标准可循,测试人员难以理解。
等等。
转载请注明原文地址:https://kaotiyun.com/show/84QZ777K
0

最新回复(0)