Special
» 2021年03月16日 10時00分 公開

「2025年の崖」を超えるためのファーストステップはツールによる開発効率の向上――テスト業務効率化の秘策とは人手不足は機械学習を活用した“自動化”“効率化”で解決を

DXに取り組まなければ今後の企業成長は困難。しかし、人手不足も相まって現行システムのメンテナンスで手がいっぱい――そんな課題に直面している企業は少なくないはずです。解決の鍵は、AI/機械学習を活用した支援ツールを取り入れることで、“人手”を減らすことにあります。

[PR/@IT]
PR

DXを推進したいが、人手が足りないという現実

 「2025年の崖」問題が指摘された2018年9月の『DXレポート 〜ITシステム「2025年の崖」克服とDXの本格的な展開〜』から約2年、経済産業省が2020年12月に公表した『DXレポート2(中間取りまとめ)』によると、状況はあまり好転していません。9割の企業がデジタルトランスフォーメーション(DX)に未着手、または途上とのことです。

 「2025年の崖」問題とは、そもそも何なのか。あらためて整理してみましょう。

 企業を取り巻く環境が激変する中、IT人材不足は深刻化の一途をたどっており、2025年には約43万人不足するといわれています。GAFAをはじめとしたDXを進める企業がさまざまな市場を席巻する一方で、うまく変化に対応できずにレガシーシステムの保守に専念している企業は新たな価値創造が困難となります。結果、グローバルなマーケットでも戦えず、最大で年間12兆円もの損失が出続けてしまうと試算されています。

 これを乗り越える助けになるのが「デジタルの力」です。ITが発展し、グローバル化が進む中、ビジネスも、またそれを支えるシステムも、状況に合わせて柔軟に変化し続けることが求められています。じっくり綿密に設計して数カ月〜数年単位で開発していくウォーターフォール方式では、残念ながらこうしたニーズに応えることは困難で、それ故にアジャイル方式が注目を浴びています。

 「アジャイルだ」「デジタル化だ」という掛け声は盛んですが、なかなか思い通りに進まない例は枚挙にいとまがありません。ITや新たな技術に対する理解は不可欠ですが、それ以前に「何はともあれ人手が足りない」という深刻な問題があります。アジャイル開発で新しい価値を生み出すどころか、現行システムのメンテナンスに追われ、貴重な人材や予算がそこにつぎ込まれてしまっているのです。

開発効率向上の鍵を握る「スクリプト作成/メンテナンスの自動化」

 となると、日本企業にはDXは向いていないのか――いえ、諦めるのはまだ早いでしょう。できるところから効率化を進め、全体を最適化していくことが重要です。実は、問題解決のヒントも、先のレポートで言及されています。その一つが「ツールの導入による支援」です。

 DXを進めたくても人材は不足。かといって、新たな人材を採用することも難しい上に、即座に育つものでもありません。ならば、現在の業務の自動化、効率化を図るしかありません。どうしても動かし続けなければならない既存システムのメンテナンスをなるべく省力化し、そこで生まれた余裕をDXや新たなアプリケーション開発に投じる――という具合に、リソースを割り振ることで、一歩前に進むことができるでしょう。

 では、レガシーシステムの保守、メンテナンスでは、どこから省力化するのが最も効果が高いのでしょうか。答えは「テスト工程」です。テスト工程は開発作業全体の40%を占めるといわれています。設計やコーディングの自動化は困難ですが、テストを自動化できれば、アプリケーションの開発、保守全体の工数を大幅に削減できるでしょう。

 もちろん、テストの自動化/効率化は、アプリケーション開発の歴史の中でたびたびトピックに挙がってきました。特に、WebアプリケーションやAndroid/iOSなどスマートフォンのネイティブアプリケーションについては、スクリプトで自動化を支援するツールや「Selenium」「Appium」などのフレームワークも登場しています。

 しかし、これまでのテスト自動化にはいくつか課題もありました。中でもよく耳にするのが、テスト用スクリプトのメンテナンス負荷が高い、という課題です。

 こうしたテスト自動化ツールは、ユーザーの操作手順を想定したスクリプトをあらかじめ作成し、それを実行することで、アプリケーションの挙動に問題がないかどうかを確認します。ただアプリケーションは、一度作ればそれで終わりではありません。リリース後も機能追加やブラウザバージョンアップなどの環境変化への対応など、さまざまなメンテナンスが必要です。リリース前のテストが不十分だと品質面で問題が出かねません。

 問題は、アプリケーションをバージョンアップしたら、それに追随してテスト用スクリプトも手直しする必要があるということです。アプリケーションのリリース頻度が高まり、規模が大きくなるにつれ、スクリプトメンテナンスの手間も増大します。「せっかく自動化したはずのテスト作業なのに、メンテナンスのために新たな手作業が発生する」といった、矛盾するような状況が起きているのです。

AI/機械学習で豊富なテストを効率的に実施する「Appvance IQ」

 スクリプトのメンテナンスの手間を減らし、テストをさらに自動化、効率化できれば工数を削減できて、ひいてはDX推進に割く余力が生まれるはず――そんな問題意識にぴたりと当てはまる製品の一つが、日立ソリューションズのAI(人工知能)/機械学習技術を活用したテスト支援ツール「Appvance IQ」です。

ALT 日立ソリューションズのテスト支援ツール「Appvance IQ」は、スクリプトのメンテナンスの手間を減らし、テストの自動化、効率化を推進する(出典:日立ソリューションズ)《クリックで拡大》

 Appvance IQは、SaaS(Software as a Service)版とオンプレミス版が用意されており、テスト工程を効率化する3つの機能を提供します。

