軟件測試期中考試題答案

一、選擇題

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

說明:在設計無效部分的測試用例的時候,有效等價類部分,可以任意選擇。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章