たった10年で普及したテスト自動化

ソフトウェアテストの自動化は年々普及が進み、いまや多くの企業が導入している一般的なものになりつつあります。今から約10年前、2010年頃のソフトウェアテストといえば、エンジニアが夜通し手動で計画を作成し、納期に追われながら実行するというのが主流でした。テストの回数も数回程実行するのが精一杯で、開発過程で突然発生する仕様変更に泣かされながらも、都度テストを作り変えて実行していた時代があったのです。

しかしその後、テスト自動化の環境はたった10年で大きく様変わりします。IoT化の需要急増、ビジネススピードの大幅アップ、仮想化とコンテナ化の急ピッチな普及、さらには設計、開発プロセス、インフラ、デバイスなどが多岐にわたるようになり、それらが相互接続することでテストスコープは日に日に広くなりました。手動では到底対処しきれない状況が訪れたのです。

そこで救世主となったのがテスト自動化でした。テストスコープの拡充により、ソフトウェアテストの中でも、より広範囲を網羅できるE2Eテストが求められるようになり、少ないマンパワーでできるだけ早く結果を出せるようにと、GUI画面を使ってノーコードで簡単に作れるものへと変化していったのです。


E2Eテストとは

E2EテストはEnd to Endテストの略で、ユーザーインターフェーステスト(UIテスト)と呼ばれることもあります。システム全体の最初から最後までを漏れなく網羅し確認、期待通りの結果が出ているか確認するテストのこと。

コードがかけなくても作成できる手軽さが人気に

autify screen 1

10年前、テスト自動化が本格的に普及し始めた頃は、まだ手動テストから自動テストに移行する敷居が高く、導入やその後の運用が上手く取り扱えるのだろうかと尻込みする企業もありました。しかしE2Eテストを始めとするテストの自動化はあっという間にデイリーユースな存在へと進化していったのです。

中でもテスト自動化が普及する1番のキーポイントとなったのがコードがかけなくても作成できる手軽さでした。テスト自動化で使用されるテストアプリの中には、自分でコードが書けなくても、簡単な操作(GUI操作)だけでテストシナリオが作成できるものが登場したのです。その手軽さは予想を超えるレベルで、1~3分程度でスモークテストの自動テストスクリプトが書けます。

この手軽さは同時にベテランエンジニアにとっても便利なものとなりました。簡単なコードは手動で一から作り込まずに済むようになるため、ここで余った時間を使って、作り込みたいコードの作成に割り当てられるのです。コードが書けなくてもテストシナリオが作成でき、さらには、JavaScriptを使って自由度高く、引数などと組み合わせて、柔軟なにテストケースを作成できます。

オンプレミスからクラウド、加速する仮想化へ迅速に対応する柔軟性

sbbit reference

引用:ビジネス+IT

動化テストの対象は、Webからモバイル、オンプレミスからクラウドなど急速に変化し、ネットワークもシステム構成もより複雑になっていきました。となると、ただシステム全体をテストするだけでは物足りなくなってしまいます。

状況に応じてフロントエンドとバックエンドを切り分けたり、重要な箇所はテスト範囲を狭く設定することでより質の高いテスト結果を導き出す。開発途中で発生する機能の追加や変更、不具合の改修などに伴うリニューアルプログラムが、他のプログラムへ悪い影響を起こしていないかどうかを確認するためには、リグレッションテストが求められるようになっていきました。

ネットワークやシステムが複雑化すれば、手動テストだけでは到底補い切れない状況が発生します。E2Eテストを導入した企業の中には、いまやテスト自動化なしでは人手不足に陥ったり、スケジュール通りに立ち行かなくなってしまうと話す担当者様がいらっしゃいます。開発会社と確認を行う際も、そもそも自動テストしか行なっていないという会社も増えているのです。

マイクロサービスの台頭、テストスコープも自動化が主流に

microservices

引用:IBM

様々な種類のIoTサービスが世に誕生しアプリケーションが多様化していく中、それぞれのサービスやアプリケーションが持つ機能を分割し、必要な箇所だけを連携してシステムを動かす「マイクロサービス」という考え方が人気を集めるようになりました。

従来のモノリシック(一枚岩)と呼ばれていた開発アプローチと比較すると、マイクロサービスは拡張性や柔軟性に優れており、その分テストスコープは特定がより難しいものなっていきました。

結果、テストを自動化するだけでなく、テストスコープ(テスト範囲の特定)も自動化が主流になっていったのです。

テストは毎日実施、リクエストごとに追加するのが当たり前に

テスト自動化後は、テストを毎日行うのが当たり前になります。開発過程で追加されるリクエストごとにテストをアレンジしたり、追加するのも簡単です。

手動テストだとテスト結果が出るまで数時間は待っているのが通常でしたが、自動化すると、結果は平均で数分、早い場合は数秒で終わるものがほとんどです。それだけではなくテストの並列実行も当たり前になっているため、テストスピードは自動化することにより大幅にアップします。

テスト自動化でテレワークでも出勤不要

2019年にコロナウイルスの感染拡大が始まってからテレワークという働き方が誕生しました。感染が拡大した際は会社に出勤せず自宅から働くというやり方は昭和の時代に一体誰が想像したでしょうか?きっと誰も出来なかったであろう、革新的なワークスタイルがスタートしたのです。

しかしこのテレワーク、従来のテスト実施方法では、関係部署の人と何度もコンセンサスを取る必要があったり、テスト結果を報告するにも一苦労してしまいます。結局、出勤せざるを得ない人が続出するはめになり、落ち着いて仕事ができなければストレスも溜まり、業務の効率化は遅れをとってしまうかもしれません。

E2Eテスト自動化ツールを導入すれば、ノーコードでシナリオが作成できるため、自宅でプログラミングするのが不安、一人で完成できるか自信がないという方でも落ち着いて仕事に取り組めます。さらに最大10個のテストを並列のクロスブラウザで実行できるため、広範囲なテスト結果を短時間で関係者に共有することができます。さらにテスト結果は自動で画面キャプチャが撮れるので、必要な画面を添付できます。

テストシナリオは作成後、AIがメンテナンスをサポートする機能もあるため、例えば、リリースの度に変更されるUIの変化を監視し、テストシナリオを自動的にアップデートしてくれます。自動化後は壊れたテストスクリプトをひとつひとつ直す必要もありません。快適な自宅業務を過ごすにはテスト自動化は強い味方になるでしょう。

AutifyのE2Eテスト導入で自動化する6つのメリット

autify test automation merits

・ノーコードでのシナリオ作成

・並列のクロスブラウザテストでテスト頻度とカバレッジを最大化

・自動で画面キャプチャが撮れる

・作成後のテストシナリオはAIがメンテナンスをサポート

・カスタマーサクセスの方にフォローしていただける

・自動化カンファレンス開催

(まとめ)E2Eテストは手軽にエンハンスできる武器になる

私たちの生活にはもはや欠かせなくなっているIoT、今後はメタバースや衛星2.0が導入されると予測される中、IT需要は益々増えると予測されています。複雑化するネットワークやシステムに組み込まれるアプリケーションを安定的に運用するためには、E2Eを始めとしたテスト自動化の導入が企業の未来を左右していくはずです。

自動化されたテストの管理が難しそうだった時代は終わり、いまやAutifyなら簡単にレコーディング、分析、比較、テストができ、複数の端末でテストが実行できるという強みもあります。ぜひこれを機会にAutifyの無料トライアルをお試しください
 
Autifyではこの他にも品質保証やテスト、アジャイル開発に役立つ資料を無料で公開していますので、ぜひこちらからご覧ください。