版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
佳都新太提高代碼質(zhì)量Java篇目錄(一)除了編碼,開發(fā)還可以做什么
編碼規(guī)范單元測試
代碼評審靜態(tài)檢查
持續(xù)集成目錄(二)補(bǔ)充
動(dòng)態(tài)檢查缺陷管理
性能測試
WEB前端分析
自動(dòng)化測試除了編碼,開發(fā)還可以做什么
現(xiàn)狀
項(xiàng)目開發(fā)過程中,由于開發(fā)人員的經(jīng)驗(yàn)、代碼風(fēng)格各不相同,以及缺乏統(tǒng)一的標(biāo)準(zhǔn)和管理流程,往往導(dǎo)致整個(gè)項(xiàng)目的代碼質(zhì)量較差,難于維護(hù),需要較大的測試投入和周期等問題。
措施可以采用以下五個(gè)步驟來保證和提高整個(gè)項(xiàng)目的代碼質(zhì)量:統(tǒng)一編碼規(guī)范、代碼樣式;靜態(tài)代碼分析(staticcodereview);單元測試;持續(xù)集成;代碼評審和重構(gòu)(Review&Refactor)。下面將針對每個(gè)步驟和其所使用的工具、方法進(jìn)行詳細(xì)描述。代碼質(zhì)量保證步驟ContentTitle編碼規(guī)范規(guī)范統(tǒng)一的編碼能提高項(xiàng)目代碼的可讀性和可維護(hù)性,編碼規(guī)范主要應(yīng)包含以下幾個(gè)方面:一般規(guī)則和格式規(guī)范。例如代碼縮進(jìn)、程序塊規(guī)范、每行最大代碼長度等。命名規(guī)則。例如包名、類名、變量、方法、接口、參數(shù)等命名規(guī)范文檔規(guī)范。例如類文件頭聲明、類注釋、成員變量和方法注釋等規(guī)范。編程規(guī)范。例如異常、并發(fā)、多線程等方面的處理方式。其他規(guī)范。例如日志格式、屬性文件格式,返回值和消息格式。用eclipse控制代碼樣式(一)一旦編碼規(guī)范確定,就可以利用Eclipse來控制代碼樣式和格式。點(diǎn)擊Eclipse的Windows->Preference菜單項(xiàng),在打開的Preferences對話框的左側(cè)欄中找到Java節(jié)點(diǎn)下的子項(xiàng)CodeStyle,該項(xiàng)和它的子項(xiàng)允許您對Java代碼的樣式進(jìn)行控制:用eclipse控制代碼樣式(二)可以在Eclipse提供的默認(rèn)代碼格式配置的基礎(chǔ)上建立自定義的格式。在Formatter面板中,點(diǎn)擊New,輸入新的名字并選擇一個(gè)默認(rèn)的配置作為初始化格式,如圖所示:用eclipse控制代碼樣式(三)設(shè)置風(fēng)格如圖所示:代碼靜態(tài)檢查_CheckStyleCheckStyle用來檢查代碼格式、規(guī)范、風(fēng)格。檢查并強(qiáng)制執(zhí)行統(tǒng)一的代碼風(fēng)格;檢查Javadoc;檢查類、變量、方法的命名;檢查類和方法的大??;檢查編碼錯(cuò)誤,例如magicnumber;……代碼常見問題舉例:代碼中的magic-number和magic-string:
Strings=“0000”+Integer.toString(ch,16);0000、16的含義,作者幾周后就忘記了。CheckStyle的安裝配置(一)CheckStyle插件地址。
自動(dòng)安裝地址:/update
下載地址:/projects/eclipse-cs/develop安裝后出現(xiàn):CheckStyle的安裝配置(二)
配置項(xiàng)說明:
CheckStyle的安裝配置(三)CheckStyle檢查結(jié)果:
其它工具
用于javascript靜態(tài)檢查的工具:Jslint-TheJavaScriptCodeQualityTool
代碼靜態(tài)檢查_FindBugsFindBugs是一個(gè)java代碼的靜態(tài)代碼分析工具,用來發(fā)現(xiàn)那些潛在的、常見的、很難被發(fā)現(xiàn)的bug。與其他靜態(tài)分析工具不同,F(xiàn)indBugs不注重樣式或者格式,它試圖只尋找真正的缺陷或者潛在的性能問題。如NullPoint空指針檢查、沒有合理管理資源等。Findbugs插件地址。
自動(dòng)安裝地址:/eclipse
下載地址:/downloads.html?0?2Findbugs的使用
配置選項(xiàng):
Findbugs的使用運(yùn)行,右鍵項(xiàng)目執(zhí)行“FindBugs”操作:
檢查結(jié)果:
單元測試單元測試
單元測試是最小粒度的測試,以測試某個(gè)功能或代碼塊,一般由程序員來做。用例設(shè)計(jì)和評審
設(shè)計(jì)階段需要具體考慮要對哪些代碼單元進(jìn)行測試,被測單元之間的關(guān)系,測試策略,以及單元測試用例設(shè)計(jì)等,并最終輸出《單元測試用例設(shè)計(jì)》文檔,用來指導(dǎo)具體的單元測試執(zhí)行。在用例設(shè)計(jì)完成之后,下一步的工作就是進(jìn)行測試用例的評審。個(gè)人的理解和經(jīng)驗(yàn)始終是有限的,用例評審可以借集體之力,對用例設(shè)計(jì)進(jìn)入查漏補(bǔ)缺,進(jìn)一步保證測試用例的有效性。
單元測試_JUnitJUnit
JUnit是一個(gè)開發(fā)源代碼的Java測試框架,用于編寫和運(yùn)行可重復(fù)的測試。它是用于單元測試框架體系xUnit的一個(gè)實(shí)例(用于java語言)。主要用于白盒測試,回歸測試。下載地址
eclipse自帶了JUnit,完整安裝包的下載地址:/projects/junit/files/junit/4.0/
Junit核心結(jié)構(gòu)Junit
JUnit測試開發(fā)(一)下面舉例描述怎樣對一個(gè)類編寫單元測試代碼,待測試的類:
JUnit測試開發(fā)(二)JUnit3.8測試類:
JUnit測試開發(fā)(三)JUnit4.0測試類:
JUnit測試開發(fā)(四)setUp和tearDown方法:
Junit斷言(一)斷言Assert方法:
Junit斷言(二)斷言Assert方法:
在Eclipse上執(zhí)行Junit(一)
下面說明怎樣在eclipse上執(zhí)行Junit單元測試添加一個(gè)需要測試的類Hello:
在Eclipse上執(zhí)行Junit(二)選中需要測試的類,右鍵點(diǎn)擊,選擇New->JUnitTestCase,如圖:在Eclipse上執(zhí)行Junit(三)新建測試類:
在Eclipse上執(zhí)行Junit(四)下一步選擇要測試的方法:
在Eclipse上執(zhí)行Junit(五)完成HelloTest的Abs方法:
在Eclipse上執(zhí)行Junit(六)執(zhí)行測試程序,右鍵,RunAs->JUnitTest,就可以看到JUnit測試結(jié)果:
綠色表示測試通過,只要有1個(gè)測試未通過,就會顯示紅色并列出未通過測試的方法。單元測試_EasyMock模擬對象技術(shù)
在實(shí)際項(xiàng)目中,開發(fā)人員自己的代碼往往需要和其他的代碼模塊或系統(tǒng)進(jìn)行交互,但在測試的過程中,這些需要被調(diào)用的真實(shí)對象常常很難被實(shí)例化,利用一個(gè)模擬對象來模擬我們的代碼所依賴的真實(shí)對象,來幫助完成測試,提高測試覆蓋率。常見的模擬技術(shù)模擬技術(shù)有很多種,如jMock,EasyMock,Mockito,PowerMock等等,下面用EasyMock舉例說明如何模擬對象。EasyMock(一)EasyMock(二)//校驗(yàn)用戶名和密碼if("admin".equals(username)&&"123456".equals(password)){ServletContextcontext=getServletContext();RequestDispatcherdispatcher=context.getNamedDispatcher("dispatcher");dispatcher.forward(request,response);}else{thrownewRuntimeException("Loginfailed.");}}
}EasyMock(三)為測試doPost()方法,需要模擬HttpServletRequest等對象,以便脫離J2EE容器來測試這個(gè)Servlet。建立TestCase,名為LoginServletTest:
publicclassLoginServletTestextendsTestCase{}測試當(dāng)用戶名和口令驗(yàn)證失敗的情形:publicvoidtestLoginFailed()throwsException{//創(chuàng)建mock對象MockControlmc=MockControl.createControl(HttpServletRequest.class);HttpServletRequestrequest=(HttpServletRequest)mc.getMock();EasyMock(四)//設(shè)置mock參數(shù)
request.getParameter("username");//期望下面的測試將調(diào)用此
方法,參數(shù)為"username"mc.setReturnValue("admin",1);//期望返回值為"admin",僅調(diào)用1次request.getParameter("password");//期望下面的測試將調(diào)用此方
法,參數(shù)為"password"mc.setReturnValue("1234",1);//期望返回值為"1234",僅調(diào)用1
次//表示錄制完畢mc.replay();EasyMock(五)try{servlet.doPost(request,null);fail("Notcaughtexception!");}catch(RuntimeExceptionre){assertEquals("Loginfailed.",re.getMessage());}//verify:mc.verify();}運(yùn)行JUnit,測試通過!表示我們的Mock對象正確工作了!單元測試_測試覆蓋率分析為了衡量單元測試的質(zhì)量和覆蓋的范圍,需要對單元測試的代碼進(jìn)行測試覆蓋分析。具體采用哪些指標(biāo)可以根據(jù)項(xiàng)目的實(shí)際情況來定,以避免因過高的指標(biāo)增加了代碼開發(fā)人員的工作量而影響了項(xiàng)目整體的進(jìn)度。。
業(yè)內(nèi)比較常用的工具有:
1、Cobertura,對應(yīng)的eclipse插件:eCobertura。2、EclEmma是一款基于EMMA的Eclipse插件,方
便在EclipseIDE中進(jìn)行測試覆蓋率分析。
插件下載地址:/
Eclipse測試覆蓋率分析(一)下面說怎樣在eclipse上執(zhí)行測試覆蓋率分析:
先安裝插件EclEmma,然后在測試用例寫好后,可以在右鍵點(diǎn)擊測試類,選擇CoverageAs->JUnitTest.Eclipse測試覆蓋率分析(二)單元測試執(zhí)行完后,Coverage視圖中會顯示所選擇的測試的覆蓋率。雙擊打開某一具體的類后,可以看到高亮顯示的覆蓋分析結(jié)果,如圖所示。紅色代表測試沒有覆蓋到該行,黃色表示部分覆蓋,綠色的行表示該行在本次測試中被覆蓋到。Eclipse測試覆蓋率分析(三)在Coverage視圖中可以通過點(diǎn)擊鼠標(biāo)右鍵將測試覆蓋分析的結(jié)果導(dǎo)出成需要的格式,例如HTML。持續(xù)集成持續(xù)集成(ContinuousIntegration)是利用一系列的工具、方法和規(guī)則,做到快速的構(gòu)建開發(fā)代碼,自動(dòng)的測試化,來提高開發(fā)代碼的效率和質(zhì)量。持續(xù)集成的提出
如果項(xiàng)目開發(fā)的規(guī)模比較小,比如一個(gè)人的項(xiàng)目,如果它對外部
系統(tǒng)的依賴很小,那么軟件集成不是問題,但是隨著軟件項(xiàng)目復(fù)雜度的增加(即使增加一個(gè)人),就會對集成和確保軟件組件能夠在一起工作提出了更多的要求-要早集成,常集成。早集成,頻繁的集成
幫助項(xiàng)目在早期發(fā)現(xiàn)項(xiàng)目風(fēng)險(xiǎn)和質(zhì)量問題,如果到后期才發(fā)現(xiàn)這些問題,解決問題代價(jià)很大,很有可能導(dǎo)致項(xiàng)目延期或者項(xiàng)目失敗。持續(xù)集成
持續(xù)集成的常見做法是:持續(xù)集成框架+版本管理器+構(gòu)建工具。
1、持續(xù)集成框架常用的有:Hudson(jenkins)、Continuum、CruiseControl等。2、版本管理器常用的有:ClearCase、Wincvs、SVN等。3、構(gòu)建工具常用的有:Ant、Maven。
后面主要以SVN+Hudson+Ant實(shí)現(xiàn)方式舉例說明。
持續(xù)集成_版本管理器持續(xù)集成_自動(dòng)構(gòu)建
Ant在構(gòu)建過程方面十分優(yōu)秀,它是一個(gè)基于任務(wù)和依賴的構(gòu)建工具。下載地址:
/bindownload.cgiMaven不單是構(gòu)建工具,也是個(gè)項(xiàng)目管理平臺。下載地址:
/download.html
Maven與Ant對比,一些使用上的區(qū)別:1、Maven是基于中央倉庫的編譯,即把編譯所需要的資源放在一個(gè)中央倉庫里,如jar,tld等。當(dāng)編譯的時(shí)候,maven會自動(dòng)在倉庫中找到相應(yīng)的包,而ant需要自己定義了。用maven編譯的項(xiàng)目在發(fā)布的時(shí)候只需要發(fā)布源碼,小得很,而反之,ant的發(fā)布則要把所有的包一起發(fā)布。2、Maven有大量的重用腳本可以利用,如生成網(wǎng)站,生成javadoc,sourcecodereference,等。而ant都需要自己去寫。3、Maven目前不足的地方就是沒有象ant那樣成熟的GUI界面。
持續(xù)集成_持續(xù)集成框架有了自動(dòng)構(gòu)建后,我們就可以通過Hudson每天定時(shí)用Ant腳本或Maven,加上JUnit、Cobertura/EMMA等的ANT腳本調(diào)用,每一次的構(gòu)建都可以把這些檢查工作自動(dòng)的進(jìn)行一遍測試。然后生成測試報(bào)告進(jìn)行查閱。Hudson(Jenkins的前身)可以說在安裝和配置上最簡單的CI產(chǎn)品。Hudson是基于java開發(fā)的,但它不僅限于構(gòu)建基于Java的軟件,還能構(gòu)建.net、Python、Ruby等。Hudson提供了一組很明確和可擴(kuò)展API的Hudson組件。這批組成一個(gè)大的類庫的Hudson組件反過來又豐富了Hudson的功能;它們都是開源的,而且它們可以直接通過Hudson的控制臺來進(jìn)行安裝。安裝軟件下載地址:/
Hudson安裝要點(diǎn)將jenkins.war拷貝到tomcat的webapps目錄下;修改Tomcat-7.0.8\conf\server.xml文件,設(shè)置UTF-8編碼:通過以下方式修改HUDSON_HOME的位置:在hudson的web.xml中找到HUDSON_HOME,默認(rèn)value為空值,將其設(shè)置為你希望的路徑,然后重啟。
Hudson首頁Hudson管理界面Hudson插件安裝(一)Hudson插件安裝(二)Hudson
Job(一)Hudson
Job(二)Hudson
Job(三)Hudson
Job(四)Hudson質(zhì)量度量(一)Hudson質(zhì)量度量(二)openEAP應(yīng)用的實(shí)踐(一)以下演示在實(shí)際的openEAP項(xiàng)目中,怎樣自動(dòng)化完成以上活動(dòng)。演示的是一個(gè)web項(xiàng)目,目錄結(jié)構(gòu)如下圖所示:
openEAP應(yīng)用的實(shí)踐(二)因?yàn)橄嚓P(guān)依賴資源都已經(jīng)在quality目錄下了(運(yùn)行只依賴數(shù)據(jù)庫環(huán)境,沒有對數(shù)據(jù)庫操作進(jìn)行模擬),所以可以直接通過ant執(zhí)行quality目錄下的build.xml,腳本執(zhí)行完畢后,生成的報(bào)告在quality目錄下,如下圖所示:
openEAP應(yīng)用的實(shí)踐(三)也可以發(fā)布到Hudson上執(zhí)行構(gòu)建:
openEAP應(yīng)用的實(shí)踐(四)在Hudson上查看報(bào)告:
代碼評審代碼評審(CodeReview)是Java項(xiàng)目開發(fā)過程中的一個(gè)重要步驟,代碼評審可以幫助發(fā)現(xiàn)靜態(tài)代碼分析過程中無法發(fā)現(xiàn)的一些問題,例如代碼在邏輯上或者功能上是否存在錯(cuò)誤,代碼在執(zhí)行效率和性能上是否有需要改進(jìn)的地方等。代碼評審還可以幫助新進(jìn)入項(xiàng)目組的成員快速學(xué)習(xí)和了解項(xiàng)目,促進(jìn)經(jīng)驗(yàn)分享。代碼評審主要包括兩種形式,同級評審(PeerReview)和小組評審(GroupReview)。同級評審主要指項(xiàng)目成員間的互相評審,小組評審是指通過召開評審會議,項(xiàng)目成員一起對項(xiàng)目代碼進(jìn)行評審。為了提高代碼評審的有效性和效率,可以借助一些外部工具,比較常用的代碼評審工具有Jupiter和CodeStriker。Jupiter是一款開源的Eclipse插件,允許成員將評審意見定位到真實(shí)代碼的具體行,由于代碼評審的結(jié)果以XML文件的形式保存。Jupiter使用Eclipse插件下載地址:
/p/jupiter-eclipse-plugin/Jupiter里,代碼評審(codereview)分為4個(gè)流程:1.Configuration(配置):review發(fā)起者設(shè)置“ReviewID”,指定要
評審的代碼,參與代碼評審的人員,要討論的問題等等。2.Individualreview(個(gè)人評審):每個(gè)人獨(dú)自審查代碼,把可能出現(xiàn)
問題的代碼加入checklist。
3.Teamreview(團(tuán)隊(duì)評審):大家在一起討論之前檢查出的問題代
碼,并決定如何處理。4.Rework:開發(fā)人員根據(jù)之前評審的結(jié)果,對代碼進(jìn)行修復(fù)。
具體操作請參考《CodeReview工具Jupiter的使用.mht》補(bǔ)充除了以上提到的在開發(fā)過程中我們可以采取的措施外,我們還可以通過其它手段從不同方面提升我們的系統(tǒng)質(zhì)量。下面將簡要介紹動(dòng)態(tài)檢查、WEB前端分析、缺陷管理、自動(dòng)化測試、性能測試的操作和相關(guān)工具。
動(dòng)態(tài)檢查動(dòng)態(tài)檢查是指當(dāng)應(yīng)用在運(yùn)行時(shí),檢查當(dāng)前應(yīng)用的對象、對象引用、內(nèi)存、CPU使用情況、線程、線程運(yùn)行情況(阻塞、等待等),同時(shí)可以查找應(yīng)用內(nèi)存使用得熱點(diǎn),即:哪個(gè)對象占用的內(nèi)存比較多;或者CPU熱點(diǎn),即:哪兒方法占用的較大得CPU資源。常用的檢測工具有:JProfiler、JConsole。
動(dòng)態(tài)檢查_JProfiler(一)動(dòng)態(tài)檢查_JProfiler(二)監(jiān)控界面如下圖所示:
動(dòng)態(tài)檢查_JConsole(一)JConsole是一個(gè)基于JMX的GUI工具,用于監(jiān)控正在運(yùn)行的JVM。JConsole是jdk5.0自帶的工具,所以如果安裝的的jdk5以上版本,
那么就不用去另外安裝。JConsole畢竟是JDK自帶的東西,功能雖然沒有一些商業(yè)軟件那
么強(qiáng)大,但是穩(wěn)定性好,在大壓力情況下也不會發(fā)生什么問題。而且,提供了相對全面的系統(tǒng)監(jiān)控功能。在待監(jiān)控的JVM啟動(dòng)命令上增加以下參數(shù),JConsole就可以遠(yuǎn)程連接并監(jiān)控了。-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.port=7080
其中7080是Jconsole連接的端口。
動(dòng)態(tài)檢查_JConsole(二)在本機(jī)運(yùn)行jdk\bin\jconsole.exe,輸入遠(yuǎn)端機(jī)器的IP、JMX端口就可以連接上去了。如下圖所示:
動(dòng)態(tài)檢查_JConsole(三)在本機(jī)運(yùn)行jdk\bin\jconsole.exe,輸入遠(yuǎn)端機(jī)器的IP、JMX端口就可以連接上去了。如下圖所示:
動(dòng)態(tài)檢查_JMX(一)JMX(JavaManagementExtensions,即Java管理擴(kuò)展)是一個(gè)為應(yīng)用程序、設(shè)備、系統(tǒng)等植入管理功能的框架。通常使用JMX來監(jiān)控系統(tǒng)的運(yùn)行狀態(tài)或管理系統(tǒng)的某些方面,比如清空緩存、重新加載配置文件等。下面舉例說明怎樣通過JMX監(jiān)控自己的程序:1、Hello是一個(gè)需要被管理的類:
動(dòng)態(tài)檢查_JMX(二)2、要管理Hello則必須創(chuàng)建一個(gè)相應(yīng)Mbean:
說明:包含在MBean中方法都將是可以被管理的。MBean起名是有規(guī)范的,就是原類名后加上MBean字樣。
動(dòng)態(tài)檢查_JMX(三)3、創(chuàng)建Agent類注冊服務(wù)MBean:
動(dòng)態(tài)檢查_JMX(四)4、運(yùn)行后通過JConsole監(jiān)控的情況如下圖:
WEB前端分析(一)為什么關(guān)注前端性能分析?“系統(tǒng)響應(yīng)時(shí)間”指應(yīng)用系統(tǒng)從請求發(fā)出開始到客戶端接收到所有數(shù)據(jù)所消耗的時(shí)間。這樣,“系統(tǒng)響應(yīng)時(shí)間”加上“呈現(xiàn)時(shí)間”,才是完整的用戶感受到的響應(yīng)時(shí)間。
響應(yīng)時(shí)間=網(wǎng)絡(luò)響應(yīng)時(shí)間+應(yīng)用程序響應(yīng)時(shí)間+瀏覽器處理時(shí)間響應(yīng)時(shí)間=(N1+N2+N3+N4)+(A1+A2+A3)+TbWEB前端分析(二)為什么關(guān)注前端性能分析?
WEB前端分析(三)Yahoo!的ExceptionalPerformance團(tuán)隊(duì)為改善Web性能帶來最佳實(shí)踐。他們?yōu)榇诉M(jìn)行了一系列的實(shí)驗(yàn)、開發(fā)了各種工具、寫了大量的文章和博客并在各種會議上參與探討。最佳實(shí)踐的核心就是旨在提高網(wǎng)站性能。ExcetionalPerformance團(tuán)隊(duì)總結(jié)出了一系列可以提高網(wǎng)站速度的方法??梢苑譃?大類34條。包括內(nèi)容、服務(wù)器、cookie、CSS、JavaScript、圖片、移動(dòng)應(yīng)用等七部分。
詳情請參考附件:《雅虎團(tuán)隊(duì)經(jīng)驗(yàn)-網(wǎng)站頁面性能優(yōu)化的34條黃金守則.pdf》
WEB前端分析(四)Yahoo!的ExceptionalPerformance團(tuán)隊(duì)為改善Web性能帶來最佳實(shí)踐。他們?yōu)榇诉M(jìn)行了一系列的實(shí)驗(yàn)、開發(fā)了各種工具、寫了大量的文章和博客并在各種會議上參與探討。最佳實(shí)踐的核心就是旨在提高網(wǎng)站性能。ExcetionalPerformance團(tuán)隊(duì)總結(jié)出了一系列可以提高網(wǎng)站速度的方法。可以分為7大類34條。包括內(nèi)容、服務(wù)器、cookie、CSS、JavaScript、圖片、移動(dòng)應(yīng)用等七部分。
詳情請參考附件:《雅虎團(tuán)隊(duì)經(jīng)驗(yàn)-網(wǎng)站頁面性能優(yōu)化的34條黃金守則.pdf》
WEB前端分析(五)常用的前端性能分析工具有:FiddlerIBMPageDetailer(商用)FireBugYahooYSlowHTTPAnalyzer(商用)AOLPageTest
建議采用IBMPageDetailer、YahooYSlow。
缺陷管理缺陷管理/軟件缺陷管理(DefectManagement)是在軟件生命周期中獲取、管理、溝通任何變更請求的過程(從變更的建議到變更的解決)??梢源_保你的問題如需求或者缺陷被跟蹤管理而不丟失。業(yè)內(nèi)在用的缺陷管理工具:
自動(dòng)化測試_QTP(一)QTP是QuicktestProfessional的簡稱,是一種自動(dòng)測試工具。使用QTP的目的是想用它來執(zhí)行重復(fù)的手動(dòng)測試,主要是用于回歸測試和測試同一軟件的新版本。因此你在測試前要考慮好如何對應(yīng)用程序進(jìn)行測試,例如要測試那些功能、操作步驟、輸入數(shù)據(jù)和期望的輸出數(shù)據(jù)等。以驗(yàn)證eapmgr登錄為例,簡單演示QTP的用法。1、測試用例:
自動(dòng)化測試_QTP(二)2、運(yùn)行QTP,在以下提示框中勾選“Web”
自動(dòng)化測試_QTP(三)3、在主界面上,點(diǎn)擊“Record”,開始錄制腳本:
輸入測試URL后,點(diǎn)【確定】:自動(dòng)化測試_QTP(三)在自動(dòng)打開的eapmgr登錄頁面中,輸入用戶名:admin,密碼:suntek:點(diǎn)【登錄】按鈕,系統(tǒng)彈出提示:
自動(dòng)化測試_QTP(三)4、完成錄制,點(diǎn)擊【stop】:
自動(dòng)錄制的腳本如下:
修改腳本,加上提示內(nèi)容校驗(yàn):
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年浙江工商職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫及完整答案詳解1套
- 2026年河北女子職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫及參考答案詳解
- 2026年廣州衛(wèi)生職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫附答案詳解
- 2026年安徽醫(yī)學(xué)高等專科學(xué)校單招職業(yè)傾向性測試題庫參考答案詳解
- 2026年呼和浩特職業(yè)學(xué)院單招職業(yè)傾向性考試題庫帶答案詳解
- 稅務(wù)科長面試題目及答案
- 乙肝疫苗接種情況
- 2025年公開招聘專業(yè)人才備考題庫及參考答案詳解1套
- 中國科協(xié)所屬單位2026年度面向社會公開招聘工作人員備考題庫參考答案詳解
- 2025年南京大學(xué)招聘南京赫爾辛基大氣與地球系統(tǒng)科學(xué)學(xué)院助理備考題庫及1套參考答案詳解
- 項(xiàng)目4任務(wù)1-斷路器開關(guān)特性試驗(yàn)
- 編輯打印新課標(biāo)高考英語詞匯表3500詞
- (高清版)DZT 0215-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 煤
- 高層建筑消防安全培訓(xùn)課件
- 無染覺性直觀自行解脫之道
- 國家開放大學(xué)《土木工程力學(xué)(本)》形考作業(yè)1-5參考答案
- 實(shí)驗(yàn)診斷學(xué)病例分析【范本模板】
- 西安交大少年班真題
- JJF(石化)006-2018漆膜彈性測定器校準(zhǔn)規(guī)范
- GB/T 5563-2013橡膠和塑料軟管及軟管組合件靜液壓試驗(yàn)方法
- GB/T 24218.1-2009紡織品非織造布試驗(yàn)方法第1部分:單位面積質(zhì)量的測定
評論
0/150
提交評論