機能1:Test Designerによるテスト用スクリプト生成

 1つ目の機能は「Test Designer」です。最初に一度、担当者がテスト対象アプリケーションを操作すると、その過程をAppvance IQが「録画」して、それに基づいてテストスクリプトを生成してくれます。スクリプトをコーディングする必要がなく、GUIで作れるので、高度な知識を持たない人でも保守性の高いスクリプトを作成する一助になるでしょう。

 Test Designerは、アプリケーションの機能をチェックする機能テストの他、仮想ユーザーによる「性能テスト」や、Webセキュリティレポート「OWASP Top 10」に基づいて、情報漏えいなどにつながる恐れのある脆弱(ぜいじゃく)性を検査する「セキュリティテスト」のスクリプトも作成、実行して、その結果をレポートできます。

機能2:AI Scriptingによるテスト用スクリプト生成

 2つ目の機能は、AI/機械学習を使ってテストスクリプトを自動生成する「AI Scripting」です。まず、Appvance IQがアプリケーションにアクセスし、画面構成やコンポーネントといった環境を解析して「ブループリント」という環境構成情報を自動的に作成します。このブループリントをベースに、2種類のテストを実行します。

ALT 「AI Scripting」は、自動作成したアプリケーション解析データをベースに、AI/機械学習でテストスクリプトを自動生成する機能(出典:日立ソリューションズ)《クリックで拡大》

 1つは、「各画面やボタンがきちんと表示されるかどうか」「ボタンを押したら意図した通りの応答を返してくるかどうか」といった基本的な挙動を確認する「スモークテスト」です。「コーディングやデプロイ時のミスで疎通に問題が起きていないかどうか」を、アプリケーション全体にわたって効率的に確認します。

 もう1つは、AI Scriptingならではの特徴でもある「回帰テスト」の効率化です。最初に作成したブループリントとWebアプリケーションサーバのログを基に、ユーザーが操作した手順をAppvance IQのAIが解析し、実操作を再現するスクリプトを自動的に生成します。

 アプリケーションと業務、どちらにも精通した担当者がテストケースを整備するのが典型的な回帰テストのやり方です。しかし、人手不足が深刻化する昨今、それができる人もいなければ時間もないのが大半の企業の実情でしょう。AI Scriptingは、ログをインプットすれば、そのログに記載された操作パスを網羅するスクリプトを短期間で自動生成できるので、回帰テストのプロセスが大幅に効率化します。

機能3:ツール連携によるテストの効率化

 3つ目の機能は、さまざまなツールとの連携によるテストの効率化です。アジャイル開発に取り組む中で、CI/CD(継続的インテグレーション/継続的デリバリー)の「Jenkins」やプロジェクト管理の「Jira」、あるいは「Bamboo」や「Hudson」といったツールを活用し、開発プロセスの効率化を進めるケースが増えていますが、Appvance IQはそうしたツールとの高い親和性を備えています。

 例えば、Gitなどのリポジトリにコードをコミットしたら、それをトリガーにしてJenkinsが動き出してAppvance IQのスクリプトを呼び出して実行したり、テストでバグを検出したらその情報をJiraのチケットとして登録したりといった具合に、柔軟な連携が可能です。何より重要なのは、これによって「開発」と「テスト」という2つのプロセスの距離を縮め、より短く素早く開発サイクルを回すことができる点です。

 Appvance IQはこうしてテスト用スクリプト作成と実行の手間を省くだけでなく、これまでのテスト自動化ツールで課題となっていた、スクリプトメンテナンスの手間も省く「セルフヒーリング機能」も備えています。アプリケーションの改修で画面構成の一部が変わってしまい、それまでのテストスクリプトが動かなくなったとしても、これまでのように手動で確認し、手直しする必要はありません。あらかじめ定めておいたルールに基づいて、スクリプトが止まらずテストできるように問題を解消してくれます。

ALT Appvance IQはテスト用スクリプト作成/実行の手間を省くだけでなく、スクリプトメンテナンスの手間も省くことで、テスト作業の大幅な効率化に貢献する(出典:日立ソリューションズ)《クリックで拡大》

 このようにAppvance IQは、AIを活用してアプリケーションのテストにまつわるさまざまなプロセスを自動化して負荷を省きつつ、機能テストや性能テスト、セキュリティテスト、回帰テストなどさまざまなテストを網羅できることが特長です。さらに、他ツールと連携することで、2025年の崖で示されたDXに向かう上での課題、開発プロセスを効率化して、余力を生み出せます。

適切にAppvance IQを使いこなすことで人手不足の解消を

 「変化に対応したいが、既存システムのメンテナンスやテストスクリプトのメンテナンスに工数を取られて人手が足りない」「ビジネスの変化に対応してどんどんアプリケーションをバージョンアップしたいけれど、テストが回り切らずに品質面で問題が多発してしまう」――このような問題に直面する企業は少なくないでしょう。Appvance IQは、適材適所でAIを活用することで、そうした問題を解決します。海外では、テスト工数を数十分の1に削減できた事例もあるそうです。

 ただ、AIは決して“万能薬”ではありません。「導入したから全てお任せ」というものではなく、データ作成など手作業で確認すべきところは残ります。重要なことは「全体最適化」「全体の効率化」に向けてうまく使いこなすことであり、少しずつ試しながらAIが作成したスクリプトの精度などを確認して、自社なりのベストプラクティスを作り上げていくことがポイントになります。

 日立ソリューションズでは、絶対に欠かせない重要なテストケースはTest Designerを用いてGUIでスクリプトを作成しつつ、これまで「やりたかったけれど手が足りなくて……」と諦めていた部分はAI Scriptingで網羅的なテストを実施するという組み合わせを推奨しています。一度Appvance IQに触れてみて、テスト自動化、ひいては全体の最適化に向けた第一歩を踏み出してみてはいかがでしょうか。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:株式会社日立ソリューションズ
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2021年5月15日

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。