MagicPodにおける並列実行とは、1つの一括実行の中で複数のパターンを並列に実行することを指しています。
ここでは、並列実行の設定方法やユースケースについて説明します。
※本ページはクラウド環境での並列実行について説明しています。ローカル環境での並列実行については、下記ページを参照してください。
目次
並列実行とは
通常、1つの一括実行では1つのクラウド端末が使用されます。
一括実行設定画面で実行パターンを追加することで、テストを並列実行することができます。
並列実行のメリット
テストの並列実行により、複数のテストケースを同時に実行することで大幅な時間短縮を実現できます。
他にも、多機種・多ブラウザテストを並列処理することで、テスト実行にかかる時間を短縮し、リリースサイクルが加速します。これにより開発チームはより多くの時間を新機能開発に集中でき、全体的な開発生産性が向上します。
早期のバグ発見と迅速なフィードバックループにより、品質の高いソフトウェアを効率的にリリースできるようになります。
並列実行の設定方法
並列実行のユースケース別に、設定方法を説明します。
複数種類のブラウザ、端末に対するテストを並列実行する場合
種類の異なるブラウザや端末のバージョン・機種に対して、まとめてテスト一括実行を行います。
はじめに ︙ > 新しい設定を追加 をクリックします。
すると以下ようなダイアログが表示されるので、好きな名前を入力し、「複数ブラウザパターン設定」(モバイルアプリテストの場合は「複数端末パターン設定」)を選択して「OK」をクリックします。
すると新しい実行設定が追加されます。「複数ブラウザパターン設定」を選択したので、あらかじめ2つのパターンが作成されています。
さらにパターンを増やしたい場合は「追加」をクリックしましょう。
パターン名の右の︙をクリックすると、パターン名を変更することができます。
そして新しく追加したそれぞれのパターンに対して、ブラウザを指定します。
次に「共通設定」より並列実行設定を行います。
そして実行する際は、この実行設定を選んで実行します。
すると設定した複数種類のブラウザで一括実行が行われます。
この方法では、選択した複数種類のブラウザに対してまとめてテストが一括実行されます。
- Remote TestKitの場合、利用した端末の返却処理のために、テスト開始時に10分間の待機処理が発生することがあります。
- デフォルトでは1種類の端末のテストが終わるまで次の端末でのテストは実行されません。BrowserStackやRemote TestKitで複数端末で並列にテストを実行できるプランを契約している場合、MagicPod側で上図のように同時並列実行数を指定することで、複数種類の端末で並列でテスト実行することができます。
テスト実行にかかる時間を短縮するために並列実行を利用する場合
ラベルとブラウザ/端末パターンを併用しテストを並列に実行することで、テスト実行にかかる時間を短縮します。
1.ラベルを作成する
プロジェクトページの 設定 > テストケースラベルより「追加」をクリックします。
好きな名前を入力して「作成」をクリックします。
2.ラベルをテストケースに付与する
付与したいテストケースの情報タブを開き、該当のラベルにチェックを入れて「更新」をクリックします。
付与されたラベルはテストケース一覧ページでも確認できます。
3.一括実行設定を編集する
一括実行詳細画面を開き、「追加」ボタンを押してパターンを追加します。
「実行対象」タブを開き、「フォルダ・ラベルで絞り込む」を選択し、「ラベルで指定」をクリックします。
その後、「設定」ボタンをクリックして実行対象を設定します。
パターン「フローA」には、テストケースラベル「フローA」を「含む」にドラッグ&ドロップして設定します。
パターン「フローB」も同様に「フローB」を含むように設定します。
そして共通設定の実行方法を「並列に実行する」へ切り替えます。
そして一括実行をすると、このようにフローAとフローBが並列に実行されます。
どのようにラベルを設定したかも確認できます。
ラベル内の実行順を指定したい場合は、並び替えすることで指定できます。
参考: 特定のテストケースのみを一括実行したい - 4.(ラベル内の実行順を指定する場合)
なお、ラベルを使用せずテストケース番号でもパターンを指定することができます。
参考: 特定のテストケースのみを一括実行したい - 1.テストケース番号を指定して一括実行
並列実行ブラウザ/端末数を増やしたい
スタンダードプランの場合同時2並列が可能ですが、最大同時並列端末数はオプションで追加することが可能です。
ご不明点があればお気軽にお問い合わせください。
Q&A
Q. パターンを設定していない一括実行で複数のクラウド端末が使用されることはありますか?
パターンを設定していない1つの一括実行で複数のクラウド端末が使用されることはありません。
パターンを設定していない1つの一括実行では1つのクラウド端末が使用されます。仮に2台の端末が空いている場合、同時に2つの一括実行を行うことが可能です。2つの一括実行を同時に流している場合、1つの一括実行が終わり次第新たな一括実行を始めることができます。
この同時実行端末数はオプションで追加することが可能です。
Q. 同時並列実行端末数より多いパターン数を並列実行するとどうなりますか?
一括実行の共通設定で指定した同時並列実行数と同じ数のパターンが並列実行され、実行端末が空き次第残りパターンが実行されます。
例えば、並列実行数を2とし、実行パターンを3つ設定したとします。
この場合、3パターンのうちいずれか2パターンが先に並列実行され、実行端末が空き次第残りの1パターンが実行されます。1つのパターン内のテストケースは常に順次実行されます。
Q. スケジュール設定された時間に実行端末が不足しているとどうなりますか?
テスト開始時点で空いている実行端末数が並列実行数の最大値となります。
スケジュール実行開始時点で1台も実行端末が空いていない場合、テストは開始されず、失敗扱いとなります。
スケジュール実行開始時点で1台でも実行端末が空いていれば、テストは開始されます。
並列実行をスケジュールしている場合、テスト開始時点で空いている実行端末数が並列実行数の最大値となります。
例えば、同時実行端末数が3台で1台使用中の時、一括実行パターン数が3のテストを並列実行するとします。
この場合、テスト開始時点の使用可能端末数が2台のため、最大2並列でテストが実行されます。テスト実行中に実行端末の空きが出ても、並列実行数は変わりません。