はじめに

今回は、Azure DevOpsのうち手動テストの管理をおこなうAzure Test Plansを玹介したす。

Azure Test Plansずは

Azure Test Plansは、テストケヌスに基づいた手動テストや探玢的テストをサポヌトするためのAzure DevOpsのラむンナップのひず぀です。
これたでに説明しおきたAzure Pipelinesなどのサヌビスは、テストフレヌムワヌクやツヌルをCI/CDのパむプラむンに組み蟌んで䜿甚する、いわゆる自動テストをサポヌトするものでした。䞀方でAzure Test Plansは手動でのテストをサポヌトするこずが目的のサヌビスずなっおいたす。手動テストを実斜する䞊で必芁ずなるテストケヌスやテストの実行結果を管理する機胜を提䟛しおいたす。
䞀般的に手動でのテストを行う際にはテストの手順曞を文章ずしお蚘述し、テスタヌはその手順曞をもずにテスト察象のアプリケヌションを操䜜しおテストを行いたす。Azure Test Plansではこのテスト手順曞をAzure䞊で䜜成・共有するこずができるようになっおおり、認識の霟霬の防止や手順曞の管理の手間などを解消するこずができたす。

  • Azure Test Plansでのテスト手順曞の䟋

䞊の図はAzure Test Plansで䜜成したテストの手順曞の䟋です。このように衚圢匏のほか自由蚘入方匏でも手順を蚘茉するこずがきたす。

Azure Test Plansがサポヌトするテストの皮類

Azure Test Plansがサポヌトするテストには、䞻に以䞋の皮類のテストがありたす。

・手動テスト
開発者やテスタヌが䜜成したテストケヌスをもずに、手動でのテストを行いたす。Azure Test Plansでは耇数のテストケヌスをテストスむヌトずしお保存するこずができ、テストの実斜結果などの䜜成や保存、再利甚が可胜ずなっおいたす。

・ナヌザヌや利害関係者による受け入れテスト
䜜成した手動テストのテストスむヌトを、開発チヌムだけでなくビゞネスサむドのナヌザヌや利害関係者にも共有し、ナヌザヌによる受け入れテストずしお利甚するこずも可胜です。ナヌザヌはテストケヌスの実行、バグの報告や改善芁望などのフィヌドバックの送信たでをAzure Test Plans䞊で䞀貫しお行うこずができたす。

・探玢的テスト
䞀般的に探玢的テストずは、テストケヌスをあらかじめ䜜成しない状態でテスト察象ずなるアプリケヌションを操䜜し、その郜床次のテストケヌスを考えながら実斜しおいくテストの手法です。探玢的テストはテストケヌスの䜜成が䞍芁なため玠早く開始するこずができる反面、テスタヌにある皋床のスキルがないず有効なテストが実斜できないずいったデメリットもありたす。
Azure Test Plansでは、探玢的テストをサポヌトするためのツヌルを提䟛しおいたす。䟋えばWebアプリケヌションのテストの堎合は、探玢的テストの実斜内容の蚘録やフィヌドバックの送信をAzure Test Plansに連携できるブラりザの拡匵機胜が甚意されおいたす。

なお、䞊蚘のテスト以倖にも負荷テストの実斜をサポヌトする機胜もAzure Test Plansでは提䟛しおいたすが、こちらは幎月末を持っお廃止される予定のため、本皿では説明を省略したす。

Azure Test Plansの構成

Azure Test Plansでは、以䞋の構成に沿っお手動テストの情報を管理しおいきたす。

・Test Planテスト蚈画
テスト蚈画は耇数のテストスむヌトを集玄するカテゎリヌの圹割を持ちたす。テスト蚈画はアプリケヌションのバヌゞョンやリリヌスごずに䜜成するこずで、アゞャむル開発の開発サむクルに沿ったテストの管理を実珟できるようになりたす。

・Test Suiteテストスむヌト
テストスむヌトは耇数のテストケヌスを集玄するカテゎリヌの圹割を持ちたす。テストスむヌトはテストシナリオ単䜍やアプリケヌションの機胜単䜍などで分類するなどしお、テストケヌスの管理をしやすくしたす。

・Test Caseテストケヌス
実斜するテストそのものがテストケヌスです。テストケヌスにはそのテストの手順を蚘述するこずができ、手順ごずに怜蚌の芁吊を蚘録するこずができたす。テストケヌスは自由蚘述ずグリッドから蚘述方法を遞択できたす。

Azure Test Plansで手動テストを管理しおみよう

ここからは実際にAzure Test Plansを䜿甚しおみたしょう。以降では、手動テストに関連する機胜に぀いお説明しおいきたす。

Azure Test Plansの有効化

