




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
自動(dòng)化測(cè)試系統(tǒng)0102目錄目錄 3 3ZSTACKZSTACK--自動(dòng)化測(cè)試系統(tǒng)1:集成測(cè)試基于模塊的測(cè)試。其中集成測(cè)試構(gòu)建于Junit之統(tǒng)提供的各種各樣的功能,開(kāi)發(fā)人員可以快速的寫(xiě)出測(cè)試用例,用于驗(yàn)證一個(gè)新特性或者04基于模塊的測(cè)試系統(tǒng)構(gòu)建于基于模塊的測(cè)試這么一個(gè)理論,是zstack-好奇的讀者可能已經(jīng)在他們的心中問(wèn)了這么一個(gè)問(wèn)題,為什么我們沒(méi)有提到單元測(cè)用在命令中的命名類似于:UnitTestbalabala,但在這篇文章中被命名為的單元測(cè)試概念有所不同,傳統(tǒng)的方式是測(cè)試一小段代碼,通常是針對(duì)內(nèi)部結(jié)構(gòu)的白試用例,因?yàn)闀?huì)加載多個(gè)依賴的服務(wù)、組件用以執(zhí)行一個(gè)測(cè)試這對(duì)單元測(cè)試的定義而言,這就是傾向于集成測(cè)試的黑盒測(cè)試?;谶@些事實(shí),我05從我們先前的經(jīng)驗(yàn)中,我們深刻地意識(shí)到,開(kāi)發(fā)人員持續(xù)忽視測(cè)試的一個(gè)對(duì)于幾乎所有的測(cè)試用例而言,有兩種重復(fù)性的工作。其中一個(gè)是準(zhǔn)備一個(gè)最小的但6con.addXml("PortalForUnitTest.xml").addXml("ZoneManager.xml").addXml("AccountManagerdbf=loader.getComponent(DatabaseFac}為了幫助測(cè)試人員準(zhǔn)備一個(gè)環(huán)境,包含將被測(cè)試的活動(dòng)的所有必須依賴,我7Deployer("deployerXml/vm/TestCrealoader=deployer.gebus=loader.getComponentdbf=loader.getComponent(DatabaseFac}publicvoidtest()throwsApiSenderException,InterruptedException{api.listInstanceOfferingImageInventoryiminv=api.listIVmInstanceInventoryinv=Assert.assertEquals(inv.getInstanceOfferingUuid(),Assert.assertEquals(inv.getImageUuid(),Assert.assertEquals(VmInstanceState.Running.toString(),Assert.assertEquals(3,inv.getVmNics().size());VmInstanceVOvm=dbf.findByUuid(inv.getUuid(),VmInstanceVO.class);Assert.assertNotNull(vm);Assert.assertEquals(VmInstanceState.Running,VmNicVOnvo=dbf.findByUuid(niVmNicVO.class);Assert.assertNotNull(nvo);}VolumeVOroot=dbf.findByUuid(inv.getRootVolumeUuid(),VolumeVO.class);9AssertAssert.assertNotNull(root);{VolumeVOdata=dbf.findByUuid(v.getUuid(),VolumeVO.class);Assert.assertNotNull(data);}}}}<?xml<?xmlversion="1.0"encodi<deployerConfigxmlns="/schema<instanceOfferingname="TestInstandescription="Test"memoryCapacity="3G"<simulatorBackupStoragename="TestBackdescription="Test"url="nfs://t<imagename="TestImage"descripformat="simulator"><backupStorageRef>TestBackupStorage</backupS<diskOfferingname="TestRootDi<diskOffering<diskOfferingname="TestDataDi<userVmname="TestVm"descript<rootDiskOfferingRef>TestRootDiskOffering</rootDiskO><imageRef>TestImage<instanceOfferingRef>TestInstanceOffering</instanceO><l3NetworkRef>TestL3Network1</l3N<l3NetworkRef>TestL3Network2</l3N<l3NetworkRef>TestL3Network3</l3N<defaultL3NetworkRef>TestL3Network1</defaultL3N<diskOfferingRef>TestDataDiskOffering</diskOf<zonename="TestZone"descript<clustername="TestCluster"descripti<simulatorHostnamemanagementIp="1"memoryCapacity="8G"cpuNum="4"cpuSpeed="260<simulatorHostnamemanagementIp="2"memoryCapacity="4G"cpuNum="4"cpuSpeed="260<primaryStorageRef>TestPrimaryStorage</primaryS<l2NetworkRef>TestL2Network</l2<l2NoVlanNetworkname="TesphysicalInterfacephysicalInterface="eth0"><l3BasicNetworkname="Testdescription="Test"startIp="00"endIp="00"gateway=""netmask="255.0.0<l3BasicNetworkname="Testdescription="Test"startIp="00"endIp="00"gateway=""netmask="255.0.0.<l3BasicNetworkname="Testdescription="Test"startIp="00"endIp="00"gateway=""netmask="255.0.0.description="Test"totalC<backupStorageRef>TestBackupStorage</backupS@@RequestMapping(value=KVMConstant.KVM_MERGE_SNAPSHOT_PATH,mergeSnapshot(HttpServletRequestreq){HttpEntity<String>entity=restf.httpServletReqJSONObjectUtil.toObjeMergeSnapshotRsprsp=newsnapshotKvmSimulator.mercmd.getDestPath(),cmd}}@RequestMapping@RequestMapping(value=KVMConstant.KVM_TAKE_VOLUME_SNAPSHOT_PATpublic@ResponseBodyStringtakeSnapshot(HttpHttpEntity<String>entity=restf.httpServletReqJSONObjectUtil.toObjeTakeSnapshotResponsersp=newTakeSrsp=snapshotKvmSimulat}}0每一個(gè)模擬器都有一個(gè)配置對(duì)象,像KVMSimulatorConfig,可以Dconfig=unitTestSui0<?xml<?xmlversion="1.0"encodi<UnitTestSuiteConfigxmlns="/schema/zstack"class="org.zstack.test.eip.TestViclass="org.zstack.test.eip.TestVirclass="org.zstack.test.eip.TestVirclass="org.zstack.test.eip.TestVirclass="org.zstack.test.eip.TestVirclass="org.zstack.test.eip.TestVirclass="org.zstack.test.eip.TestVirclass="org.zstack.test.eip.TestVirclass="org.zstack.test.eip.TestVirclass="org.zstack.test.eip.TestVirclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirtclass="org.zstack.test.eip.TestVirt<TestCaseclass="org.zstack.test.eip.TestQueclass="org.zstack.test.eip.TestEipPortForwardDcases=TestAddImage,TestCreateTemplateFromRootVolum00ZSTACKZSTACK——自動(dòng)化測(cè)試系統(tǒng)2:系統(tǒng)測(cè)試樣,這個(gè)系統(tǒng)測(cè)試也是全自動(dòng)的,而且覆蓋的層面包括成測(cè)試用例主要關(guān)注一個(gè)簡(jiǎn)單的場(chǎng)景,在一個(gè)簡(jiǎn)單的人造的環(huán)境中;舉個(gè)例子,還是創(chuàng)建2.易于編寫(xiě)和維護(hù)測(cè)試用例:就像集成測(cè)試系統(tǒng),系統(tǒng)測(cè)試系統(tǒng)接管了0zstack-woodpecker完全由我們自己創(chuàng)建;在決0敏銳的讀者可能會(huì)注意到一些參數(shù)是在其他的測(cè)試框架中看第一個(gè)是timeout;每一個(gè)測(cè)試用例可以定義自己第二個(gè)是repeat,允許你在測(cè)試套件中指定這000一旦所有的測(cè)試用例完成,一個(gè)報(bào)告將會(huì)被生成并被打話。為了在一般的日志中記錄更多的細(xì)節(jié),有一種特殊的日志act本來(lái)源,而不用被測(cè)試框架的日志分散注意力。另外,它是一種重要的工具,可以自生成一個(gè)新的用例用于重現(xiàn)失敗,這是一個(gè)我們所使用的魔法武器,用于在基于模型的測(cè)0環(huán)境。例如:zstack-cli-dzstack-這里的XML配置文件的格式類似于集成測(cè)0注意:正如你可能會(huì)猜測(cè)的,這個(gè)工具可以被管理0在系統(tǒng)測(cè)試中測(cè)試用例可以被高度模塊化。每一個(gè)用例本質(zhì)上執(zhí)行以下三Zstack-woodpecker本身提供一個(gè)完整的庫(kù)用于幫助測(cè)試人像集成測(cè)試一樣,測(cè)試人員可以僅以十幾行便寫(xiě)出一個(gè)測(cè)試用例。模塊化不只簡(jiǎn)化測(cè)試用例的編寫(xiě),也為基于模型的測(cè)試構(gòu)建了一個(gè)堅(jiān)實(shí)的基礎(chǔ),下篇0ZSTACKZSTACK——自動(dòng)化測(cè)試系統(tǒng)3:基于模型的測(cè)試基于模型的測(cè)試可以克服人類邏輯思考的缺陷來(lái)執(zhí)行一些,看起來(lái)反人類邏輯,但完全正確的測(cè)試,幫助發(fā)現(xiàn)難以被人類主導(dǎo)的測(cè)試發(fā)現(xiàn)的0測(cè)試用例這么做。這就是機(jī)器思考閃光的地方,因?yàn)樗鼪](méi)有人類的感情,會(huì)做人類在基于模型的測(cè)試系統(tǒng)中,每一個(gè)資源的每一個(gè)狀態(tài)都預(yù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)互動(dòng)活動(dòng)方案
- 企業(yè)黨內(nèi)培訓(xùn)活動(dòng)方案
- 企業(yè)六一成人活動(dòng)方案
- 企業(yè)助學(xué)活動(dòng)策劃方案
- 企業(yè)員工激勵(lì)活動(dòng)方案
- 企業(yè)圓桌論壇活動(dòng)方案
- 企業(yè)學(xué)校辦活動(dòng)策劃方案
- 企業(yè)小型交流會(huì)活動(dòng)方案
- 企業(yè)廉潔文化館活動(dòng)方案
- 企業(yè)執(zhí)法活動(dòng)方案
- 學(xué)前兒童德育課件
- 2025年C++考試專用復(fù)習(xí)資料試題及答案
- 2025年江蘇省無(wú)錫市河埒中學(xué)教育集團(tuán)中考二模英語(yǔ)試題
- 2025年中考英語(yǔ)沖刺仿真模擬測(cè)試卷(含答案)
- 2025國(guó)家開(kāi)放大學(xué)《商務(wù)英語(yǔ)1》綜合測(cè)試形考任務(wù)答案
- 浪潮軟件開(kāi)發(fā)面試題目及答案
- 2025年全國(guó)保密教育考試試卷附答案(三套)
- 2025年保密觀題庫(kù)及答案
- 2025年河北中考模擬(原創(chuàng)一)語(yǔ)文試題及答案
- 股權(quán)代簽協(xié)議書(shū)范本
- 生物安全柜試題及答案
評(píng)論
0/150
提交評(píng)論