ソフトウェアテスト最終復習(1) テスト問題と解答

1. 選択問題(各空欄2点、合計40点)

1. ソフトウェアテストの目的: (c)
A. ソフトウェア開発におけるエラーを回避する
B. ソフトウェア開発におけるエラーを発見する
C. ソフトウェアの信頼性を向上させるために、ソフトウェア内の潜在的なエラーを可能な限り見つけて排除する
D. 発生したソフトウェアを修正する 間違い
2. ソフトウェアテストは、(a) ソフトウェアを実行するアクティビティです。
A.テストケース
b. 入力データ
c.テスト環境
d. 入力条件
3. ソフトウェアの不具合の最大の原因は次のとおりです。 (a)
A. b.ソフトウェア要件の仕様
b. デザインプラン
C. コーディング
D.メンテナンス
4. 以下の説明において、ソフトウェア欠陥状態の完全な変化に関するエラーの説明は (d)
A. オープン—修復—クローズ
B、オープン—クローズ
C、オープン—予約
D、アクティブ化—修復— —再開
5. 以下の記述において、テストとデバッグに関する記述は間違っています (d)
A. テストはエラーを示す行為であり、デバッグは推論のプロセスです;
B. テストは開発者の間違いを示します。デバッグは開発者が自分自身を守るためのものであり、
C、テストは予期し、制御することができます。デバッグには想像力、経験、思考が必要です;
D. テストは詳細設計が完了した後に開始する必要があります; 詳細設計情報がなければデバッグは不可能です。
6. 特定のプログラムのデバッグで期待した結果が得られませんでしたが、次の (b) はエラーの原因ではありません。
A.変数が初期化されていない b. 陳述書の記載形式が統一されていない
C.ループ制御エラー D. 不正なコード入力
7. ソフトウェア欠陥修復で最もコストがかかるフェーズは (a)
A、リリース フェーズ B、要求フェーズ
C、設計フェーズ D、コーディング フェーズ
8 であり、これはロジック カバレッジ方法 (d) に属しません。
A.総合補償 b. 判決内容
C. 条件の範囲 d.インターフェイス カバレッジ
9. (d) は、プログラム内の各実行可能ステートメントが少なくとも 1 回実行されるように、いくつかのテスト ケースを選択し、テスト対象のプログラムを実行します。
A. 条件カバレッジ B. 組み合わせカバレッジ
C. 決定カバレッジ D. ステートメント カバレッジ
10. (a) は、プログラム内の各決定に含まれる各条件のすべての状況 (真/偽) が少なくとも 1 回発生するように、十分なテスト ケースを設計することです。 、各決定自身の決定結果 (真/偽) も少なくとも 1 回発生します。
A. 判定 - 条件カバレッジ B、組み合わせカバレッジ
C、判定カバレッジ D、条件カバレッジ
11. ソフトウェア テストはソフトウェア品質保証の重要な手段です。ソフトウェア テストの最も基本的な部分は次のテストのうちどれですか? ( b )
A. 機能テスト
b. 単体テスト
c. 構造試験
d.受け入れテスト
12. 単体テストの主なタスクには (b) は含まれません。
A.エラー処理 b. グローバルデータ構造
c. 独立したパス d.モジュール インターフェイス
13、下の図に示す NS 図では、ロジック カバレッジを完了するには少なくとも (b) テスト ケースが必要です。

A.12 B.48
C.27 D.18
14. 単体テストは、テスト対象モジュールによって呼び出される必要がある他の機能モジュールをシミュレートするために使用されます (b)。
A.ドライブモジュール b. パイルモジュール
C. メインコントロールモジュール D.実際に呼び出されるモジュール
15 と統合テスト計画は、(b) 段階の最後に提出する必要があります。
A. 要件分析 B. 概略設計
C. 詳細設計 D. 単体テスト完了
16. プログラムの効率に関する次の記述(c)のうち、誤っているものはどれか。
A.プログラムの実行速度を上げると、プログラム
Bの効率が向上します。プログラムが占有する記憶領域を削減すると、プログラム
Cの効率が向上します。
ソース プログラムの効率は、詳細設計フェーズDで決定されたアルゴリズムの効率とは無関係です。適切なプログラム設計により効率が向上します。
17. 次の (b) は、プログラム フローチャートを簡略化したもので、プログラム制御フローの構造をより顕著に表現でき、複合条件は含まれていません。
A.DD パス図 B. 制御フローグラフ
c.MM パス マップ D. モジュール呼び出し 図
18、ボトムアップ増分統合テスト、次の (c) の説明は正しいです。
A.テストはスタブ モジュール
Bによって制御されます。最初に最上位モジュールがテストされます
C. 親機はテスト済み子機
Dでテストされます。ツリー 19 の深さ優先または幅優先のトラバース プロセスを含めます。
テスト後にプログラムに残るバグの数は、プログラムで見つかったバグの数に比例します (d)。
A.不明 B.逆比 C
等しい D.比例
20. 無効なデータをテストするかどうかについて、等価クラスのテストは (b) に分けることができます。
1) 標準(一般)同等クラステスト
2) 強力な同等クラステスト
3) 弱い同等クラステスト
4) 強力な同等クラステスト
A. 3) 4) b. 1) 2)
C.1) 3) D.2) 4)

