テスト自動化未経験者がmablを使ってテスト自動化を始めてみた
はじめに
私は2023年10月に株式会社ビットキーにテストエンジニアとして入社しました。
入社してから半年ほどスクラムチーム内でQAとしてテスト業務(テスト分析、テスト設計、テスト実装、テスト実行)を担当した後、2024年3月からリグレッションテストの自動化および自動化したテストの実行を中心としたテスト業務を行っています。
弊社のQAチームはテスト自動化ツールとしてmablを採用しています。
mablはローコードテスト自動化ツールとなっており、コーディングに関する経験や知識を備えていない場合でもテスト自動化をはじめることができるようになっています。
私自身もコーディングに関する経験や知識がない状態でテスト自動化業務に取り組みはじめましたが、はじめて半年ほどで300以上のテストケースを自動化することができています。
そこで今回は、未経験からテスト自動化をはじめた私がmablを使用したテストの自動化についての所感を記載しようと思います。
対象読者
- テスト自動化業務に興味があるが、経験したことがない方
- テスト自動化に技術的なハードルを感じる方
- mablを使ったテスト自動化に興味がある方
この記事を読むことによる価値
- テスト自動化業務にキャッチアップするまでの過程を知ることができる
- ローコードテスト自動化ツールを利用した場合のテスト自動化の難易度を知ることができる
- mablを使ったテスト自動化プロセスを知ることができる
mablを使用したテスト自動化は簡単
私の率直な感想は、「mablを使ったテスト自動化は思ったより簡単」です。
私は9年ほどテストエンジニアとして活動していますが、テストの自動化に取り組んだのはビットキーに入社してからで、それまではテスト自動化未経験でした。
テスト自動化には興味はあったものの私自身がエンジニア未経験で、テスト自動化にはエンジニアとしての知識やコーディング技術などが必要だと思い、テスト自動化に対してハードルの高さを感じていました。
しかし、弊社で導入しているmablは前述の通りノーコード・ローコードでテスト自動化を行うことができるツールであり、mablを使えば専門知識がなくてもテスト自動化を行うことができてしまいます。
私自身mablを使ってみてからはテスト自動化に対するハードルは下がり、今では難なくテスト自動化業務に取り組むこどができています。
では、実際にどういったところが簡単なのかを下記に取り上げていきます。
Recording機能があるおかげでコーディング知識がなくても自動テストが作成できる
私が一番簡単だと感じた部分で、mablの魅力を感じた部分にもなります。
mablには自動テストを作成する際に、Recording機能というものがあります。
この機能は「行った操作をmablが自動で記録してくれる」ものになります。
この機能をONの状態にしてブラウザをクリックしたり文字入力したりすると、それらの操作が記録され、簡単にテストステップを作ることができます。
Recording機能がON
自動テストを作成するときに右のウィンドウにmabl Trainerが表示されますが、mabl Trainer上にある「Rec」ボタンがRecording機能になります(上記画像の赤枠)。
「Rec」ボタンを押下してボタンが赤くなればRecording機能がONの状態となります。
Recording機能を用いて、Googleで「ビットキー」と検索して、検索結果からビットキーのホームページへ遷移する操作を記録したもの
上記画像は実際にRecording機能を用いて、テストステップを作成したものになります。
Recording機能をONにしたあと実操作として、「Googleで「ビットキー」と検索して、検索結果からビットキーのホームページへ遷移する」操作をしたとします。
そうすると、その操作が記録され、mabl Trainerに記録された操作が表示されます(画像の赤枠)。
Recording機能が大変便利で、この機能のおかげでコーディング知識がなくても直感的にサクッと自動テストを作成することができてしまいます。
Flow機能があるおかげで自動テストの作成が苦痛にならない
mablにはFlow機能というものがあります。
Flow機能は簡単に言うと、「複数のテストステップを一連の流れでひとまとめにグループ化する」機能です。
グループ化されたものを「Flow」と呼びます。
Flow機能の何が凄いのかと言うと、一度作成されたFlowは他の自動テストでも再利用ができてしまうところです。
つまり、他の自動テストを作成するときにFlowを再利用すれば同じテストステップを1から作り直す必要がないということです。
Googleで「ビットキー」と検索して、検索結果からビットキーのホームページへ遷移するテストステップをFlow化したもの
上記の画像は「Googleでビットキーと検索して、検索結果からビットキーのホームページへ遷移する」という一連のテストステップをFlow化させたときのものです(画像の赤枠)。
ここで、例えば、他のテストでも「Googleでビットキーと検索して、ビットキーのホームページへ遷移する」というテストステップが必要だとします。
このときに、Recording機能を使って新たに一つひとつテストステップを記録してもいいのですが、正直手間ですよね。
もし過去に同じテストステップをFlow化しているならば、そのFlowを再利用するのがよいでしょう。
この場合は上記で作成されたFlowを呼び出して再利用することが吉となります。
このようにFlow機能を利用することで、同じテストステップを用意する作業を短縮することができ、自動テストの作成コストを削減させることができます。
また、Flow機能は自動テストのメンテナンスにも便利な機能です。
Flowの中身を変更すれば、そのFlowを使用している全てのテストに一括で変更が適用されるため、メンテナンスコストの削減にもなります。
上記で述べたようにFlow機能は自動テストの作成コストやメンテナンスコストの両方の削減に期待ができる大変便利な機能です。
それゆえ、私は自動テストを作成する際は基本的に全てのテストステップをFlow化させています。
このおかげもあってか自動テストの作成が苦痛にならずスムーズに作成することができています。
よく使われるテストステップは積極的にFlow化することをおすすめします。
自動テストの実行自体も機能が充実し、操作や実行結果の分析が簡単
ここではmablで作成した自動テストのテスト実行機能についてお話しします。
mablのテスト実行機能には、ローカル実行とクラウド実行があります。
それぞれの実行に違いはありますが、クラウド実行には実行履歴を残す機能があり、過去の実行結果と比較することができます。
そしてクラウド実行には大変便利な機能として、実行した各テストステップ一つひとつに実行時のスクリーンショットが撮影される機能があります。
実行成功、失敗問わず全てのテストステップで実行時のスクリーンショットが撮影されているのです。
この機能のおかげで、もし実行で失敗したテストステップがあれば、そのテストステップの失敗箇所をスクリーンショットで視覚的に確認ができるため、不具合の調査に役立ちます。
現に弊社でもmablを使用してテスト実行を行うようになってからは、上記の機能により不具合検知の調査コスト削減に成功しています。
スクリーンショット以外にも、クラウド実行には自動テストの実行にかかった時間や各テストステップの実行時のログなども実行履歴として詳細に残されます。
また、mablにはプランという機能があります。
プランは簡単にいうと、複数の自動テストをグループ化したものです。
プラン単位でテスト実行が可能なため、このプラン機能を使えば、複数の自動テストを同時に実行することができます。
プランにはスケジューリング機能があり、あらかじめ指定した日時に自動テストを実行させることも可能です。
自動化にはコーディング知識が必要な部分もあるが、体系的にマスターする必要はない
これまで述べたように、mablを使えばコーディング知識がなくてもノーコードだけである程度はテストを自動化させることができます。
ここで「ん?」と思った方、いると思います。
そう、mablでテストの自動化ができるのは「ある程度」なのです。
残念ながらmablを使ってもノーコードだけで全てのテストを自動化させることができないのです。
自動化にはローコードが必要な場面がどうしても出てきます。
現に弊社ではリグレッションテストの自動化を進めておりますが、自動化できるテストケースのうち7割がノーコードだけで自動化が可能である一方、残りの3割を自動化するにはローコードが必要な状態となっています。
その残りの3割を埋めるため、弊社でテスト自動化を行なっているQAメンバーはローコードに関する知識を学習して、3割の部分の自動化を進めています。
「結局コーディング知識が必要なのか・・・」と思うかもしれません。
ですがここで安心してほしいのは、コーディング知識をバリバリ使いこなせるよう完璧にマスターする必要はない、ということです。
基礎的な知識を身につけているだけで、自動化できる範囲が格段に広がります。私も学習した内容は基礎的なものだけですが、それだけでローコードが必要な部分を自動化できています。
mablを使う上でコーディングの応用的な知識は「完全に」理解する必要はなく、使う場面に遭遇したら調べる程度でよいと思っています。
何を学習すればいいのか、どこを学習すればいいのか、基礎的な部分はどこなのか、などは下記の弊社のQAメンバーが作成した記事にまとめられていますので、そちらを参照してみてください。
mablで必要なローコードの知識4選
いざ学習するといっても学習コストはどうしてもかかってしまいます。
学習コストは決して低くはないので、テストを自動化するにあたりローコードが必要な部分がどのくらいあるかを確認した上、学習するかどうかを判断してみると良いでしょう。
私としては、コーディング知識を学べる良い機会を得られたと思っています。
まとめ
mablはノーコード・ローコードでテスト自動化を行うことができるため、テスト自動化が未経験の方でも手軽にテスト自動化を始められるツールだと思います。
本記事を通して、少しでも多くの方がテスト自動化やmablに興味を持っていただけたら幸いです。
Discussion