软件测试期中考试题答案

拈花ヽ惹草 提交于 2019-12-31 22:38:29

一、选择题

1.某程序输入X作为整数类型变量,5<=X<=20,如果用边界值分析法设 计测试用例,则X应该取( a   )边界值。

A.4,5,20,21 B.5,20

    C.4,21 D.5,8,10,20

2.软件测试是为了不断提高软件的( C   )。

A.功能和效率 B.设计和技巧    

C.质量和可靠性 D.质量和功能

3.以下属于静态测试方法的是(A     )。

A.代码审查 B.判定覆盖  

C.路径覆盖 D.语句覆盖

4.软件测试工作应该开始于(   A )。

A.需求分析阶段 B.概要设计阶段    

C.详细设计阶段 D.编码之后

5.软件测试的目的(c )

  A.避免软件开发中出现的错误                 

B. 发现软件开发中出现的错误

C.尽可能发现并排除软件中潜藏的错误,提高软件的可靠性  

D. 修改软件中出现的错误

6.开发Web应用时,要求软件能在Google Chrome中也能正常运行,这属于哪个质量属性要求?(    C )
  A .易用性      B .可维护性        C .兼容性        D .效率

7.开发软件时,要求软件运行时其CPU占有率要低于70%,这属于哪个质量属性要求?D

A .易用性     B .可维护性       C .兼容性      D .效率

8.下面对静态测试和动态测试的区别描述正确的是:B
A .静态测试需要借助于专门的测试工具,而动态测试不需要
B .静态测试并没有真正的运行软件,而动态测试需要运行软件
C .静态测试是由开发人员执行的,而动态测试是由专门的测试人员完成
D .静态测试是主要是为了增加测试人员对软件的理解,而动态测试是为了发现缺陷

9.针对main()函数定义了如下的出口准则要求:要求达到100%的判定覆盖。

变量i取下面的哪个值能效力最高的满足上述的出口准则要求?(   C  )

main()

{

    int i,sum=0;

    scanf("%d",&i);//输入变量i的取值;

    while(i<=25)

    {

        sum=sum+i;

        i++;

    }

    printf("%d\n",sum);//打印sum的值;

}

A.23  B.24  C.25  D.26

10.给定下列代码,至少要多少个测试用例(a、b、c取值组合)达到条件覆盖?(    )B

Func GetMin(a, b, c)

IF (a < b .AND. a < c) THEN         
  Result = a
 ELSE IF (b < a .AND. b < c) THEN
  Result = b
 ELSE
  Result = c
 END IF

return Result

A.2     B.3     C.4     D.5

11.医疗保险条例是这样的,如果身体有重要疾病,则不给予保险;如果没有重要疾病但是吸烟者,则给予保险,但没有优惠;如果没有重要疾病、也不吸烟但爱好滑雪,则给予保险且有10%优惠,其它则有15%优惠。用决策表方法,大概设计出有效测试用例数是多少?B

A.3    B.4     C.5        D.6

12.我们从某个输入区域中取一个数据进行测试,就完成这个输入域测试的方法是下列哪一个?A

A.等价类划分    B.决策表     C.因果图     D.正交试验法

13.( d)是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语

句至少执行一次。

A.条件覆盖    B.组合覆盖     C.判定覆盖      D.语句覆盖

14.( a)是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所

有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少

出现一次。

A.判定-条件覆盖     B.组合覆盖     C.判定覆盖        D.条件覆盖

15.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环

节?( b )

A.功能测试       B.单元测试        C.结构测试       D.验收测试

二、简答题

1.用白盒测试(分支,条件,路径)

伪码程序如下:

Start

Input(A,B,C)

If A>5  then x=10

else  x=1

Endif

If B>10  then y=20

   else   y=2

Endif

If  C>15  then z=30

   else z=3

Endif

Print(x,y,z)

Stop

 

 

 

2.请用条件覆盖测试法为下面java代码的测试设计测试用例。

 

程序流程图及流图如

条件覆盖策略:

设条件x >= 90为条件1,y >= 90为条件2,(x + y) >= 165为条件3, 则选择如下测试用例策略:

 

3.某保险公司承担人寿保险,该公司保费计算方式为:保费=投保额*保险率,保险率依点数不同而有别,10点以上(含10点)费率为0.6%,10点以下费率为0.1%

点数的计算是年龄、性别、婚姻、抚养人数所得的点数的总和

输入:年龄、性别、婚姻、抚养人数

输出:保险率

输入数据说明:

请用等价类划分的方法设计测试用例

 

解答:

第一步:输入和输出变量确认

  • 输入:年龄、性别、婚姻、抚养人数
  • 输出:保险率
  • 等价类划分原则:按照输入变量来确认等价类(有效等价类和无效等价类)

 

第二步:等价类划分

 

 

第三步:设计测试用例

1、设计测试用例,尽可能的覆盖尚未覆盖的有效等价类。

  • 1)(8)(10)(12
  • 2)(9)(11)(13
  • 3)(8)(10)(14

2、设计测试用例,使得每一个新设计的测试用例只包含一个无效等价类,其他的选择有效等价类。

  • 4)(8)(10)(12
  • 5)(9)(11)(13
  • 6)(8)(10)(14
  • 7)(8)(10)(14
  • 1)(8)(10)(15
  • 2)(9)(11)(16
  • 3)(8)(10)(17

说明:在设计无效部分的测试用例的时候,有效等价类部分,可以任意选择。

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!