2005 上半年软件评测师考试真题及答案-下午卷
试题一
阅读以下说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。
【说明】
在软件开发与运行阶段一般需要完成单元测试、集成测试、确认测试、系统测试和验收
测试,这些对软件质量保证起着非常关键的作用。
【问题 1】
请简述单元测试的主要内容。
【问题 2】
集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容。
【问题 3】
请简述集成测试与系统测试的关系。
【问题 4】
公司 A 承担了业务 B 的办公自动化系统的建设工作。2004 年 10 月初,项目正处于开发
阶段,预计 2005 年 5 月能够完成全部开发工作,但是合同规定 2004 年 10 月底进行系统验
收。因此 2004 年 10 月初,公司 A 依据合同规定向业主 B 和监理方提出在 2004 年 10 月底
进行验收测试的请求,并提出了详细的测试计划和测试方案。在该方案中指出测试小组由公
司 A 的测试工程师、外聘测试专家、外聘行业专家以及监理方的代表组成。
公司 A 的做法是否正确?请给出理由。
答案:
【问题 1】
模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试。
【问题 2】
(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失。
(2)一个模块的功能是否会对另一个模块的功能产生不利的影响。
(3)各个子功能组合起来,能否达到预期要求的父功能。
(4)全局数据结构是否有问题。
(5)单个模块的误差累计起来,是否会放大,从而达到不能接受的程度。
【问题 3】
集成测试的主要依据是概要设计说明书,系统测试的主要依据是需求设计说明书。
集成测试是系统模块的测试,系统测试是对整个系统的测试,包括相关的软硬件平台、
网络及相关外设的测试。
【问题 4】
验收测试是在系统测试完成后,项目最终交付前进行,而不仅仅是根据合同规定进行。
2004 年 10 月初不具备验收测试的条件。
验收测试不能缺少用户方的人员。
解析:
【问题 1】
本题考查按开发阶段划分的软件测试类型的基础知识与应用。
【问题 1】
单元测试的内容包括模块接口测试、局部数据结构测试、路径测试、错误处理测试、边
界测试等。
【问题 2】
集成测试时需要注意的问题包括:
(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失。
(2)一个模块的功能是否会对另一个模块的功能产生不利的影响。
(3)各个子功能组合起来,能否达到预期要求的父功能。
(4)全局数据结构是否有问题。
(5)单个模块的误差累计起来,是否会放大,从而达到不能接受的程度。
【问题 3】
集成测试也叫组装测试或者联合测试。通常,在单元测试的基础上,需要将所有模块按
照概要设计说明书和详细设计说明书的要求进行组装。
系统测试是将通过集成测试的软件,作为整个基于计算机系统的一个元素,与计算机硬
件、外设、某些支持软件、数据和人员等其他元素结合在一起,在实际或者模拟运行环境下,
计算机系统进行一系列测试。系统测试的目的在于通过与系统的需求定义做比较,发现软件
与系统定义不符合或与之矛盾的地方。
【问题 4】
验收测试是按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的
测试与评审,决定是否接收或拒绝系统。
验收测试往往在系统测试完成后,项目最终交付前进行。
验收测试是以用户为主的测试。软件开发人员和质量保证人员也应参加。验收测试的测
试计划、测试方案与测试用例一般由开发方制定,由用户方与监理方联合进行评审。验收小
组由开发方、用户方、监理方代表、主管单位领导及行业专家构成。
试题二
阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】
使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至
少执行一次。以下代码由 C 语言书写,请按要求回答问题。
int isLeap (int year)
{
}
if (year % 4 == 0)
{
if (year % 100 == 0)
{
if ( year % 400 == 0)
leap = 1;
else
leap = 0;
}
else
leap = 1;
}
else
leap = 0;
return leap;
【问题 1】(3 分)
请画出以上代码的控制流图。
【问题 2】(4 分)
请计算上述控制流图的圈复杂度 V(G)(独立线性路径数)。
【问题 3】(8 分)
假设输入的取值范围是 1000 < year < 2001,请使用基本路径测试法为变量 year 设计测
试用例,使其满足基本路径覆盖的要求。
答案:
【问题 1】
【问题 2】
V(G)=4。
【问题 3】
用例 1:year 是 1000~2000 之间不能被 4 整除的整数,如 1001、1002、1003。
用例 2:year 是 1000~2000 之间被 4 整除但不能被 100 整除的整数,如 1004、1012、
1016。
用例 3:year 是 1000~2000 之间能被 100 整除但不能被 400 整除的整数,如 1100、1300、
1700。
用例 4:year 是 1000~2000 之间能被 400 整除的整数,如 1200、1600、2000。
解析:
本题考查白盒测试中的基本路径法的应用。
【问题 1】
模块控制流图是与程序流程图相类似的由许多节点和连接节点的边组成的一种图形,其
中一个节点代表一条语句,边表示节点间的控制流向,它显示了一个函数的内部逻辑结构。
【问题 2】
V(G) = 区域数 = 判断节点数+1。
【问题 3】
在进行程序的基本路径测试时,从程序的环路复杂性,可导出程序基本路径集合中的独
立路径条数,这是确保程序中每个可执行语句至少执行 1 次所必须的测试用例数目的上界。
独立路径是指包括一组以前没有处理的语句或条件的一条路径。例如,针对本题所对应的控
制流图中,一组独立的路径如下:
(1)路径 1:不能被 4 整除的整数。
(2)路径 2:被 4 整除但不能被 100 整除的整数。
(3)路径 3:能被 100 整除但不能被 400 整除的整数。
(4)路径 4:能被 400 整除的整数。
这 4 条路径组成一个基本路径集。只要设计出的测试用例能确保这些基本路径的执行,
就可以使得程序中的每个可执行语句至少执行次。
试题三
阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】
软件系统性能调优的关键是首先作好性能故障定位,面对软件系统中运行在不同平台上
的多个服务器、多种应用、大量工作站以及局域网、广域网和其他类型的网络体系结构,故
障点交错,故障定位测试非常复杂。下述是《工作流平台系统》的性能测试案例描述及结果
数据:
测试案例描述:模拟多用户登陆《工作流平台系统》,针对工作流 A、B、C 分别连续
创建 20 个实例,在单机和集群运行环境下分别对系统进行负载压力性能测试。单机环境下
测试用机与一台应用服务器连在同一交换机上,压力直接加在一台应用服务器上。集群环境
下测试用机与服务器集群连接在同一交换机上,压力由负载均衡模块分摊到俩台应用服务器
上。在单机和集群运行环境中应用服务器和一台数据库服务器连接。
客户端交易并发执行测试数据:
1.单机运行环境
2.集群运行环境
服务器资源占用情况
1.单机运行环境
①应用服务器资源占用情况