2005-2011年软件评测师下午试题及答案 - 图文

发布时间 : 星期三 文章2005-2011年软件评测师下午试题及答案 - 图文更新完毕开始阅读

[问题 1](4 分)

衡量系统执行效率的时间特性指标中通常会包括:业务执行响应时间和吞吐量,请描述上述两个指标的概念。 [问题 2](3 分)

简述此系统测试环境中负载均衡设备的作用。 [问题 3](5 分)

简述测试用机中负载压力测试工具主控台、负载压力测试工具负载生成器的作用, 并论述此项目中采用分布式部署负载生成器的原因。 [问题 4](4 分)

请分析测试结果中的交易执行情况数据,陈述随并发用户数递增,交易执行成功率降低的可能原因。分析测试结果中的应用服务器资源利用数据,判断服务器资源利用是否有瓶颈存在。 [问题 5](4 分)

若系统的性能不能满足需求,有哪些调优措施? 【案例分析】参考答案:

[任务1]

业务执行响应时间:是系统完成事务执行准备后所采集的时间戳和系统完成待执行事务后所采集的时间戳之间的时间间隔,是衡量特定类型应用事务性能的重要指标,标志了用户执行一项操作大致需要多长时间

交易吞吐量:每分钟执行的业务数。或系统服务器每秒能够处理通过的交易数。 [任务2]

作用1:将客户端的负载均匀分摊到不同的应用服务器上,达到最佳的服务器群性能。 作用2:当某台应用服务器出现错误时,错误信息将会返回到负载均衡器上,然后会将客户的访问指向另一台应用服务器。 [任务3]

负载压力测试工具主控台作用:管理负载生成器,并收集测试数据。 负载压力测试工具负载生成器作用:模拟客户端执行负载压力测试。

此项目中采用分布式部署负载生成器的原因包括: 1、 负载生成器测试用机硬件资源(CPU、内存)有限,不能模拟10000用户并发

33

2、

的负载。

测试执行会产生大量的业务流。若采用一台测试机作为负载生成器,测试机的网卡带宽会成为测试瓶颈。

[任务4]

随着并发用户数递增,交易执行成功率降低的可能包括: 1、 服务器端架构不合理。 2、 服务器端参数设置不合理。 3、 软件系统实现存在任务。 应用服务器资源利用不存在瓶颈。 [任务5]

系统性能不满足需求时,调优措施包括: 1、 检查软件设计、软件开发是否正确。 2、 检查软件参数设置是否合理。 3、 评估服务器端架构设计的合理性。

评估应用服务器和数据库服务器的匹配是否满足系统性能需求。

试题三(12 分)(黑盒测试之因果图法)

阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 [说明]

因果图方法的思路是:从用自然语言书写的程序规格说明描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表。

分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明),马走日字型(邻近交叉点无棋子),遇到对方棋子可以吃掉,遇到本方棋子不能落到该位置。 [问题 1](3 分)

应用中可能有多种输入条件,在什么情况下可采用因果图法设计测试用例? [问题 2](4.5 分)

根据上述说明,利用因果图法,下面列出走棋出现的情况和结果,找出哪些是正确的输入条件,哪些是正确的输出结果,请把相应的字母编号填入表中。 A.落点在棋盘上;

B.落点与起点构成日字; C.移动棋子;

D.落点处为对方棋子; E.落点处为自己方棋子;

F.移动棋子,并除去对方棋子; G.落点方向的邻近交叉点无棋子; H.不移动棋子; I.落点处无棋子。 输入条件

34

输出结果 [问题 3](4.5 分)

下图画出中国象棋中走马的因果图,请把问题 2 中列出的输入条件和输出结果的字母编号填入到空白框中相应的位置。

【案例分析】

参考答案: 分析:

第一步:分析原因和结果 原因:

1、落点在棋盘外; 2、不构成日字; 3、落点有自方棋子; 4、绊马腿; 5、落点无棋子; 6、落点为对方棋子; 7、落点为对方老将。 结果:

21、不移动; 22、移动;

23、移动己方棋子消除对方棋子; 24、移动并战胜对方。 [任务1]

应用的输出结果依赖于各种输入条件的组合或各种输入条件之间有某种相互制约关系。

[任务2] 输入条件 ABDEGI 输出结果 CFH [任务3] 1.(11)(12)(13)分别填入结果A、B、G,不计顺序; 2.(14)中填写E;

35

3.(15)(22)中分别填写I,C;(16)(23)中分别填写I,C; 4.(21)中填写H。

试题四(10 分)(白盒测试之分支(判定)覆盖)

阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 [说明]

以下代码由 C 语言书写,在输入三个整数后,能够输出最大数和最小数。 int main( void ) {

int a, b, c, max, min;

printf( \ three numbers: \ ); scanf( \ &a, &b, &c ); if( a > b ) /*判断 1*/ {

max = a; min = b; } else {

max = b; min = a; }

if( max < c ) /*判断 2*/ max = c;

else if( min > c ) /*判断 3*/ min = c;

printf( \ max, min ); return 0; }

[问题 1](3 分)

请画出该程序段的控制流图,并分析该控制流图中有多少条线性独立路径(V(G)的值)。 [问题 2](2 分)

为了用分支(判定)覆盖方法测试该程序,需要设计测试用例,使其能对该程序中的每个判断语句的各种分支情况全部进行过测试。 对两组输入数据(1)a=3,b=5,c=7;(2)a=4,b=6,c=5,请分别写出程序中各个判断语句的执行结果(以 T 表示真,以 F 表示假),填入答题纸的相应栏中。 [问题 3](5 分)

上述两组测试数据是否能实现该程序的分支(判定)覆盖?如果能,请说明理由。如果不能,请再增设一组输入数据,使其能实现分支(判定)覆盖。 [案例分析]

【案例分析】参考答案

36

联系合同范文客服:xxxxx#qq.com(#替换为@)