mablでは、クラウドインフラストラクチャを使用してテストを実行することも、ローカルリソース(ローカルマシンまたはCIツールがインストールされたコンテナ)を使用してテストを実行することもできます。テストをどこで実行するかは最終的には優先順位に依存し、開発ライフサイクルを通じて変化する可能性があります。
この記事では、mablのさまざまな実行環境を使用してテスト実行を最大限に活用する方法を探ります。
異なる実行環境の詳細な内訳については、テスト実行の概要の記事をご覧ください。
テストの優先順位を評価する
チームに適したアプローチを特定する前に、テストの優先順位を考慮してください。開発ライフサイクルの中で優先順位が変わると、テストを実行する場所の決定も変わる可能性があります。
値
テスト実行から何を得たいですか?
クラウド実行は、詳細なテスト診断、並列実行、クロスブラウザ検証を含む最も強力な機能を提供しますが、クレジットも消費します。クレジットの割り当てが、検証したいすべてをカバーするのに十分でない場合は、より影響力のあるテストのためにクラウド実行を節約する方法を検討してください。
- 無制限のローカルおよびCI実行を使用して、課題を早期に発見:ローカルおよびCI実行は、迅速な成功/失敗の結果を返します。失敗したテストについては、クラウド実行で詳細を確認してください。
- クレジット消費の少ないテストタイプを活用する: アプリケーションの基盤となるAPIを検証するプランを作成し、関連するブラウザまたはモバイルテストを実行する前に行います。APIテストが成功した場合のみ、ブラウザまたはモバイルテストをトリガーします。
スケール
いくつのテストを実行中ですか?どのくらいの頻度でそれらを実行していますか?
開発ライフサイクルのさまざまな段階でのテストの規模を考慮してください。
- 単一のテストを更新して実行し、期待どおりに動作することを確認する
- いくつかのスモークテストまたはサニティチェックを各コミットで実行中
- 既存の機能に影響を与えないようにするために、毎晩のリグレッションスイートを実行中
どのような状況でも、フィードバックを迅速に得られる実行環境を選択することが重要です。テストの規模に関する決定を行う際には、これらのガイドラインを参考にしてください。
- 少数のテストで迅速な反復とデバッグを行うには、ローカルおよびCI実行を使用してください。ローカルおよびCI実行は、テスト診断を収集しないため、より速く実行されます。並行して実行できないため、大規模なテストセットの実行にはあまり適していません。
- より多くのテストに対するより堅牢な検証を行うには、クラウド実行を使用してください。mablクラウドでテストが並行して実行されるため、大規模なテストスイートの検証を迅速化し、フィードバックに迅速に対応できます。
- mabl CLIを使用してワークフローを自動化する: mabl CLIコマンドをスクリプト化されたワークフローに統合して、CIランナーとmablクラウドでのテスト実行を自動化します。
バランスの取れたワークフローを構築する
ローカル、CI、クラウド実行の強みをバランスよく活用することで、新機能、アップデート、バグ修正のテストに効果的な自動化戦略を開発できます。次のシナリオは、チームがローカル、CI、クラウド実行を開発ワークフローに組み合わせて、自信を持ってリリースする方法を示しています。
コミット前ステージ: ローカル実行
開発者は新しい検索バー機能を構築します。変更がコア機能を壊していないことを確認するために、ローカルでテストを実行します。
ローカル実行からの迅速なフィードバックは、クラウドクレジットを消費せずに迅速にデバッグと反復を行うのに役立ちます。この初期段階でのテストは、後のパイプラインでのデバッグに費やす時間を最小限に抑えるのにも役立ちます。
ビルドステージ: CI 実行
ビルド段階で、チームはステージングへのすべてのコミットを検証するためにテストを実行したいと考えています。QAチームは、コミット時にスモークテストを実行するようにmabl CI runnerを設定します。スモークテストは、検索バーのコア機能を検証し、入力検証、エラーハンドリング、フィルタリングを含みます。
CIランナーをプリマージワークフローに組み込むことで、デプロイ前に課題を発見するのに役立ちます。
デプロイ前のステージ: クラウド実行
新しい検索バーを本番環境にリリースする前に、チームは検索バーが準備できていることを確認するために、プレプロダクション環境で回帰テストスイート全体を実行します。彼らはパイプラインを設定してデプロイメントエベントを作成し、複数のプランをクラウドで並行して実行するようにトリガーします。
クロスブラウザ検証は、Chrome、Firefox、Safari、Edgeなど、すべてのサポートされているブラウザで検索バーが機能することを保証します。ログやスクリーンショットなどの詳細な診断情報は、チームが本番環境に到達する前に課題を調査し解決するのに役立ちます。
スケジュールによるジョブ: クラウド実行
アプリケーションの安定性を確保するために、チームはスケジュールを設定し、毎晩または毎週、クラウドで完全な回帰プランを実行します。