logo

ステートメントカバレッジテスト

ステートメント カバレッジは、広く使用されているソフトウェア テストの 1 つです。ホワイトボックステストの対象となります。

ステートメント カバレッジ手法は、ホワイト ボックス テスト ケースの設計に使用されます。この手法には、ソース コードのすべてのステートメントを少なくとも 1 回実行することが含まれます。これは、ソース コード内に存在するステートメントの合計から、ソース コード内で実行されたステートメントの合計数を計算するために使用されます。

ステートメント カバレッジは、コードの構造に基づいたホワイト ボックス テスト プロセスの下でテスト ケースのシナリオを導き出します。

声明の対象範囲

ホワイトボックステストでは、テスターは内部ソースコードの動作とコードのフローチャートやフローグラフに集中します。

一般に、内部ソース コードには、演算子、メソッド、配列、ループ、制御ステートメント、例外ハンドラーなどのさまざまな要素があります。プログラムに与えられた入力に基づいて、一部のコード ステートメントが実行され、一部のコード ステートメントは実行されない場合があります。処刑される。ステートメント カバレッジ手法の目標は、コード内の実行可能なステートメントとパス行をすべてカバーすることです。

例によってステートメント カバレッジを計算するプロセスを理解しましょう。

雪と氷

ここでは、ソース コードを使用して入力値に従って 2 つの異なるシナリオを作成し、各シナリオのステートメント カバレッジの割合を確認します。

ソースコードの構造:

  • a=0 と b=1 のような 2 つの値を入力します。
  • これら 2 つの値の合計を求めます。
  • 合計が 0 より大きい場合は、「これは肯定的な結果です。」と出力します。
  • 合計が 0 未満の場合は、「これは負の結果です。」と出力します。
 input (int a, int b) { Function to print sum of these integer values (sum = a+b) If (sum>0) { Print (This is positive result) } else { Print (This is negative result) } } 

これがプログラムの基本構造であり、それが実行するタスクです。

次に、2 つの異なるシナリオと、特定のソース コードのステートメント カバレッジの割合の計算を見てみましょう。

シナリオ 1:
a = 5 の場合、b = 4

 print (int a, int b) { int sum = a+b; if (sum>0) print ('This is a positive result') else print ('This is negative result') } 

シナリオ 1 では、合計の値が 0 より大きい 9 になり、条件に従って結果が ' になることがわかります。 これは肯定的な結果です。 ' 黄色で強調表示されたステートメントは、このシナリオで実行されたステートメントです。

最初のシナリオのステートメント カバレッジを計算するには、ステートメントの合計数 7 と使用されるステートメントの数 5 を取得します。

 Total number of statements = 7 Number of executed statements = 5 
ステートメント適用リンク
 Statement coverage = 5/7*100 = 500/7 = 71% 
ステートメント適用リンク

同様に、シナリオ 2 では、

シナリオ 2:
A = -2、B = -7 の場合

 print (int a, int b) { int sum = a+b; if (sum>0) print ('This is a positive result') else print ('This is negative result') } 

シナリオ 2 では、合計の値が 0 より小さい -9 になり、条件に従って結果が ' になることがわかります。 これは否定的な結果です。 ' 黄色で強調表示されたステートメントは、このシナリオで実行されたステートメントです。

最初のシナリオのステートメント カバレッジを計算するには、ステートメントの合計数 7 と使用されるステートメントの数 6 を取得します。

ステートメントの合計数 = 7
実行されたステートメントの数 = 6

ステートメント適用リンク
 Statement coverage = 6/7*100 <br> = 600/7 = 85% 
ステートメント適用リンク

ただし、すべてのステートメントが両方のシナリオでカバーされていることがわかり、全体的なステートメント カバレッジは 100% であると考えることができます。

ステートメント適用リンク

したがって、ステートメント カバレッジ手法は、デッド コード、未使用のコード、およびブランチをカバーします。