【回帰テストの工数を削減】 物流プラットフォーム「ハコベル」におけるMagicPodの活用事例
ハコベル株式会社 / bicstone
メンバー / フロントエンドエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
利用プラン | 利用機能 | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|---|
スタンダードプラン | ブラウザテスト | 10名以下 | 2023年1月 | B to B |
導入の背景・解決したかった問題
導入背景
ツール導入前の背景
ハコベルでは、プロダクトをリリースする前に品質保証(QA)による手動テストが行われています。
テストの際、新たに実装された部分のテストだけでなく、以前に実装された部分がまだ動作するかどうかも検証する回帰テストを行う必要があります。しかし、毎回すべての回帰テストを行うことは現実的ではなく、QA担当者の過去の経験則から範囲を限定してテストを行っていました。
ツール導入前の課題
ハコベルの開発規模が拡大してきたことにより、回帰テストの範囲が広がり複雑化してきていました。現状は手動でテストしているためテスト工数の拡大や、影響範囲の見逃しが発生することがありました。
過去には、影響範囲の見逃しにより一部機能が停止するインシデントを引き起こすこともあり、機会損失のリスクも発生しました。
どのような状態を目指していたか
回帰テストを自動テストツールに置き換えることで、回帰テストの工数を大きく軽減しプロダクトの変化に追従した質の高いテストを行えることを目指しました。手動テストではより価値の高い新規機能の品質保証にフォーカスできることができます。
結果として、開発速度の向上が見込めるためハコベルにおけるプロダクト開発の加速が期待され、さらには不具合によるインシデントの件数が減少するためプロダクトの品質が向上し、さらなる顧客の信頼を得ることを期待しました。
比較検討したサービス
- Autify
- Mabl
- T-DASH
- Playwright
- Cypress
比較した軸
SPAサイトにおいてもテストできること
ハコベルのサービスはSPAで動作するものが多いため、手動で待機時間を設定せずとも画面遷移を検知できる必要がありました。
UI上で認証が行え、セッションが失効しないこと
すべてのサービスはサインイン必須となっているため、UI上でサインインができ、テスト中にセッションが失効しない必要がありました。
スケジュールで定期的にテストを実行できること
回帰テストの観点から、手動で呼び出さなくても定期的にテストが実行できることを重視しました。
ある程度のデザインや文言の変更が発生しても、自動で追従すること
簡単なデザイン変更や文言の変更の機会が多いため、その際にテストの自動修復がされ手間を削減できることを重視しました。
必要に応じて画像による差分チェックをすることができること
一方で、帳票類の機能が予期せず見た目が変化すると問題になるため、必要に応じて厳格に検出できるアサーションが設定できる必要がありました。
選定理由
- 課金体系がテスト実行回数ではなくテスト数であったこと
- テストの自動修復機能が期待通りに動作したこと
- 画像差分テストが期待通りに動作したこと
- ユーザーコミュニティが存在しユーザーフレンドリーだと感じたこと
- サポートのご担当者様が親切で不安が解消できたこと
導入時の苦労・悩み
- テストの作成、ラベルの運用、ロケーターの概念などを理解しないとメンテナンス性の高いテストを作成できないため、社内で別途操作ドキュメントを作成する必要があった点
- フロントエンドにおいてCSS-in-JSという技術を使用していたため、ロケーターに使用されるクラス名がビルドの度に変化してしまい、テストが不安定になった点
- IP制限をかけている環境があり、クラウドテスト環境からのアクセスができない場面があった点
導入に向けた社内への説明
上長・チームへの説明
コスト面
QA担当の人員を増やした場合と、ツール導入のコストを比較した場合、ツールを導入するほうがコストが優位であり、また、PlaywrightやCypressなどのOSSでは教育コスト、メンテナンスコストが高いことを説明しました。 (ツールを導入せずに人力で対応する場合、プロダクトが拡大し人数が増えれば増えるほどコストが増加するが、ツールであれば一定になる)
工数面
ツールを活用するとQA担当者以外の開発メンバーによるテストの維持もできるため、属人性の解消やメンテナンスコストの低減にも寄与することを説明しました。
活用方法
よく使う機能
テスト一括実行
毎日指定の時間に検証環境に対してテストが自動で実行され、エラーがある場合はSlack通知されるようにしています。
画像差分チェック
帳票類などデザイン崩れが問題になる機能において厳格な画像差分チェックを行い、差分がある場合はSlack通知されるようにしています。
ツールの良い点
- 課金体系がテスト実行回数ではなくテスト数であるためコストパフォーマンスに優れている点
- テストの自動修復機能のバランスが取れている点
- 画像差分テストが搭載されており、使い分けができる点
- ユーザーコミュニティをはじめとして、サポートがユーザーフレンドリーである点
ツールの課題点
- テスト作成・維持にあたって、フロントエンドの知識が必要なため、属人性が完全には解決できていない点
- ツールにおけるテストの概念や操作が独特なので、社内の操作ドキュメントが必要になってしまう点
- テストのインポート・エクスポートができず、ベンダーロックインされてしまう点
ハコベル株式会社 / bicstone
メンバー / フロントエンドエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
AIを活用して配車工数削減を実現する物流SaaSプロダクトの立ち上げを担当。フロントエンドをメインで担当し、技術選定や実装をリードしMVPを構築。資格取得、外部登壇やアウトプットを通じた越境学習で得た知見も活用し、アジャイルに価値提供を行えるチーム作りにも貢献。 https://bicstone.me/
よく見られているレビュー
ハコベル株式会社 / bicstone
メンバー / フロントエンドエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
AIを活用して配車工数削減を実現する物流...
レビューしているツール
目次
- 導入の背景・解決したかった問題
- 活用方法