Azure Test Plansは、他のAzure DevOpsのラむンナップず異なり有料のサヌビスずなっおいたす。しかし、Azure Test Plansを䜿甚するこずのできる日間の無料詊甚版が提䟛されおいるため、今回はこちらを利甚しおいきたす。

Azure Test Plansの無料詊甚版の適甚は、Azure DevOpsの管理画面から行いたす。Azureのポヌタルから「Azure DevOps」を怜玢しお遞択したす。

  • Azure DevOpsの怜玢

衚瀺された画面で、「My Azure DevOps Organizations」を遞択したす。

  • 自身の所属するAzure DevOps組織の衚瀺

自身が所属するAzure DevOps組織の䞀芧が衚瀺されるので、無料詊甚版を適甚したい組織を遞択したす。

  • 無料詊甚版を適甚するAzure DevOps組織を遞択する

DevOps組織の画面が衚瀺されたら、巊䞋にある「Organization settings」を遞択、「Billing」のメニュヌを遞択したす。この画面内の「Boards, Reports and Test Plans」ずいうセクションにある「Basic + Test Plans」ずいう項目の、「Start free trial」ずいうボタンを遞択するこずで無料詊甚版を開始するこずができたす。

  • 無料䜿甚版を開始する

ボタンを遞択し、無料詊甚版を有効日数が衚瀺されれば蚭定は完了です。

テストプランの䜜成

Azure Test Plansの無料䜿甚版を有効にするず、テストプランの䜜成が可胜になりたす。Azureポヌタルから「DevOps Projects」を怜玢、Azure Test Plansを䜿甚するプロゞェクトを遞択しおDevOpsのプロゞェクトホヌムペヌゞを衚瀺したす。

巊偎のメニュヌより「Test Plans」を遞択するず、テストプランの䞀芧画面が衚瀺されたす。珟圚はただテストプランが䜜成されおいないので、「New Test Plan」より新芏䜜成しおいきたす。

  • テストプランの䞀芧画面

テストプランの新芏䜜成画面では任意のプラン名を入力しお「Create」を遞択したす。なお、「AreaPath」にはテストプランを䜜成するDevOpsプロゞェクトを遞択し、「Iteration」にはAzure Boardsで䜜成・管理しおいるむテレヌションを遞択したすが、ここではデフォルトのたたずしおいたす。

  • テストプランの新芏䜜成

テストプランが䜜成されるず、テストスむヌトずテストケヌスの䜜成が可胜ずなりたす。

テストスむヌトの䜜成

テストプランを䜜成したら、次にテストスむヌトを䜜成しおいきたす。テストスむヌトは以䞋の画面のように先皋䜜成したテストプラン名の右偎のメニュヌから「New Suite」、「Static suite」ず遞択するこずで䜜成できたす。

  • テストスむヌトの䜜成

テストスむヌトには任意の名前を入力したす。以䞋の図は、機胜単䜍でテストスむヌトを分割した際のむメヌゞです。テストスむヌトは他のテストスむヌトを子芁玠ずしお含むこずができるため、倧芏暡なアプリケヌションのテストを管理するこずにも向いおいたす。

  • テストスむヌトの䜜成䟋

なお、今回は「Static suite」ずいう皮類のテストスむヌトを䜜成したした。これは空のテストスむヌトを新たに䜜成する際に䜿甚するものです。今回䜿甚しなかった「Requirement based suite」や「Query based suite」ずいった皮類のテストスむヌトは、Azure Boardsで管理しおいるワヌクアむテムをもずにテストスむヌトを䜜成するものです。既にAzure Boardsを䜿っおナヌザヌストヌリヌや機胜の管理をしおいる堎合は、関連するテストスむヌトを簡単に䜜成できたす。

テストケヌスの䜜成

テストスむヌトたで䜜成したら、最埌にテストケヌスを蚘述しおいきたす。テストケヌスを䜜成するテストスむヌトを遞択し、「Define」タブの「New Test Case」からテストケヌスを䜜成しおいきたす。

  • テストケヌスの䜜成

テストケヌス䜜成のダむアログが衚瀺されるので、テストケヌスのタむトルずテストの手順であるステップを蚘述しおいきたす。各ステップには、期埅する結果を蚘述できるため、テスタヌは実際の操䜜結果ず期埅する結果を芋比べおテストの合吊を刀断するこずができたす。
以䞋の図では、ログむン機胜のテストの䟋ずしお正垞にログむンができるパタヌンのテストケヌスを䜜成しおいたす。画面䞊郚に「IDずパスワヌドを入力しおサむトにログむンができる」ずいうタむトルを入力し、画面䞭倮郚分にこのテストの実行手順ずしおからたでのステップずそれぞれのステップの期埅する結果を入力したした。

  • テストケヌスの䜜成䟋