2. 正誤問題(空欄各1点、合計20点)

1. プログラムに含まれるパスの数は、プログラムの複雑さに直接関係します。( ∨ )
2. 構造テストは、ソフトウェアの仕様に従ってテスト ケースを設計することです。(x)
3. 間違った推測方法は、入力に対する出力の依存関係に従ってテスト ケースを設計することです。(x)
4. ソフトウェア欠陥の属性には、欠陥の識別、欠陥の種類、欠陥の重大度、欠陥の可能性、欠陥の優先順位、欠陥のステータス、欠陥の原因、欠陥の原因、および欠陥の原因が含まれます。(∨ )
5. n 個の変数を含むプログラムの場合、境界値ロバスト性テスト方法を使用してプログラムをテストすると、6n+1 個のテスト ケースが生成されます。(∨)
6. データフローテストは主にパステストの信頼性チェックに使用されます。2 つの形式は、定義/使用テストとプログラムベースのテストです。(∨ )
7. ソフトウェアが厳密かつ厳密な社内テストに合格している限り、欠陥は存在しません。(x)
8. テスト ケースは、テスト入力データと対応する実際の出力結果の 2 つの部分で構成されている必要があります。(x)
9. テストは使い果たすことができます。(x)
10. テスト自動化は全能です。(x)
11. ソフトウェアの欠陥は、修復、保持、またはマークされる場合があります。(∨)
12. 各ソフトウェア プロジェクトには最適なテスト量があります。( ∨ )
13. ブラックボックス テストは、テスト ケース間に深刻な冗長性やテストされていない機能の抜け穴を引き起こすことがよくあります。(∨)
14. コードレビューは静的テストです。(∨)
15. ソフトウェア テストは複数のアクティビティを含むプロセスであり、テスト用のソフトウェアの実行はアクティビティの 1 つにすぎません。(∨ )
16. 回帰テストは、ソフトウェアが変更された後、再度実行する前にプログラムを実行してエラーを見つけるために使用されるテスト ケースです ∨ 17. 統合テストは、ソフトウェア システムが
受け入れ基準を満たしているかどうかを判断し、顧客に判断させることですの正式なテスト . ( x )
18. テストはテストレベルに応じて単体テスト、結合テスト、システムテストに分けられます。(∨)
19. ロジックカバレッジ 100% を達成できる限り、プログラムの正しさは保証されます。(x)
20. 常に欠陥のあるタイプは、あるレベルのテストで発見され、別のレベルでは検出を回避できます。(∨)

3. 短答式問題(各空欄5点、合計20点) 採点者

1. 優れたソフトウェア テスト エンジニアはどのような資質を備えている必要がありますか?
回答: 探求の精神を持ち、コンピューター プログラミングの基礎をしっかり持ち、トラブルシューティングが得意で、忍耐力があり、革新の精神と意識を高める、完璧を追求し、正確な判断を下し、全体的なコンセプトを持ち、細部に敏感であり、チームワークの精神があり、コミュニケーション能力がある

2. バイナリ関数 f(x,y) があります (x∈[1,12]、y∈[1,31])。基本的な境界値解析手法を使用して設計されたこの関数のテスト ケースを作成してください。
答え: { <1,15>、<2,15>、<11,15>、<12,15>、<6,15>、<
6,1>、<6,2>、<6,30> 、<6,31> }

