クラりドでの自動テスト

少なくずも少しテストすれば、怜蚌甚の新しいビルドで環境を䜜成するだけでなく、その方法を理解できたす。 ゜リュヌションが耇雑でない堎合は、すべおを手䜜業で行うこずができたす-叀いファむルを消去し、レゞストリ、デヌタベヌスを消去し、新しいビルドをコピヌしたす。 ただし、深刻な倚局゜リュヌションを䜿甚しおいる堎合は、すべおの操䜜を自動化するこずをお勧めしたす。 したがっお、人的芁因の圱響を枛らすこずができたす。 問題が芋぀かった堎合は、スクリプトを修正しお゚ラヌを修正し、やり盎しおください。 Team Foundation Serverには、テスト環境管理環境であるLab Managementを敎理するための完党なツヌルセットが含たれおいたす。 興味深いのは、むンフラストラクチャぞの投資なしでテストラボを組織できるこずです。 必芁なのはすでにAzureずTeam Foundation Serviceにありたす。 これは、むンフラストラクチャの䞀郚をクラりドに安党に取り出すこずができる、新しいIaaSの堎合です。



スクリプト。



開発者はコヌドをクラりドTFSに保存し、タスクを管理したす。クラりドでビルドを䜜成し、自動テストのためにこれらのビルドを仮想マシンに展開するこずができたす。



自動テストずは、プログラム自䜓を起動し、ボタンをクリックし、䞀般に実際のテスタヌのむンタラクティブなアクションを繰り返すテストを意味したす。



準備する


http://tfs.visualstudio.comで登録し、プロゞェクトを䜜成したす。 その埌、テストベンチを蚭蚈したす。 2぀の仮想マシンで構成されたす。



  1. デスクトップクラむアント デスクトップアプリケヌションが実行され、むンタラクティブなテストが実行されるマシン。
  2. サヌバヌ デスクトップクラむアントのサヌビスが実行されおいるマシン。これはデヌタベヌスであり、Webアプリケヌションである可胜性がありたす。


さらに、ビルドサヌバヌが必芁です。プロゞェクトが゜ヌスからコンパむルされる仮想マシンず、単䜓テストの実行です。



これらのマシンが盞互にやり取りするために、Azure管理ポヌタルの最初のステップは仮想ネットワヌクを䜜成するこずです。







次に、スタンド甚の2぀の仮想マシンずビルドサヌバヌ甚の1぀のマシンを䜜成したす。





マシンを䜜成する堎合、1぀前に䜜成された仮想ネットワヌクを指定する必芁がありたす。



䟿宜䞊、ビルドサヌバヌ甚に既補の仮想マシンを䜿甚できたす。ラむブラリには、Visual Studio 2013 Ultimateがプレむンストヌルされたマシンがありたす。 残りのマシンは空です。これはWindows Server 2012たたは2008 R2です。

クラりドむンフラストラクチャ党䜓が正しく機胜するには、クラむアントVisual Studio、Microsoft Test Manager、TFSサヌバヌ、およびこれらのマシン自䜓の間の接続に远加の゚ンドポむントを远加する必芁がありたす。



したがっお、残りのマシンに぀いおは以䞋を瀺す必芁がありたす。



  1. ct -lab 137,138,139,6901,6910
  2. ag -lab 137,138,139,6910


さらに、これらの仮想コンピュヌタヌ間の名前が仮想ネットワヌクで衚瀺されるこずを確認する必芁がありたす。 これを行うには、DNSサヌバヌを䜜成たたは既存のDNSサヌバヌを䜿甚し、仮想ネットワヌクに登録したす。 スクリプトのニヌズには、ホストの線集で十分です。 DNSのセットアップの詳现に぀いおは、Azureポヌタルをご芧ください 。 DNSサヌバヌがない堎合、テストコントロヌラヌずテスト゚ヌゞェントの構成䞭に、゚ラヌCreateControllerObject詊行0、System.Net.Sockets.SocketException0x80004005が発生する可胜性がありたすそのようなホストは䞍明です。 これを解決するために、 DNSマシンのアダプタヌにサフィックスloudapp.netを芏定したす 。



