2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

テスト自動化エンジニアシラバス:テスト自動化ツールと戦略を選択する評価プロセス

Last updated at Posted at 2024-12-03

はじめに

テスト自動化エンジニアのシラバスを再度読み直し、各章をDailyで読めるようにしてみた

2.2 Evaluation Process for Selecting the Right Tools and Strategies を今回は翻訳・解説する

テスト対象システムの分析と適切なテスト自動化ソリューションの決定

テスト対象システム(SUT)はそれぞれ異なりますが、成功するテスト自動化ソリューション(TAS)を作るためには、いくつかの重要なポイントを考える必要がある。

  • 要件の収集
    テスト自動化エンジニア(TAE)は、SUTの範囲や機能を理解し、それに基づいて必要な要件を収集
  • アプリケーションの種類
    ウェブサービス、モバイルアプリ、ウェブアプリなど、異なる種類のアプリケーションは、それぞれ異なるテスト自動化の方法が必要。
  • ステークホルダーとの協力
    手動テスターやビジネス関係者と協力して、リスクやその対策を特定します。これにより、将来に役立つテスト自動化ソリューションを作ることができます。

このように、SUTの特性を理解し、関係者と協力してリスクを管理することで、効果的なテスト自動化を実現できる。

テスト自動化アプローチとアーキテクチャの要件を考える際には、以下のポイントを考慮する必要がある

  • 自動化すべきテストプロセスの活動
    例:テスト管理、テスト設計、テスト生成、テスト実行など。
  • サポートすべきテストレベル
    単体テスト、統合テスト、システムテスト、受け入れテストなど。
  • サポートすべきテストタイプ
    機能テスト、性能テスト、セキュリティテスト、回帰テストなど。
  • サポートすべきテストの役割とスキルセット
    テストエンジニア、テストマネージャー、開発者などの役割と、それぞれのスキルセット。
  • サポートすべきソフトウェア製品、製品ライン、ファミリー
    実装されるTASの範囲と寿命を定義するために、どのソフトウェア製品や製品ライン、ファミリーをサポートするか。
  • TASと互換性のあるSUTの種類
    テスト自動化ソリューションが対応する必要があるSUTの種類。
  • テストデータの利用可能性とその品質
    テストデータがどの程度利用可能であり、その品質がどの程度か。
  • 到達不可能なケースをエミュレートするための方法
    例:サードパーティアプリケーションが関与する場合など。

これらの要件を考慮することで、効果的で持続可能なテスト自動化ソリューションを設計することができます。

ツール評価の技術的な所見

SUTを分析し、これらの要件を満たすテスト自動化ツールを検討する。
すべての要件を満たす単一のツールは存在しない可能性が高い。

可能なツールに関する所見を記録し、直接的および間接的な要件を比較表に反映させることが役立つ(星取表)
比較表の目的は、特定の要件に基づいてツール間の違いを関係者に見せることです。

ツールの評価基準

テスト自動化ツールの評価にあたっては、以下の基準を考慮する必要があります。

  1. 言語とテクノロジ
    ツールがサポートする言語やテクノロジが、プロジェクトの既存の技術スタックに適合しているか。
    テストスクリプトの開発とメンテナンスの容易さ。

  2. 構成可能性
    ツールのカスタマイズ性: 異なるテスト環境や実行構成に対応できるか。
    動的または静的な設定値の利用が可能か。

  3. テストデータ管理
    テストデータの生成、管理、保管機能が充実しているか。
    バージョン管理システムとの連携が可能か。

  4. テストタイプのサポート
    さまざまなテストタイプ(機能テスト、性能テスト、セキュリティテストなど)に対応できるか。

  5. レポート機能
    テスト結果をわかりやすくレポートできるか。
    レポートのカスタマイズが可能か。

  6. 統合性
    CI/CDツール(Jenkins、GitLab CI/CDなど)との連携が可能か。
    テスト管理ツール(TestRail、Jiraなど)との連携が可能か。
    他のプロジェクトツールとの連携が可能か。

  7. 拡張性とメンテナンス性
    将来的な拡張やメンテナンスが容易か。
    スケーラビリティ、変更可能性、互換性、信頼性に優れているか。

比較表の例

機能/要件 ツールA ツールB ツールC 優先度
スクリプト言語 Python Robotframework
オブジェクト識別 ×
テストデータ管理
CI/CD統合
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?