问答题
[说明]
某公司是一个有资质的专业嵌入式软件测评中心,承担了一项嵌入式软件的测试任务。按用户要求,需要对被测软件进行单元测试、部件(集成)测试和系统测试。
问答题
软件测试中的单元测试、部件(集成)测试和系统测试都有各自的测试目标。以下描述中属于单元测试的是
____1____
,属于部件(集成)测试的是
____2____
,属于系统测试的是
____3____
,请把以下8个选项的序号分别填入上述空白处,且不能重复。将答案填写在对应的栏目中。
①测试对象为单个模块或者函数
②测试对象包括整个软件系统,以及软件所依赖的硬件、外设等
③测试对象为多个模块或多个单元
④整个测试必须在系统实际运行环境中进行
⑤主要测试模块内部逻辑结构的正确性
⑥测试各个模块间的调用接口
⑦包括测试部分全局数据结构及变量
⑧主要测试局部数据结构及变量
【正确答案】
【答案解析】每空答案中的序号不计次序
(1)①,⑤,⑧
(2)③,⑥,⑦
(3)②,④
本题考查软件测试方面的基础知识。
在底层(如在C语言中为函数)进行的测试称为单元测试,或者模块测试。单元经过测试,底层软件缺陷被找出并修复之后,就集成在一起,对模块的组合进行集成测试,或者叫部件测试。这个不断增加的测试过程继续进行,加入越来越多的软件片段,直至整个产品——至少是产品的主要部分——在称为系统测试的过程中一起测试。
由此可知,①、⑤、⑧为单元测试;③、⑥、⑦为部件(集成)测试;②、④为系统测试。
问答题
被测软件研制方提出,为节约成本,由软件开发人员对所开发的软件进行测试,测评中心仅仅进行测试结果确认,并按测评中心规定编写各种测试文档并出具证明。此提议遭到测评中心的反对。软件研制方认为:
__2__
自己编写的程序,结构熟悉,需求清楚,易发现问题;
__3__
自己测试后,又经过第三方的确认,是可行的;
__4__
知识产权可受保护。
测评中心反驳:
__2__
程序不能由编写者自己测试,就像不能既当运动员又当裁判员一样;
__3__
自己测试,有弄虚作假的嫌疑;
__4__
软件测试不能丧失独立性,仅由测评中心确认,损害测评中心声誉,不行。
针对上述情况,应该由
____2____
进行测试。软件研制方的3条理由正确的有
____3____
条,错误的有
____4____
条;测评中心所说的正确的有
____5____
条,错误的有
____6____
条。
【正确答案】
【答案解析】(1)测评中心 (2)0 (3)3 (4)3 (5)0
为了保证被测软件的质量,最好由独立的测试部门进行软件的测试,在此题中为独立的机构——软件测评中心,由第三方进行测试更容易发现开发人员的习惯性错误,更可靠,且开发方的知识产权受合同或委托的约束也得到了很好的保护。
所以开发方所说的3条理由均不成立,测评中心反驳的3条理由全部正确。
问答题
判断以下关于软件测试叙述的正确性,回答“错”或“对”, 并将其填入在对应栏内。
(1)判定/条件覆盖使每个分支至少被执行一次,且判定中的每个条件都获得所有可能的逻辑值。
(2)在没有需求文档的条件下能够进行黑盒测试。
(3)在进行压力测试的同时可以进行单元测试。
(4)软件测试中设计的测试实例(test case)主要由输入数据和预期输出结果两部分组成。
【正确答案】
【答案解析】(1)对 (2)错 (3)错 (4)对
(1)“判定/条件覆盖使每个分支至少被执行一次,且判定中的每个条件都获得所有可能的逻辑值”是条件覆盖的准则。正确。
(2)需求文档为测试开始之前必须具备的条件之一,没有需求文档是无法开展测试活动的。错误。
(3)压力测试是在部件测试、配置项测试和系统测试阶段进行的测试,且各个阶段的测试是串行的,所以在压力测试的同时是不能进行单元测试的。错误。
(4)测试实例主要包括输入数据和预期输出结果两部分数据,其次还包括许多其他数据共同组成测试程序。正确。