日本ナレッジの自動化ソリューション

「テスト自動化ソリューション」は、日本ナレッジの第三者検証の知見、ソフトウェア開発の経験を活かしてテスト自動化を支援するサービスです。 お客様のプロジェクトの課題を、テスト自動化という手段を用いて解決いたします。

日本ナレッジでは、E2Eテスト・UIテスト自動化をメインターゲットとしています。
※ご要望によってはUnitテスト自動化の設計・運用についても対応可能です


テスト自動化関連サービス

日本ナレッジでは、テスト自動化に関連した以下のサービスをご用意しています。

テスト自動化
導入コンサルティングサービス

自動化を開始するにも、「実際にシステムが自動化適用可能なのか」「予算がどのくらい必要なのか」「期待した効果が得られるのか」といった判断が難しく、躊躇してしまう場面があるかと思います。
テスト自動化導入コンサルティングサービスでは、プロジェクトの課題や対象システムのヒアリング、実際に自動化にトライアルしての実現性調査などを行い、導入をサポートします。

テスト自動化支援サービス

テスト自動化を進めるには専門スキルが必要です。また社内メンバーを教育するにはコストも掛かるため、立ち上げまでに時間を要します。

日本ナレッジのテスト自動化支援サービスならば、専門スキルを持ったエンジニアが導入から運用までワンストップで対応します。

テスト自動化セミナー

弊社のテスト自動化スペシャリストが、テスト自動化についてのセミナーを行います。
自動化チーム創設のための教育や、社内の自動化推進のための啓発活動などにご利用ください。

またハンズオンセミナーでは、実際に自動化ツールを利用して自動テストスクリプトの作成を体験いただけます。
他自動化セミナーと併せてご利用いただくことで、より実作業をイメージできるようになります。



テスト自動化とは?

テスト自動化は、目的を達成するための手段の一つです。
「テスト実行の頻度を上げたい」「テストに掛かるコストを削減したい」「テストの実行期間を短縮したい」などの目的を達成するため、テスト作業の一部を自動化することがテスト自動化です。

あくまで手段の一つであり、目的達成のためには自動化以外の方法が適している場合もあります。
自動化導入の際には「本当に自動化が最適な手段なのか?」を調査・検討した上で進める必要があります。



なぜ自動化するのか

プロジェクトによってさまざまな目的があります。
代表的な例としては以下の通りです。

短納期プロジェクトへの対応

問題点
・手動のテスト実施では間に合わない、あるいは間に合わせるために人員が必要になってしまう
・手戻りを避けるために、できればビルド毎など高頻度でテストをしたいが、リソース的に厳しい

自動化導入目的
高頻度でテスト実行したい、テスト実行期間を短くしたい

テストの規模が大きい

問題点
・開発規模に応じてテスト全体の規模も肥大し、テストに予算が掛かりすぎている
・テストの規模が大きくなり、予算の都合で実施できていないテストパターンがある

自動化導入目的
テスト全体のコスト削減、テストの機能カバレッジを改善したい

求められる品質の変化

問題点
・基本操作に不具合がないことは当たり前であり、そこに人員を割きたくない
・使用性、利用時品質の評価のために人間の判断が必要

自動化導入目的
機械ができることは自動化して、他の作業に人的リソースを活用したい



なにを自動化するのか

▼テストプロセス
一般的に、テスト自動化はテスト実行の自動化を指します。
テストの事前設定の準備、手順の実行、期待値の比較などが自動化可能です。またテスト結果がNGとなった場合のチケット発行や、テスト結果のレポートの作成・集計も自動で行うことができますが、不正の分析は人間が行う必要があります。


▼テストタイプ
自動化できるテストは、あくまで「ツールが判断できる内容(判定スクリプトが書けるような内容)」のみです。
そのため「使用性」のようなツールで判定させるのが難しいテストは自動化対象外となります。

またツールで判定可能な機能テストであっても、開発中の機能確認のスクリプトを並行して作成していくことは避けるべきです(開発中機能のシステムテストなど)。
E2EテストはUI操作でテストを実行することから、少しの機能変更でも動かなくなってしまうため、開発中の実装はメンテナンスコストが掛かりすぎてしまう可能性があります。

費用対効果の面から考えると、変更機能以外への影響確認のリグレッションテストを対象とするのが効果的と言えます。