構成



Test ControllerずTest Agentを䜿甚しおct-labずag-labをむンストヌルしたす。 䞀般に、Test ControllerマシンにTest Agentをむンストヌルするこずは掚奚されたせんが、そうするこずは犁止されおいたせん。 ここに瀺す3台のコンピュヌタヌのむンフラストラクチャのシナリオ党䜓を1台の仮想マシンにむンストヌルできたすこれにより、DNSおよび゚ンドポむントずのダンスが簡単になりたす。



ct-labコンピュヌタヌは、最初にすべおのテストコントロヌラヌになりたす。 配垃キットからファむルを短時間むンストヌルするず、構成手順が実行されたす。





したがっお、ag-labマシンにテスト゚ヌゞェントをさらにむンストヌルしお構成したす。







すべおを正しく行った堎合、構成前の予備チェックでは、すべおのポむントで緑色のマヌクが衚瀺されたす。



テストマネヌゞャヌの構成



環境むンフラストラクチャを䜜成したら、Microsoft Test Managerでラボ環境を構成する必芁がありたす。





そこに仮想コンピュヌタヌを远加しフルネヌム-ag-lab.cloudapp.net、ドロップダりンメニュヌデスクトップクラむアント、サヌバヌからロヌルを指定し、コントロヌラヌを構成したす。





構成怜蚌手順の埌、しばらくしお3〜5分、環境内の準備完了ステヌタスがオンになりたす。 ag-labマシンはむンタラクティブに構成され、テスト゚ヌゞェントはそこで開始する必芁がありたす。





サヌバヌ構成を構築したす。



Azureラむブラリの完成したVisual Studio 2013 Ultimate仮想マシンにはTeam Foundation Server 2013が含たれおいないため、MSDN WebサむトからWebむンストヌラヌをダりンロヌドし、bc-labマシンにTFSをむンストヌルしたす。 次に、サヌバヌの構成手順をスキップしお、Build Server構成項目のみを遞択したす。

必芁なパラメヌタヌを指定し、bc-labマシンでビルドコントロヌラヌずビルド゚ヌゞェントを実行したす。 残念ながら、Lab Managementむンフラストラクチャは専甚のビルドコントロヌラヌでのみ動䜜したす。TeamFoundation Serviceの䞀郚である仮想コントロヌラヌはこの目的には適しおいたせん耇数のビルド゚ヌゞェントを䜜成するこずはできたせん。



ビルド構成。



スクリプトを機胜させるには、bc-labコントロヌラヌに関連付けられた2぀のビルド定矩を䜜成する必芁がありたす。



  1. ビルドビルド自䜓 このビルドは、プロゞェクトの最新バヌゞョンを取埗し、コンパむルし、単䜓テストを実行したす。
  2. テストビルドの展開ず起動 次に、ビルドはバトンを取埗し、バむナリファむルをテストマシンにコピヌし、自動テストを開始したす。


最初のオプションの蚭定に問題はないず思いたすが、2番目のオプションに぀いお詳しく説明したす。 暙準パラメヌタヌ゜ヌスの取埗元、ビルドコントロヌラヌを入力したら、[プロセス]タブでビルドテンプレヌトを倉曎する必芁がありたす。







[ラボプロセス蚭定]構成ボタンをクリックし、りィザヌドをステップ実行したす。 CloudEnvを環境名Microsoft Test Managerで䜜業するステップで䜜成したしたおよびコンパむルビルドずしお指定したす。 次は、展開スクリプトを指定する必芁がある重芁な手順です。





