初めて記事を投稿しますQAエンジニアの @azumi1006 です。
今回は社内で利用しているE2Eの自動テストツール「MagicPod」を利用してみて社内にどのような変化があったのか?
また実際に使用してみて感じたメリット・デメリットについてお話したいと思います。
なぜE2Eの自動テストツールを導入しようとしたのか?
私がJoinした当初プロダクトチームにはサービスの品質に関して、大きく分けて3つの課題が存在していました。
- プロダクト品質が低い
- 本番環境でも不具合が多数発生していました。また技術的負債も溜まってきている上にキーパーソンの退職が続き仕様もブラックボックス化していました
- E2Eテストをほとんど行えていない
- UnitTest は出来る限り実装しようとしていましたが、 E2Eテストは WebEngineer がリリース前に片手間で行う程度。そのため、頻繁にデグレが発生していました
- E2Eテストに関して知見のあるメンバーがいなかった
- E2Eの自動テストの重要性に関しては理解されていましたが、どのようなツールを使うのが良いのか、また自動テスト項目のリストアップやコーディングなど推進出来るメンバーが存在しませんでした
E2Eの自動テストツールを導入することで、今ある課題のうち大部分は解消できそうだと思い、導入に踏み切りました。
※E2Eの自動テストツールではAutifyやMagicPod、Mablが有名ですが、その中でMagicPodを選択した理由はまた別記事で紹介したいと思います
MagicPod導入後はどのような変化があったのか?
MagicPodを導入して、定期的に自動テストを回すようになってから約半年経過しましたが、その前後での変化は以下の4点です。
- 本番リリース前にデグレの検知が出来るようになった
- 手動テスト工数や結果の集計の工数が削減された
- 開発メンバーの品質に対する意識が向上した
- シナリオ作成と優先度付により、どうしても落とせないシナリオ・機能が明文化された
正直半年間の成果としては十分すぎるぐらい、結果が出ている気がしています。
MagicPodの良い点
導入してみて分かったMagicPodの良い点を列挙します。
(※あくまで個人の感想です)
- MagicPodはGUIで誰でもわかりやすく、属人化を防ぎながら自動化を進めることが出来る
- 実行回数の制限がない
- サポートがしっかり対応しているのでMagicPodを触った事がなくても、気楽に実装やメンテナンスが出来る
- 落ちた時にSlackに通知してくれる
- 待機ステップのパターンが豊富
- テスト結果が画像付きなので、レビューがしやすい
MagicPodの改善点
導入してみて分かったMagicPodの改善点を列挙します。
(※あくまで個人の感想です)
- 条件分岐の始まりと終わりがテストケース上で一目でわかるようにして欲しい
- 共有ステップが多くなった際に、ラベルなどを付けられないので判別が難しい
- テストケースの階層分けがないので、数が多くなった時に判別が難しい
- クラウドでテスト作成時に、クリップボードを利用した文字のコピペが若干手間がかかる
- アナリティクスの機能を拡張して欲しい(月次の成功数・失敗数や、一定期間ごとのテストケース毎の成否の累計データ)
- D&Dで手順を削除した際に手順が一番上に戻ってしまうため、その場にとどまってほしい
- 座標指定の部分で指定した部分の座標が画面に表示されてほしい
- モバイルの場合の、導入ハードルが高い
最後に
テストの自動化を迷われている方は、自動化を行うのをおすすめします。
もちろん、ただ闇雲に自動テストを実装すればいいだけではなく、メンテナンスをどうしていくかや何を自動化していくかなど考えていく必要はありますが、手動テストのみを続けるよりもコストや品質的にはメリットが大きいはずです。
MagicPodを利用することでQAエンジニアは決まった手順を繰り返し正確に行うルーティンワーク的なテスト実施から解放されて、改善活動などのクリエイティブな活動に集中出来るようになる。
これがプロダクトの品質向上に繋がる一歩になっていく、と私は感じています。