▼テストレベル
どのテストレベルにおいても、テスト自動化を導入可能です。基本的には後工程での手戻りを避けるためにコンポーネントテストに対するUnitテスト自動化を優先し、実行・メンテナンスに時間とコストが掛かる上位のE2Eテストは最低限に留めることが原則です。
また従来のウォーターフォール型の開発だけでなく、テストの速度と頻度が求められるCI/CDにおいてもテスト自動化は有効です。デイリーのビルドに対して手動でテスト実行するのは現実的ではなく、そのような場合には自動化は必須とも言えます。


▼対象機能/テスト
対象システムの内、「自動化できる機能/テスト」を全て自動化する訳ではありません。実装難易度、機能改修の頻度、自動化によるテスト効率性を鑑みて、「自動化に向いている機能/テスト」を選定する必要があります。
また既存の手動テストは内容が自動化向きでない場合も多いため、自動化に効果的なテストケースに修正することも行います。



テスト自動化の心構え

コスト削減だけを目標にしない

コスト削減効果は僅かにしか得られないか、クォーター単位や半期単位など長期運用によって得るもの、として考えるべきです。
そもそものテスト実行頻度や自動テストのメンテナンス工数によっては、コスト削減効果がまったくない場合もあります。

自動化によるメリットとして挙げられる「テスト実行速度・期間の短縮」「機能カバレッジなどのテストの見直し」「手動テストの実施ミス排除」といった工数削減以外の効果も加味して導入を検討する必要があります。


スクリプトは壊れる

E2Eの自動テストはUI要素に対して操作/確認を行うため、UIの変更に合わせてスクリプトを修正しなければなりません。
スクリプトの作り方によっては、対象要素の文言が一文字変化しただけでも動かなくなる場合があります。

スクリプトの修正には当然コストが掛かります。
出来る限り修正コストを減らすためには、「変更が少ない機能選定」「壊れづらいスクリプトの作り方」「直しやすいスクリプトの作り方」の事前検討が必須です。


自動化率○○%を目標にしない

自動化導入時に「自動化率○○%」などを目標に挙げるケースがありますが、手動/自動のテスト比率自体を目標にすることは適切ではありません。 結果として目標であった自動化率70%などを達成したとしても、自動化効率の悪い機能も対象に含めたことによりメンテナンスコストが増大する場合もあります。

テスト自動化では、意味のないテストを自動化しても効果を得られません。重要なのは目的に合わせて効果的に自動化を導入することであり、自動化率は目標ではなく工数見積や費用対効果算出のためのメトリクスとして利用すべきです。



テスト自動化事例

これまでの弊社のテスト自動化実績から、事例を紹介します。
以下は弊社のテスト自動化支援サービス、自動化導入コンサルティングサービスでの事例の一部です。

クラウド型コールセンターシステム
目的

テスト自動化による工数削減

機能カバレッジの改善

システム

管理画面:Web

ソフトフォン:Windowsアプリケーション

作業内容

自動化向けのテスト設計(再構築)

リグレッションテストの自動化

利用ツール

Ranorex

自作ツール

クラウド型業務支援システム
目的

テスト自動化による工数削減

他社自動化サービスからの変更

システム

Web

作業内容

ブラウザバージョンアップ時の影響確認の自動化

リグレッションテストの自動化

利用ツール

Ranorex

サービス系Webサイト
目的

テスト自動化による工数削減

他社自動化サービスからの変更

システム

Web

作業内容

CIツール連携の構築

リグレッションテストの自動化

利用ツール

Ranorex

某社基幹システム
目的

テスト自動化による工数削減

機能カバレッジの改善

システム

Web

作業内容

画面比較用のキャプチャ取得自動化

リグレッションテストの自動化

利用ツール

TestArchitect

チャットボットサービス(トライアル)
目的

テスト自動化による工数削減

自動化適用可否の判定

システム

Web

作業内容

実現性調査

利用ツール

TestArchitect

無線ネットワーク機器(トライアル)
目的

テスト自動化による工数削減

自動化適用可否の判定

システム

Web

作業内容

実現性調査

利用ツール

TestArchitect



Contact

メールフォーム、
またはお電話でお問い合わせください。
メールフォームの場合は、
原則3営業日以内にご返信しております。
お急ぎの方はお電話にてお問い合わせください。

メールでお問い合わせ