JSTQB Advanced Level テストマネージャ学習vol.21


JSTQB ADVANCED LEVEL テストマネージャ試験概要はこちらを参照

6.テストツールおよび自動化

6.2 ツール選択

テストツールを選択する場合にはテストマネージャは様々な問題を考慮する必要がある。
ツールの種類に関係なく、コストメリットを分析し、ツールの想定されるライフサイクル全体での総所有コストを入念に調査する必要がある

6.2.1 オープンソースツール

オープンソースツールはプロセスのほとんど全ての局面で利用できるものがある。

メリット:コストが高くない。ユーザが変更、拡張できる。
デメリット:正式なサポートがない場合がある。特定の問題解決に特化したものが多い。セーフティクリティカル、ミッションクリティカルな開発組織では使用に問題が生じる場合がある。正確性を保証しない。

導入前にテストグループの実際のニーズを入念に分析する必要がある

6.2.2 カスタムツール

メリット:チームのニーズに正確に適合する。効率的に動作させられる。組織の直近のプロジェクトだけでなく、複数のプロジェクトで利用することができる。

デメリット:作成した人に依存する。追加機能による品質の問題。不正確なデータの作成をもたらす可能性。

他のソフトウェアと同じように開発上の問題が発生する可能性があることを認識する必要がある。カスタムツールは期待どおりに動作するように、設計およびテストする必要がある

6.2.3 投資効果(ROI)

ツールが実用的で継続して利点をもたらすようにするためにツールの入手または構築を行う前にコストメリットを分析(固定費 / 初期コスト両方)する。

初期コスト

  • 目的と目標を満たすためのツール要件の定義
  • 適切なツールとツールベンダーの評価および選択
  • ツールの購入、適用、または開発
  • ツールの初期トレーニングの実行
  • 他のツールとの統合
  • ツールをサポートするために必要なハードウェア / ソフトウェアの購入

固定費

  • ツール所有コスト
    • ライセンス料金 / サポート料金
    • ツール自体のメンテナンスコスト
    • ツールにより作成された成果物のメンテナンス
    • 継続的なトレーニングおよびメンタリングコスト
  • 別の環境へのツール移植
  • 将来にニーズへのツールの適用
  • 選択したツールを最適に使用できるようにするための品質とプロセスの改善

ツールの使用にはリスクが伴う。すべてのツールがリスクを上回る利点を提供するわけではない。テストマネージャはROIを検討する場合、以下のリスクも考慮する必要がある

  • 組織の未成熟性(ツールを使用する準備が整っていない)
  • テスト対象のソフトウェアの変更により、ツールによる成果物に複数の版(リビジョン)が必要となるため、ツールによる成果物のメンテナンスが困難となる可能性
  • テストアナリストによるテストタスクへの関与の減少がもたらすテスト価値の低下(例えば自動化したスクリプトを実行しているときのみ欠陥検出の効率が低下してしまうなど)

ツールの導入、利用がもたらす利点
- 反復作業の減少
- テストサイクル時間の削減
- テスト実行コストの削減
- 特定のテストタイプのテスト実行数の増加(回帰テストなど)
- テストの様々なフェーズでの人的エラーの減少
- データ生成ツールの使用による、テストデータの有効性向上
- 比較ツールの使用によるテスト結果比較時の精度向上
- スクリプトツールの使用によるテストデータ入力の正確性向上
- テストに関する情報にアクセスするために必要な工数の削除
- ツールにより生成されたレポートおよびメトリクス
- テストケース、テストスクリプト、テストデータなどのテスト資産の再利用
- ツール使用により可能になるテストタイプの増加(性能テスト、ロードテストなど)
- 自動化を実現したテスト担当者の地位と、洗練されたツールを理解した上で使いこなすことを示すことでテスト組織全体の地位向上

6.2.4 選択プロセス

テストマネジャは候補となるツールを様々な観点から検討する必要がある。

  • ビジネス:プラスのROIが求められる。高い価値を取得する為、ツールを連携して相互運用する。プロセス、接続生を改善して相互運用を達成する。達成まで時間がかかることがある。
  • プロジェクト:効果的なツールが求められる。投資効果が現れるまで長い時間がかかることがある。
  • ツール利用者:プロジェクトのメンバがタスクをより効率的および効果的に行えるようになることが求められる。トレーニング、メンタリングが必要

