リグレッションテストを簡単にする解決策 mablを活用したテストの手順を解説|東京のWEB制作会社・ホームページ制作会社|株式会社GIG

リグレッションテストを簡単にする解決策 mablを活用したテストの手順を解説

2023-07-20 制作・開発

突然ですが、皆様テストをしていますか?

Web業界に関わらず、テストというものは物作りにおいて必ず通るフローです。

こんにちは、クリエイティブ事業部でインフラエンジニアをしております和田です。

弊社GIGでは、Webサイト制作のプロジェクト立ち上げからリリース後の運用保守までサービスを提供しております。

世の中に公開されたサービスを安定稼働させるために、運用保守業務としてサーバの稼働監視、予期せぬ障害発生時の対応と復旧は当然ですが、品質のよいサービスを保持するためにリグレッションテストを実施します。


リグレッションテストとは

アプリケーションに変更や修正が行われると、既存の機能が不具合を起こしたり、予期せぬバグが浮上したりすることがあります。

そのような事象を「リグレッション」といいます。「デグレード」とか「先祖返り」という表現も使いますが、全て意味は同じです。

そして、このリグレッションが発生していないかどうかを確認するテストのことを、リグレッションテストと言います。既存の機能をテストするので、毎回同じ箇所を同じ手順で行いますが運用期間と共に量は増え続けます。


mablを活用したリグレッションテストの手順

テスト仕様書を書いて、ブラウザでアクセスをしてエビデンスを取得して、という方法だと、サービスの拡充に比例してテスト工数も増加し続けます。

そこで、mablを使ったテスト方法をご紹介します。

テストケースの作成

mablは、「拡張性の高いローコードテスト」です。

複雑なコードを書く必要がなく、GUIを用いてブラウザからマウス操作でテストが作成できます。

このように画面上をクリックしていくだけでテストケースが作成でき、コードを書く必要がありません。

とくに簡単なテストであれば学習コストも高くなく、誰でも作成できます。

テストの実行と結果の確認

テストはmablコンソール上で「テスト実行」というボタンを押すことで実施できます。

本番環境は、パブリックに公開していますが、ステージング環境などは非公開でBasic認証やIP制限をおこなっていますが、問題なくテスト実施ができます。

Basic認証は、「クレデンシャル」情報として設定して、テストケースに紐づけることで実施が可能です。

mablはアウトバウンドの固定IPが存在するので、それらをWebサーバで許可します。

ヘッドレスで動作して、ブラウザが立ち上がることはありません。

また、テスト実行と共にスクリーンショット各種ログも取得して保存しています。

さらにmablはAIによる学習機能を備えており、自動修復機能があります。アプリケーションのUIが変わっても、テストを自動で変更してくれます。

CI(継続的インテグレーション)への組み込み

毎回コンソールを立ち上げて、テストケースを手動で実行するよりも、もっと効率的にアプリケーションのデプロイ時に自動でテストが実行するように連携して実施する方法があります。

ステップ1

mabl側で、実行したいテストのapplication-id、environment-idを発行します。

ステップ2

GIGでBitbucket Pipelinesを利用してCIを構築しているので、bitbucket-pipelines.ymlにコードを記載します。

 name: UI test
script:
  - pipe: mablhq/mabl-deployment:0.5.1
    variables:
      MABL_API_KEY: $MABL_API_KEY
      MABL_APPLICATION_ID: $MABL_APPLICATION_ID
      MABL_ENVIRONMENT_ID: $MABL_STAGING_ENVIRONMENT_ID

これで完了です。

Pipelineでデプロイが完了したあとに上記スクリプトが実施されれば、アプリケーションの改善と共にテストまでフローが自動実行されます。


mablと他のテストツールとの違い

テストツールは様々あり、SeleniumやNightwatchなども試してみましたが下記3つの観点からmablを採用しました。

簡単なテストケース作成:mablはGUIベースでのテストケース作成をサポートしており、プログラミングの知識がなくても利用できます。一方、SeleniumやNightwatchはスクリプトベースのテストケース作成を行うため、プログラミングのスキルが必要です。

AIによる学習機能:mablはAIによる学習機能を持っており、ユーザーの操作を学習してテストケースを自動生成します。これにより、手動でのテストケース作成作業を大幅に短縮できます。一方、SeleniumやNightwatchでは、テストケースを手動で作成する必要があります。

テストの再実行とモニタリング:mablはテストの再実行と結果のモニタリングを自動化しています。変更や定期的なテストの実行によって、問題の早期発見と迅速な修正が可能です。SeleniumやNightwatchでは、再実行やモニタリングを手動で行う必要があります。


テスト自動化ツールには豊富な機能

今回紹介した以外にも豊富な機能があり、本当に痒いところに手が届くテスト自動化ツールです。

有償サービスではありますが、テスターの人件費と鑑みてコストパフォーマンスも優れています。リリース後のテストの網羅性や効率性を向上させることができるだけでなく、AIによる学習機能や自動化されたテストの再実行と結果のモニタリングなどの特徴も持っています。

SeleniumやNightwatchと比較しても、mablは簡単なテストケース作成やAIの活用、自動化されたテストの実行と監視などで優れた機能を提供しています。運用保守における効果的なテストの実施を求める場合、mablは強力なツールとなるでしょう。

なお株式会社GIGは、ナショナルクライアントからスタートアップまで、Webコンサルティング、UI/UXデザイン、システム開発など、DX支援をおこなうデジタルコンサルティング企業です。また、45,000人以上が登録するフリーランス・副業向けマッチングサービス『Workship』や、7,000人以上が登録するデザイナー特化エージェントサービス『クロスデザイナー』、リード獲得に特化したCMS『LeadGrid』、UXコンサルティングサービス『UX Design Lab』などを展開しています。

Webやシステム開発、DX支援のご相談はいつでもご連絡ください。

■株式会社GIG
お仕事のお問い合わせはこちら
会社資料ダウンロードはこちら
採用応募はこちら(GIG採用サイト)
採用応募はこちら(Wantedly)

WebやDXの課題、お気軽にご相談ください。

和田 憲幸

受託開発チームのインフラエンジニア。SIer業界でシステム開発において上流工程から運用まで経験。 その後、WEB業界に転身し、2018年にGIGにジョイン。