「DevOps」にテスト自動化が必要な理由
DevOpsが再注目
株式会社アシストの田代です。本稿では以前のブログ「アプリケーションデリバリー自動化ソリューション」で登場したUFT Oneについて掲載します。
数十年前とは異なり、あらゆるものがソフトウェアの制御で動いています。これだけ世の中のものがソフトウェアで制御されていると、変化への追従、または先取りをするために、ソフトウェアの頻繁な変更が大前提になります。DevOpsで提唱する、顧客が期待する品質のシステムを、どのようにして安定した生産性と適切な変更コストで提供するか?という概念がIT部門に求められているのではないかと考えます。
「ユーザーの要求」の大前提はシステムが機能すること
DevOpsでは、顧客に価値あるソフトウェアを提供するために、品質を維持しながら安定した生産性と適切な変更コストで届けることが期待されます。顧客が要求するものとしては、業種問わず以下が挙げられます。(参考書籍:「Clean Agile 基本に立ち戻れ」から一部抜粋)
顧客の要望
- 再現可能なテストを通じてシステムが機能する。
- システム開発の進捗度合いを知る。
- 機能を途中で差し替えたり、プライオリティを変更できる。
- 発注を取り消し、その時点で機能するシステムを手にする権利がある。
本記事では「再現可能なテストを通じてシステムが機能する」「機能を途中で差し替えたり、プライオリティを変更できる」という部分にフォーカスします。
回帰テストを自動化するUFT One
UFT Oneには、以下の特長があります。
- GUI操作でテスト作成でき、キャプチャ&リプレイツールを使って、ノンコーディングでテストコードが生成される。
- コーディングによるテストコードの作成も可能で、コーディングレベルに合わせたテストコードが作成できる。
- テストデータのバリエーションテスト、シナリオテスト、分岐テストを柔軟に作成できる。
- ソースコード管理ツールでテストコードを管理できる。
- バッチや継続的インテグレーションツール(以下、CIツール)やAPIからテストコードを実行できる。
- テストコード実行成否を画面ショット付きで保存できる。
- テスト結果はHTMLファイルで保存されるため、CIツールや外部の進捗管理ツールでも保存や表示ができる。
図1:UFT One開発画面
図2:UFT One テスト結果
これらの特長により、UFT Oneは「いつでも再現可能なGUIレベルの回帰テスト」の自動化が実現できるツールです。
継続的インテグレーション(CI)ツールとの連携
機能の追加や機能プライオリティの変更といった顧客からの急な要望にも、柔軟に対応する必要があります。CIツールを駆使することで、開発やリリースタスクを自動化することができます。
UFT Oneは「CIツールから実行できる」ので、一般的なCIツールにテストコードを実行するタスクを組み込むことができます。
図3:CIツール連携イメージ
各開発/リリースに必要なタスクや回帰テスト自動化をCIツールに組み込むことで、変更があっても「既存機能が機能すること」を担保しながら、顧客の要望に応えることができます。
さらに、自動化により作業時間も大幅に削減することができます。以下は、テストを手動テストで実施した場合と、テスト実行を自動化した場合の工数を比較した例です。
図4:導入効果
おわりに
DevOpsに取り組まれる方には、「UFT One」をぜひご活用いただければと思います。
■参考情報
株式会社アシストの製品紹介ページ
https://www.ashisuto.co.jp/product/
資料ダウンロードはこちら
フォームに必要事項を記入いただくことで、UFT One資料がダウンロードできます。
この記事の著者:田代泰章
2007年に株式会社アシストに新卒入社。入社後、サポートセンターに所属し、テストツールをはじめ、監視ツールやサービスデスク、自動化ツールの技術サポートに従事。2020年からテストツールやアジャイル、DevOps関連のプリセールスエンジニアとして、企業価値を高めるシステムに貢献できるよう活動中。
DevOps Hubのアカウントをフォローして
更新情報を受け取る
-
Like on Facebook
-
Like on Feedly