テストツール選択プロセス
- 組織の成熟度を評価する
- ツールの要件を識別する
- ツールを評価する
- ベンダーまたはサービスサポートを評価する
- ツールを使用するためのトレーニングおよびメンタリングの内部要件を識別
- 現在のテストチームのテスト自動化スキルに基づいてトレーニングニーズを評価
- コストメリットを見積もる

各種類のツールに対して、テストマネージャは次の能力を検討する

  • 分析
    • このツールは与えれる入力を理解できるのか?
    • ツールは目的に合致しているか?
  • 設計
    • 既存の情報に基づいてテストウェアを設計することを支援するか?
    • 自動設計が行えるか?
    • 実際のテストウェアコードはメンテナンスおよび使用が可能な形式で、全部あるいは一部が生成されるか?
    • 必要なテストデータに自動的に生成されるか?
  • データとテストの選択
    • ツールは必要なデータをどのように選択するか?
    • ツールは手動または自動で入力した選択条件を受け付けるか?
    • ツールは選択した人力に基づいて運用データを「選別」する方法を決定できるか?
    • ツールはカバレッジ基準に基づいて必要とするテストを決定できるか?
  • 実行
    • ツールは自動できるか?または手動による操作が必要か?
    • ツールはどのように停止し再起動するか?
    • ツールは関連するイベントを「把握」できるか?
  • 評価
    • ツールは適切な結果を受け取っていえるかどうかどのように確認できるか?
    • ツールはどのような種類のエラー回復能力を提供するか?
    • ツールには適切なログ記録およびレポートの機能が用意されているか?

6.3 ツールのライフサイクル

ツールを有益に利用するためのライフサイクルにはテストマネージャがマネジメントする4つの段階がある

  1. 調達: テストマネージャは管理者となる人を割り当てる。管理者はツールを使用する方法と状況、作成した成果物を格納する場所、命名規則などを決定。またツールのユーザに適切なトレーニングを行う
  2. サポートとメンテナンス: ツールを維持するための責任はツールの管理者か専門のツールグループに割り当てる。他のツールと連携させて使用する場合、データ変換プロセスの検討、ツールのバックアップとリストア、その出力を検討する
  3. 進化: 環境、ビジネスニーズ、ベンダーの問題によって進化、改造を検討しなければならない。テストマネージャはツールがテストで果たす役割に応じてサービスの継続性を確率する必要がある
  4. 廃棄: ツールによって提供されていた機能を何かに置き換え、データは保持、アーカイブする。これが発生するのはツールがライフサイクルの最終段階にあるか、新しいツールへの移行による利点と機会がコストとリスクを上回るようにあった場合である。

6.4 ツールのメトリクス

テストマネージャはテクニカルテストアナリスト、テストアナリストによって使用されるツールに関して目的のメトリクスを設計し収集できる。

ツールにより重点的に収集するデータ種類
- テストマネジメントツール:カバレッジメトリクス。テスト実行ステータスのスナップショット
- 欠陥マネジメントツール:システム全体での欠陥に関する現在のステータス、重要度、優先度、分布など。欠陥が混入したフェーズ、見逃し率など、これらはテストマネージャがプロセス改善するのに役立つ
- 静的解析ツール:保守性の問題を検出、報告に役立つ
- 性能テストツール:システムの拡張性に関する有益な情報を提供
- カバレッジツール:テストマネージャがテスト全体でテスト消化率を理解するのに役立つ

記事内用語解説

リビジョン

ソフトウェアやハードウェアに対する細かな修正

メンタリング

人の育成、指導方法の一つ。指示や命令によらずメンターとの対話による気づきと助言により、自発的・自律的な発達を促す方法

セーフティクリティカルシステム (safety critical system)

故障や誤動作が人命や人々への深刻な損害、若しくは機器へのダメージや環境被害となる可能性のあるシステム。