3. ブラック ボックス テストとホワイト ボックス テストの長所と短所は何ですか? 抜け穴や冗長性の問題を解決するには、それらをどのように組み合わせる必要がありますか?
回答: 機能テストには 2 つの利点があります。機能テストはソフトウェアの実装方法とは関係がありません。テスト ケースの開発は実装と並行して実行できるため、プロジェクトの総開発時間を短縮できます。短所: テスト ケース間に重大な冗長性が存在する可能性があり、ビット テストにはソフトウェアの脆弱性が存在します。構造テストは完成したコードの動作に限定されており、コードに近すぎます。したがって、構造テスト指標を使用して、冗長性と脆弱性の問題を解決できます。複数の機能テスト ケースが同じプログラム パスを通過していることが判明した場合、この冗長性によって新たな欠陥が発生しないことが疑われる可能性があり、特定の DD パス カバレッジに達していない場合は、DD パスに抜け穴があることがわかります。機能テストの取り組み。したがって、パス テストは、機能テストによってクロスチェックされる一連のメトリックを提供できます。

4. 以下のようなプログラムがありますので、ステートメントカバレッジ要件を満たすようにテストケースを設計してください。

void  DoWork (int x,int y,int z)
{
    
    
   int  k=0,j=0;
   if ( (x>3)&&(z<10) )
   {
    
       k=x*y-1;  
       j=sqrt(k);  
   }               //语句块1 
   if ( (x==4)||(y>5) )d
   {
    
      j=x*y+10;   } //语句块2 
   j=j%3;          //语句块3
}

回答: DoWork 関数のステートメント カバレッジを達成するには、プログラム内のすべての実行可能ステートメントをカバーするテスト ケースを設計するだけで済みます。テスト ケースの入力は次のとおりです: { x=4, y=5, z=5 }

4. 総合問題(各空欄10点、合計20点) 採点者

1. 基本パス テスト方法を使用して、次のプログラム セグメントのテスト ケースを設計します。
(1) 番号を振ったプログラムの制御フロー図を描きます。
(2) プログラムの循環複雑度を計算し、プログラムの基本パス集合内の独立パスの数を導出する。
(3)プログラムの独立パスを決定するために設定された基本パスを導出する。
(4) (3)の独立パスに従って、テストケースの入力データと期待される出力を設計します(基本パスセット内の各パスが確実に実行されるように)。

       void Do (int X,int A,int B)
       {
    
    
 1       if ( (A>1)&&(B=0) )
 2           X = X/A;
 3       if ( (A=2)||(X>1) )
 4           X = X+1;
 5    }

制御フロー グラフは単一の条件を想定しているため、複合条件の場合は、複数の単一条件に分解して制御フロー グラフにマッピングできます。
1: A>1; 2: B=0; 3: X = X/A; 4: A=2; 5: X>1; 6: X = X+1; 7: }

回答:
1. 以下の図に示すように、制御フロー グラフを描画します。
ここに画像の説明を挿入

2. 循環複雑度を計算します:
10 (エッジ) - 7 (ノード) + 2 = 5
3. 独立パスの導出 (ステートメント番号で示されます)
独立パスとは、プログラムの入り口から出口までの複数の実行を指します。 、それぞれの少なくとも 1 つのステートメントは新しく、毎回繰り返されていません。つまり、毎回通過したことのない少なくとも 1 つのアークです。
パス 1: 1→2→3→4→5→6→7
パス 2: 1→4→5→6→7 パス 3:
1→2→4→6→7
パス 4: 1→2→4→5 →7
パス 5: 1→2→3→4→5→7
4. テストケース
ここに画像の説明を挿入

2. シナリオ要件: 「... 50 馬力を超える出力を持つ機械、不完全なメンテナンス記録、または 10 年以上稼働している機械については、優先的なメンテナンス処理を行う必要があります...」 。ここでは、「未完了修理記録」と「優先修理処理」の両方が別の場所でより厳密に定義されているものとする。決定表を作成してください。
(1) ルールの数を決定します。
(2) すべての条件スタブとアクション スタブをリストします。
(3) 条件項目を入力します。
(4) アクション項目を入力して、初期決定テーブルを取得します。
(5) デシジョンテーブルを簡素化し、同様のルールを統合します。
答え:
(A && B)|| C
①ルールの数を決定します: ここには 3 つの条件があり、各条件には 2 つの値があるため、2 2 2=8 種類のルールが存在する必要があります。
② すべての条件パイルとアクション パイルをリストします。
ここに画像の説明を挿入

③条件項目を入力します。最終行の条件項目から1行ずつ埋めていきます。
たとえば、3 行目は YNYNYNYN、
2 行目は YYNNYYNN
などとなります。
④ 実施項目を記入します。このようにして、図の形式の初期決定テーブルが得られる。

ここに画像の説明を挿入

⑤簡素化する。結果のグラフは、類似性ルールを結合した後に取得されます。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/L6666688888/article/details/128479691