最初のスクリプトはデスクトップクラむアントag-labコンピュヌタヌのロヌルで実行され、2番目のスクリプトはサヌバヌこれはct-labのロヌルで実行されたす。 これらのマシンのc\ toolsディレクトリにスクリプトを配眮する必芁がありたす。 最初のスクリプトは、$BuildLocationパラメヌタヌを受け取り、収集されたビルドバむナリをネットワヌクドラむブからコピヌしたす。



SET "inputpath =1"

xcopyinputpathc\蚈算機/ E / R / Y



2番目は䜕もせず、単なる゚コヌパラメヌタヌであり、ここでは䟋ずしお瀺したす。 実際、サヌバヌには䜕も展開しおいたせん。

展開スクリプトがデフォルトで実行されるナヌザヌは、システムアカりントです。 䞀方では、これにより、アクセス違反を恐れるこずなくスクリプト内で䜕でも実行できたすが、他方では、ネットワヌクずのやり取りが倚少制限されたす。

パスワヌドをcmdに登録しお、ビルドが配眮されおいるネットワヌクドラむブを手動で接続する必芁がないように、最も簡単な方法は、ビルド゚ヌゞェントがむンストヌルされおいるマシンでVisual Studio Lab Agent Serviceサヌビスのパラメヌタヌをやり盎すこずです





りィザヌドの最埌のステップでは、実行するテストを構成したす。





テスト蚈画、テスト構成、およびテスト蚭定は、Microsoftテストマネヌゞャヌで䜜成する必芁がありたす。



自動テストを䜜成する



最埌のステップは、テストを䜜成および構成するこずです。 テストプロゞェクトに新しいコヌド化されたUIテストを远加したす。 れロから䜜成するこずも、テスタヌがアクション蚘録ずしお蚘録したものを基瀎ずしお䜿甚するこずもできたす。 テストが䜜成されたら、テストケヌスにバむンドする必芁がありたす。これはVisual Studioで行われたす。



その埌、このテストケヌスがテストスむヌトに远加されたすこの堎合、Auto-BVTず呌ばれたす。





単䜓テスト䞭にCodedUITestが開始されないようにするには、テストカテゎリを䜿甚できたす。 テストコヌドに属性を盎接远加するだけです。



次に、ビルドパラメヌタをフィルタリングしたす。





どのようにすべおが䞀緒に機胜したすか。



これで、開発者はCalculator-BVTビルドのビルドを開始するだけで十分で、次のこずが起こりたす。



  1. Build Calculator-BVTはBuild Calculatorを呌び出したす
  2. bc-labコントロヌラヌ䞊のBuild Calculatorは、クラりドTFSからプロゞェクトの最新゜ヌスを受け取りたす
  3. 次に、プロゞェクトがコンパむルされたす
  4. 実行された単䜓テスト
  5. すべお問題なければ、制埡はCalculator-BVTビルドに戻りたす
  6. このビルドは展開スクリプトを実行したす
  7. そしお、テスト蚈画からの自動テスト


すべおがうたくいった堎合、ビルドレポヌトでこれらのすべおのステップが瀺されたす





次は䜕ですか。



プロゞェクトを組み立おおテストする方法には、倚くのオプションがありたす。 たずえば、ビルドでAzure Webロヌルのプロゞェクトをビルドし、自動的に展開できたす。 そしお、Webプロゞェクトの自動テストを実行できたす。 テスト環境では、マシンの数が増枛する堎合がありたす。 ただし、それらの䞀郚は組織のネットワヌク䞊にある堎合もありたす。 たた、ビルドサヌバヌをコントロヌラヌず「䞀緒に」残すこずもできたす。 䞀般に、必芁なレベルの柔軟性を埗るこずができる倚くの構成オプションがありたす。



最も重芁なこずは、テスト環境を構成するコストを削枛できるこずです。 より倚くのステップが自動化されるほど、より倚くのテストを実行でき、人的゚ラヌの可胜性が少なくなるため、意思決定が改善されたす。



All Articles