タむトルずステップを入力したら「Save & Close」を遞択しおテストケヌスを保存したす。テストケヌスを䜜成するず以䞋の図のようにテストスむヌト内のテストケヌスの䞀芧が画面に衚瀺されるようになりたす。テストケヌスは、「New Test Case」のボタンから远加しおいくこずが可胜です。

  • テストケヌスの䞀芧

テストケヌスたで䜜成できたら、実際にテストを実斜しおみたしょう。

テストの実行

䜜成したテストケヌスをもずにテストを実斜しおみたしょう。テストケヌスの䞀芧画面の「Execute」タブを遞択し、実行したいテストケヌスにチェックが入った状態で「Run for web application」を遞択するず新しいりィンドりが衚瀺されたす。

  • テストを開始する

この画面では、テストケヌスの䜜成時に蚘述したテストのステップが衚瀺されおいたす。このステップの順にアプリケヌションを操䜜しながら、それぞれのステップの期埅する結果通りにアプリケヌションの振る舞いが倉化しおいくかどうかを確認しおいきたす。

  • テストの実行手順

アプリケヌションを操䜜し、テストケヌス通りの動䜜をした堎合は各ステップの右偎にあるチェックマヌクを遞択しおステップをパスしたこずを蚘録しおいきたす。

  • テストの実行結果を蚘録する

党おの結果を蚘録したら、「Save and close」でりィンドりを閉じたす。テストケヌスの䞀芧画面では、実行したテストケヌスのステヌタスが曎新されお衚瀺されおいたす。このステヌタスは各ステップの結果によっお自動的に倉動したす。党おのステップがパス成功した堎合は、ここに衚瀺されるステヌタスは「Passed」ずなりたす。

  • テストの実行結果成功

䞀方、ひず぀でもステップが倱敗した堎合は「Failed」ず衚瀺されたす。

  • テストの実行結果倱敗

テストの実行結果の詳现情報を確認するこずもできたす。テストケヌス䞀芧で倱敗したテストケヌスをダブルクリックするず新しいタブでテストケヌスの実行履歎が衚瀺されたす。

  • テストの実行履歎

曎に倱敗した履歎をダブルクリックするず別のタブでテスト実行時の詳现な蚘録を確認するこずができたす。

  • テストの実行履歎の詳现情報

䞊の図の䟋では、ステップで倱敗した際のコメントを確認できたす。テスト実行時には、コメント以倖にもアプリケヌションの画面キャプチャなども取埗・保存するこずも可胜です。テスト時に実行結果を詳しく蚘録するず、埌から開発者が倱敗したテストを確認する際に倱敗した事象の把握に圹立ちたす。

テストレポヌトの確認

ここたでAzure Test Plansを䜿った自動テストの管理方法の基本的な手順に぀いお説明しおきたした。Azure Test Plansにはこの他にもテストの進捗状況を確認するためのレポヌト機胜が備わっおいたす。Azure Test Plansの巊偎のメニュヌにある「Progress report」を遞択するず、テストの実行レポヌトを確認するこずができたす。

  • テストの実行レポヌト

レポヌトはテストの実行状況によっお倉化し、テストスむヌトなどによっお衚瀺のフィルタリングを行えるため、テスト状況に぀いお俯瞰しお確認をしたい堎合に䟿利な機胜ずなっおいたす。

たずめ

今回はAzure Test Plansを䜿甚した手動テストの管理方法に぀いお説明したした。これたでのAzure DevOpsのラむンナップず異なり手䜜業の工皋をサポヌトするツヌルずいう䜍眮づけではあるものの、DevOpsの゚コシステムずしお重宝するサヌビスであるこずが分かったかず思いたす。 今回たで回連続でAzure DevOpsの各サヌビスに぀いお説明しおきたした。それぞれのサヌビスは独立しお䜿甚するこずが可胜ですが、組み合わせお䜿甚するこずを想定しお䜜られおいるため、たずめお䜿甚するこずでDevOps・アゞャむル開発を円滑に進めるこずができるようになっおいたす。本連茉がAzure DevOpsを利甚するための足がかりずなれれば幞いです。

次回はAzure䞊でBotサヌビスを䜜成できる「Azure Bot Service」を説明する予定です。

WINGSプロゞェクト 秋葉韍䞀著/山田祥寛監修
WINGSプロゞェクトに぀いおテクニカル執筆プロゞェクト(代衚山田祥寛)。海倖蚘事の翻蚳から、䞻にWeb開発分野の曞籍・雑誌/Web蚘事の執筆、講挔等を幅広く手がける。䞀緒に執筆をできる有志を募集䞭