Atsushi2022の日記

データエンジニアリングに関連する記事を投稿してます

動画で学ぶJSTQB

JSTQBシラバスはちょっとわかりにくいところがあるので、動画ないかなと探したところ↓のYouTubeに行きついた。

www.youtube.com

テスト技法

気になっていたテスト技法をリストアップしてみるとこんな感じ。

  • 静的テスト
    • アドホック:レビュアーに成果物を見せて意見をもらう
    • チェックリストベース:事前に用意したチェックリストに従って懸念事項を確認する
    • シナリオとドライラン:事前にシナリオを準備し、どういう動きになるか想像しながら予行演習(ドライラン)を行う
    • パースペクティブベース:最も効果が高い。様々なステークホルダーの視点でレビューを行う
  • 動的テスト

静的テストと動的テストは相互補完的なものでどちらが優れているということはない。動的テストで検出が難しい欠陥を少ない工数で検出できる。

ユースケーステストのユースケースは↓のようなもの。引用元サイトはこちら

JSTQBの範囲ではないけれど、C0/C1カバレッジという考え方もある。

C0カバレッジ率=実行行数÷全行数

C1カバレッジ率=実行分奇数÷全分岐数

www.youtube.com

テスト終了基準

  • 計画したテストが完了している
  • カバレッジ
  • 未解決欠陥件数が合意内に収まっている
  • 残存欠陥数が十分に少ない
  • 品質特性の評価レベルが十分

(感想)数だけでなく、「クリティカルな欠陥がないこと」も終了基準として重要ではないかと感じた。

テスト支援ツールの種類

  • 静的解析ツール
    • ソースコードを解析して、コーディングパターンに違反している個所を指摘してくれる
  • テストデータ準備ツール
  • テスト自動化ツール
    • 事前にテスト入力値とテスト実行結果の期待値を格納し、自動的(半自動的)にテストを実行してくれる
  • カバレッジルール
    • コードに対してどのくらいテストが完了したかを計算してくれる
  • 性能テストツール
  • 動的解析ツール
    • ソフトウェア実行中に欠陥を検出してくれる

テストツールのリスク

  • ツールの導入・メンテナンスのコストを過小評価してしまう
  • EOL等でツールが利用できなくなる
  • 新しい技術をサポートしない