问答题
阅读下列说明,回答问题,将解答填入答题纸的对应栏内。【说明】在服务型智能扫地机器人的软件设计中,为了更好地记录机器人的个体信息和工作信息,设计了信息数据库。数据库主要完成收集服务型智能扫地机器人反馈信息的作用,记录机器人的所有工作记录,方便了使用者对机器人的管理及对机器人状态的掌握,并且在机器人发生运行故障时,可以根据数据库存储的信息分析产生故障的原因。数据库收集服务型智能扫地机器人反馈信息的流程如下:服务端接收反馈信息:1.第一次解析判断反馈信息类型是否正确。如果正确继续执行2,否则执行3。2.第二次解析判断反馈信息内容是否正确。如果正确执行4,否则执行3。3.调用错误信息处理函数后执行4。4.将反馈信息存入数据库。
问答题
在本软件测试过程中,测试人员为了设计测试用例,根据题目中的说明,画出了机器人反馈信息收集软件的流程图,如图3-1所示。
【正确答案】(1)D
(2)B
(3)C
【答案解析】本问题主要考查考生理解软件需求信息的能力,能依据软件需求信息画出软件流程。从题干给定的需求信息服务端接收反馈信息中,第1条描述内容为“1.第一次解析判断反馈信息类型是否正确。如果正确继续执行2,否则执行3。”故空(1)的内容应该在第2条描述中;空(2)的内容应该在第3条描述中。第2条描述内容为“2.第二次解析判断反馈信息内容是否正确。如果正确执行4,否则执行3。”从第2条内容可知,空(1)的内容应该为反馈内容是否正确;空(3)的内容应该在第4条描述中;同时再次确认空(2)的内容在第3条内容描述。第3条描述内容为“3.调用错误信息处理函数后执行4。”从第3条内容可知,空(2)的内容应该为错误信息处理;同时再次确认空(3)的内容在第4条内容描述。第4条描述内容为“4.将反馈信息存入数据库。”从第4条内容可知,空(3)的内容应该为信息存入数据库。根据以上分析,完整流程图如3.2所示。

问答题
软件的结构覆盖率是度量测试完整性的一种手段,也是度量测试有效性的一种手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率和分支覆盖率作为度量指标。在实现题目说明的反馈信息接收功能时,设计人员采用了下列算法:if((信息有效==TRUE)&&(信息类型正确==TRUE)) { 解包信息内容; if((信息内容正确==TRuE)) {信息存入数据库;} else { 错误信息处理; 信息存入数据库; } }else { 错误信息处理; 信息存入数据库; 请完成表3.1中的(1)和(2)空白,指出对上述算法达到100%语句覆盖和100%分支覆盖所需的最少测试用例数目。请将答案填写在答题纸的对应栏中。
【正确答案】(1)3
(2)3
【答案解析】本问题主要考查对语句覆盖和分支覆盖概念的掌握以及实际应用。语句覆盖要求设计适当数量的测试用例,运行被测程序,使得程序中每一条语句至少被运行一遍,语句覆盖在测试中主要发现错误语句。分支覆盖要求设计适当数量的测试用例,运行被测程序,使得程序中每个真值分支和假值分支至少执行一次,分支覆盖也称判定覆盖。按照上述语句覆盖要求,语句覆盖就要使得问题2中的所有语句执行一次,问题2中有三个语句块,如下所示。

问答题
为了测试软件功能,测试人员设计了表3-2所示的测试用例,请填写该表中的空白(1)~(5)。请将答案填写在答题纸的对应栏中。
【正确答案】(1)报告信息类型不正确/错误
(2)报告信息内容不正确/错误
(3)正确
【答案解析】为了测试数据库收集服务型智能扫地机器人反馈信息软件的功能,就要依据题目说明中对数据库收集服务型智能扫地机器人反馈信息软件的具体功能描述,进行测试用例的设计。此题考查测试用例的设计能力,主要包括输入数据的设计,及输入数据所对应的预期输出的确定,特别需要考虑测试用例的充分性。序号1,输入为反馈类型不正确,依据服务端接收反馈信息第l条设计说明,软件应进行错误处理,并将错误信息存入数据库。从设计说明中不能直接看出对反馈类型不正确的具体错误处理。但在进行此类问题时,应该参考其他给定全部内容的测试用例。