徒然なるままに

学習メモがメインです

JSTQBFL6章のまとめ

はじめに

1章2章3章5章に引き続き6章を読んでみました。シラバスの内容について「これ大事だな」と思うもの独断と偏見で記述し、「特に大事だな」と思うものboldにしています。

JSTQBFL5章テストマネジメントでの学び - 徒然なるままに

JSTQB FLのシラバス第3章:静的テストでの学び - 徒然なるままに

JSTQBFL1章のまとめ - 徒然なるままに

JSTQBFL2章のまとめ - 徒然なるままに

シラバス内容

テストツール

テストツールの目的

  • 反復作業を自動化することによって、テスト活動の効率を改善する
  • テストプロセス全体を通して、手動で行うテスト活動を支援することによって、テスト活動の効率を改善する。
  • テストの一貫性や欠陥の再現性を高めることで、テスト活動の品質を改善する。
  • 大規模な性能テストといった手動では実行できない活動を自動化する
  • 大量のデータの比較を自動化、または動作のシミュレーションをすることによりテストの信頼度を向上させる。

テストツールの分類

  • テストとテストウェアのマネジメントの支援ツール
    • ソフトウェア開発ライフサイクル全体であらゆるテスト活動に適用できるツール。
    • ツールの例
      • テストマネジメントツールとアプリケーションライフサイクルマネジメントツール(ALM)
      • 要件マネジメントツール(テスト対象へのトレーサビリティなど)
      • 欠陥マネジメントツール
      • 構成管理ツール
      • 継続的インテグレーションツール
  • 静的テストの支援ツール
    • 静的解析ツール
  • テスト設計とテスト実装の支援ツール
    • テストの設計と実装で保守性の高い作業成果物(テストケース、テスト手順、テストデータなど)を作成できるように支援する。
    • ツールの例
      • モデルベースドテストツール
      • テストデータ準備ツール
  • テスト実行と結果記録の支援ツール
    • テスト実行と結果記録の支援ツール
    • カバレッジツール
    • テストハーネス
  • 性能計測と動的解析の支援ツール
    • 性能テストとロードテストは手動では効果的に実行できないため、これらのテスト活動では性能計測ツールと動的解析ツールが必須になる。
    • ツールの例
      • 性能テストツール
      • 動的解析ツール

テストツールの注意点

ツールが結果に影響を及ぼすことを、プローブ効果と呼ぶ。例としては、性能テストツールによって実行される余分な命令のせいで、アプリケーションの応答時間が実際とは異なってしまうかもしれないし、達成したコードカバレッジの量がカバレッジツールを使用したせいで変わってしまうかもしれないケースがこれに当たる。

テスト自動化の利点とリスク

単にツールを取得しても、成功は保証されない。組織に対して新たに導入した各ツールの本来の効果を継続的に上げるには、相応の工数が必要になる。

  • 潜在的な利点の例
    • 反復する手動作業の削減と時間の節約
    • 一貫性や再実行性の向上
      • 整合性のあるテストデータ、同じ頻度と順序でのテスト実行、要件からの一貫したテストケースの抽出など。
    • 評価の客観性向上
    • テストに関する情報へのアクセスの容易性向上。
      • テスト進捗、欠陥率や性能計測結果の集計、およびグラフの作成など。
  • 潜在的なリスクの例
    • テストツールの効果を過大な期待
    • テストツールを初めて導入する場合に要する時間、コスト、工数を過小評価する。
    • 大きな効果を継続的に上げるために必要な時間や工数を過小な評価
    • ツールが生成するテスト作業成果物をメンテナンスするために必要な工数の過小評価
    • ツールへの過剰な依存
      • テスト設計またはテスト実行と置き換えられると考える、手動テストの方が適したケースで自動テストを利用できると考えるなど。

ツールの効果的な使い方

ツールを選択する際の基本原則

  • 自分たちの組織の成熟度、長所と短所を評価する。
  • ツールを活用するためにテストプロセスを改善する機会を識別する。
  • テスト対象で使用する技術を理解して、その技術と互換性のあるツールを選択する。
  • 明確な要件と客観的な基準を背景にツールを評価する。
  • ツールに直接携わる担当者のテスト(およびテスト自動化)スキルを考慮して、トレーニングの必要性を評価する。
  • 必要に応じて具体的なビジネスケースに基づいて、費用対効果を見積る。

ツールを組織に導入するためのパイロットプロジェクトの目的

  • ツールに関する知識を深め、強みと弱みを理解する。
  • 現状のプロセスや実践しているやり方にツールをどのように適用するかを評価する。そして何を変更する必要があるかを特定する。
  • ツールやテスト作業成果物の標準的な使用方法、管理方法、格納方法、メンテナンス方法を決める。
  • 期待する効果が妥当なコストで実現可能かどうかを見極める。
  • ツールによって収集およびレポートをさせたいメトリクスを理解し、メトリクスを確実に記録し レポートするようにツールを設定する。

感想

  • テストツール=自動テストのためのテスト実行ツールと思いがちですね。実際には他にもツールがありますが、テストツールの種類が多くてイマイチ覚えられていません...
  • ツールの選定/については、別にテストツールに限った話ではなく、テストに関係しない他のツールを選定/導入するときと同様の話ですね。