ノーコードUIテスト自動化でいかにTCOを削減するか
昨今のコロナ禍で、チームの体制が変わったり、費用削減を求められたりしている方も多いのではないでしょうか。ただ、QAマネージャーとしては、無駄なく、かつ品質の高いE2Eテストを構築し、実行し続ける必要があるでしょう。特に、そこにかける時間が最も重要な点の1つで、手作業によるリグレッションテストをしていては時間がいくらあっても足りません。 成功に直結させるための選択肢として、ノーコード自動UIテストがあり、これらのTCOについて考えてみませんか。 それでは、質問です。変更の多いアプリケーションに対するUIテストをどうやって継続的に実現しますか?
より良いQA、テストエンジニアの採用は、簡単ですか?自動テストを作れる人材を育てますか?
一般的に、良いQA・テストエンジニア(SETやSDSETも含む) を採用することは非常に難しいです。一度採用募集をかけたことがある、かけようとしたことのある方ならばもうお分かりかと思いますが、それらの人材は市場に非常に少なく、稀だからです。ほとんどのチームは、テストチームにソフトウェアエンジニアを割く余裕もありません。SETやSDET(Software Development Engineer in Test) の人材はマルチタスクをこなし、コードが書け、さらにテストコードが書け、そしてそれを修正することもできます。
COVID-19の影で、かつて会社内にあった、コーディング、テストの人員全体を維持することも難しくなってきています。ただしアプリケーションの開発は止まりません。そのため、より一層、自動化されたリグレッションプロセスが重要になるのです。
もし、あなたがQAマネージャーならば、QAにかかるコストを削減するよう考えていく必要があります。コスト削減のもっとも良い方法の1つは、自動化の恩恵で、かかる時間を抑えることです。いくつかの自動化ソフトウェアは、セットアップ、環境構築やその維持が非常に面倒です。そして更に、アプリケーションの大幅な変更があった際に、その変更を自動的に学ぶソフトウェアが必要でしょう。 その解の1つが、AIを用いた自動テストソフトウェアです。この利用により、ROI (Return on investment) を最大化します。
ソフトウェアテストにおけるTCOとはなにか、見ていきいましょう。
少し話を戻します。この記事のテーマ、「TCO」とは何でしょうか。 TCOは、”Total Cost of Ownership” の略です。ソフトウェア開発において、直接的、または間接的にプロダクトやサービスに関連するコストのことを指します。知っての通り、全てのコスト(隠れた関連コストまでも)はROIを算出、分析するために重要です。
ここに、ソフトウェア開発における典型的なコストの例があります。下記のように、プロダクト開発のライフサイクルにおいて、隠れたコストも含む全てのコストを表すことができます。
プロダクト開発における20% (先行投資型のコストです)
- UI/UXデザイン
- 初期開発
- βテスト
80%はPMF後に、可視化されるコストです。(最初は隠れていて見えないことも多いです。)
- 追加開発
- リグレッションテスト
- マーケティング
- セールス
- サポート
上記の内訳に基づいて、TCOのためのリグレッションテストのコストを調べてみましょう。UIテストのTCOはどのくらいでしょうか?
ソフトウェア開発で、もっとも時間がかかり、リソースを大量に消費する部分は、リグレッションテストです。リグレッションテストを網羅的に実施しようとすると追加の工数が必要になります。 テストの初期構築費用も含みます。メンテナンスとしてかかるコストは、インフラの維持コスト、テストデータの管理コスト、QAエンジニア、テストエンジニアの人件費コストなどなど多岐にわたります。これらの理由から、自身の所属する組織でAutifyのようなテスト自動化ツールを活用しながら、UIテストの仕組みを低コストで構築するというのは良い選択です。
まずはじめに、既存のUIのための初期テストケースを作ることから始めます。しかし、ユーザーインターフェースが変更されたときに、多くのソフトウェア・ソリューションにある問題が露呈します。自分たちで構築したテストスクリプトをそのたびに修正、調整するためにQAマネージャーは多くの人的リソース、時間を使っています。
一方で、Autifyはこれらの変更を学び、調整するAIを提供しているため、その心配はありません。さらに、ノーコードで扱えることで、テストスクリプトを維持、修正することも簡単です。自身で、スクリプトを書いて実行するよりもよっぽどシンプルです。
それでは自動テストについて見ていきましょう。
変わり続けるUIにおける、自動のリグレッションテストは難しいものです。ほとんどの開発チームは、リグレッションテストの重要性はわかっているものの、柔軟なUI変更への効率的な自動テストにはノウハウ、知識が必要になるものということは理解しています。
それでは、UIテストのTCOをどうやって削減できるのでしょうか? アウトソース、オフショア、打鍵専任者といった、より低コストの第三者の人的リソースを採用することはできます。しかし、それらのリソースは、時間とともに成長するサービスとそれに伴うメンテナンスコストに対して効果的ではないことは明らかです。(もちろん成長が必要のないサービスはこの限りではありません。)
UIテストの自動化とは何でしょうか?多くのQAマネージャーは、SeleniumやCypressといったフレームワークのことはよく知っています。それらはとても素晴らしいツールですが、同時に難題も生じます。下記に、それらのメリットとデメリットをリスト化してみました。
メリット
- それらはOSSで、ライセンス費用がかかりません。(ただし、多くの人や組織の協力によって提供、維持、改善されています。感謝と自身が貢献することも忘れてはいけません。)
- オンライン上の記事やリソースがサポートの情報になります。
デメリット
- テストスクリプトなどをコーディングしなければならないため、管理できるメンバーが限られ(属人化)、自動テストの維持が非常に難しくなる場合があります。
- OSSはとても素晴らしいものですが、扱うエンジニアは、そのソフトウェア自体に非常に精通し、経験値がある必要があります。
- OSSはマネージドサービスよりもよりエンジニアのリソースを必要とします。
- CypressはChromeとFireFoxをサポートしていますが、他のブラウザについてはサポートしていません。
Webアプリケーションは進化し続けますし、それにあわせてテストをしなければなりません。現代のUIテスト自動化は、いわばQA自動化SaaSを使うことと同義です。ノーコードのE2Eテスト、と謳うソフトウェアはいくつかありますが、これらのマーケットで、Autifyはもっとも簡単で、直感的なソリューションで、よりシンプルに始められます。
- AutifyのChrome Extensionをインストールする
- Webアプリケーションのテストケースを録画する
- コンソール上で自動テストを実行する
- UIの変更があったときは、AutifyのメンテナンスAIが、テストケースの変更なしに、その変更を検知します
たったこれだけです。
まとめ
この記事では、ソフトウェア開発でAIベースの自動化ソフトウェアを使う中で、いかにTCOを削減するかということをいくつかのトピックでお伝えしました。
より安いリソースを採用できるかもしれません、ただし、マニュアルテストの実行、リグレッションテストの実行にかかっている時間、成長にあわせたテスト自体の成長をAutifyはサポートします。互換性や、実行時間などといったE2Eテストの問題点の多くを解決します。
UIテストにおけるTCOを大幅に削減するために、AutifyのようなQA自動化SaaSを試していただくことをおすすめします。
Autifyではこの他にも品質保証やテスト、アジャイル開発に役立つ資料を無料で公開していますので、ぜひこちらからご覧ください。