版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 jtest 常見問題問答如何配置jtest才能提高覆蓋率? 一方面您可以通過改變工具的測(cè)試配置來讓工具增加生成的測(cè)試用例,從而提高覆蓋率。操作如下: 選中菜單欄的jtesttest configurations,在打開的test configruations對(duì)話框的左邊選中builtinunit testinggenerate unit tests,點(diǎn)擊鼠標(biāo)右鍵選duplicate,將這條規(guī)則復(fù)制到userdefined中然后選中g(shù)enerate unit tests,點(diǎn)右邊面板中的generationfilter。在這個(gè)里邊就是一些對(duì)生成測(cè)試用例的過濾條件,您可以在里邊做一些設(shè)置。比如取消
2、only generate test cases which will increase branch coverage 前面的復(fù)選框。這是就會(huì)讓工具產(chǎn)生更多的測(cè)試用例。達(dá)到提高測(cè)試覆蓋率的目的。 另一個(gè)方面,我們可以通過手動(dòng)改變或增加測(cè)試用例的返回值或類型來提高測(cè)試覆蓋率。您可能也知道,如果只是光光增加測(cè)試用例是無法使我們的測(cè)試覆蓋率達(dá)到100的。這時(shí)我們可以先分析造成源代碼覆蓋率低的原因是什么,然后做相應(yīng)的修改。例如,有一些if或case分支沒有被走到的原因是因?yàn)檩斎雲(yún)?shù)值是固定造成的,那么我們可以查看相關(guān)的測(cè)試用例通過簡(jiǎn)單的改變參數(shù)的值或類型來提高測(cè)試覆蓋率。 jtest是否支持命令行方
3、式?如果可以,該如何操作?jtest執(zhí)行時(shí)是可以用命令行的方式來操作的,我這里給您舉一個(gè)簡(jiǎn)單例子: 打開命令窗口,進(jìn)入到j(luò)test的安裝目錄下,如:c:program filesparasoftjtest8.4 然后輸入 jtestcli data “c:documents and settingsharryapplication dataparasoftjtestworkspace” resource “jtest example” config user:/”example configuration” report c:reportsreport1 -data指定工程workspace的
4、路徑; -resource指定需要做測(cè)試的工程名; -config指定測(cè)試配置; -report指定輸出信息的文件路徑; 如果對(duì)這塊我的說明您不是很清楚,或是想了解更多的相關(guān)信息的話,您可以在我們的幫助文檔里得到想要的:helphelp contents然后您可以在search框中輸入command line來搜索。jtest在運(yùn)行完新添加的junit測(cè)試用例后,是否會(huì)累加到覆蓋率中?首先,我們的工具做覆蓋率分析的時(shí)候是可以包含用戶自己寫的測(cè)試用例的。但就是否要做參數(shù)修改有分以下兩種情況: 如果您是在我們生成的測(cè)試用例class文件中做添加方法的動(dòng)作的時(shí)候,是不需要任何參數(shù)修改就可以包含的。
5、如果您是想添加新的文件的時(shí)候,是需要做參數(shù)設(shè)置的,比如您想在jtest example.jtest-examples.eval-下再新加一個(gè)名為simpletest1.java的測(cè)試用例,操作步驟如下: 點(diǎn)菜單欄中的jtesttest configurations.選擇左邊bulitinrun unit tests,點(diǎn)擊右鍵選duplicate,將它復(fù)制到userdefined,選中它。點(diǎn)擊右側(cè)的execution,選中enable unit test execution這個(gè)復(fù)選框。選searchtest classes that match one of thses patterns rel
6、ative to the classes in scope:點(diǎn)擊new按鈕,在彈出的edit pattern for unit test classes對(duì)話框中正確輸入剛才我們新加的測(cè)試用例的路徑,比如:project name: $project_name.jtest source folder: $source_folder package name: $package_name class name: $class_nametest1 設(shè)置好后點(diǎn)擊ok。這時(shí)跑測(cè)試用例時(shí)我們要選jtesttest usinguser-definedrun unit tests。完成以上操作后就可以做到您想
7、要的結(jié)果了。有沒有關(guān)于jtest的詳細(xì)使用說明書?關(guān)于使用手冊(cè),在我們工具的菜單欄的右上方helphelp contents里就是詳細(xì)的說明書,您可以按順序查看學(xué)習(xí)也可以搜速關(guān)鍵字來查閱想要的知識(shí)?;蛘吣部梢缘絡(luò)test安裝目錄下(默認(rèn):c:program filesparasoftjtest x.xmanuals)瀏覽jtest users guide (jtest8_users_guide.pdf)。什么是容器測(cè)試?我們要怎么做容器測(cè)試?首先jtest要做容器測(cè)試,必須要保證待測(cè)的工程是一個(gè)web project的工程,而且是要可以成功發(fā)布到容器中的工程。普通的java project是
8、不可以跑容器測(cè)試的。 你可以按照以下方法導(dǎo)入事例工作練習(xí)研究:在package explorer右擊-new-project-在jtest文件夾下選擇jpetstore example project-next-選擇framework, finish。導(dǎo)入后,具體操作步驟請(qǐng)參考help文檔中g(shù)enerating and executing cactus tests for in-container testing。in-container測(cè)試主要是針對(duì)容器測(cè)試的。因?yàn)樵趯?shí)際測(cè)試中對(duì)服務(wù)器端的java組件的測(cè)試是十分困難的,而in-container測(cè)試會(huì)自動(dòng)為服務(wù)器端的java組件(ejbs,
9、 servlets, struts action classes, spring classes 等等)產(chǎn)生基于cactus框架的測(cè)試用例,然后會(huì)自動(dòng)的在應(yīng)用容器中去模擬代碼的真實(shí)運(yùn)行環(huán)境去執(zhí)行生成的測(cè)試用例。這樣就可以在程序開發(fā)階段就暴露出代碼的問題。那什么是cactus呢,cactus其實(shí)是junit的一個(gè)擴(kuò)展,但是它又和junit有些不同。cactus的測(cè)試分為三種不同的測(cè)試類別,jsptestcase,servlettestcase,filtertestcase,而不像junit就一種testcase,cactus的測(cè)試代碼有服務(wù)器端的和客戶端的兩個(gè)部分,它們協(xié)調(diào)工作。更多的信息你可以
10、去網(wǎng)上搜尋學(xué)習(xí)。test case parameterization主要功能是什么,該如何操作?通過jtest的test case parameterization可以自動(dòng)產(chǎn)生也可以客戶自定義各種復(fù)雜的輸入值來提高測(cè)試覆蓋率。通過使用test case parameterization,我們可以很方便的控制輸入值的范圍,類型還有輸入順序,從而產(chǎn)生復(fù)雜的test case scenarios來保證測(cè)試覆蓋率。 具體的操作步驟你可以參照help文檔中l(wèi)esson 18: creating and using parameterized test cases。里面有非常詳細(xì)的說明。近期在試用jtes
11、t,請(qǐng)問jtest tracer 能否在jboss中運(yùn)行;調(diào)試參數(shù)是什么?jtest的tracer是可以在jboss中運(yùn)行的。 步驟: 找到啟動(dòng)文件 jboss安裝目錄/bin/run.bat(windows平臺(tái)) 或者 run.sh(unix平臺(tái)) 在原始文件中修改 java_opts 參數(shù) 例如: set java_opts=%java_opts% -xms128m -xmx512m -xdebug -xrunpmt:monitor=soatest.showcase.ejb.book-store.*,file=c:tracerresult.out您只要在monitor=中加入您要監(jiān)視的包或
12、文件名。在file=中加入*.out文件的存放路徑,保存。然后啟動(dòng)jboss后您就可以按正常操作網(wǎng)站,之后jtest就會(huì)記入下您的操作并在file指定的路徑下生成out文件。更多信息您可以在help文檔中查看“tips on configuring specific web servers for jtest tracer”??煞裢ㄟ^excel文件來準(zhǔn)備測(cè)試數(shù)據(jù)并比較函數(shù)的測(cè)試結(jié)果?jtest是可以提供通過excel文件等其他形式來準(zhǔn)備測(cè)試數(shù)據(jù)并比較函數(shù)的測(cè)試結(jié)果。如果您的函數(shù)的輸入和輸出都是對(duì)象或arraylist等,您可以在test case repository雙擊新建的test cas
13、e然后在上面的圖形化界面中您可以選擇memberwise這個(gè)選項(xiàng)。如下圖: 這時(shí)您就可以指定對(duì)象中的不同屬性,當(dāng)然對(duì)象中屬性的具體值還是要像先前一樣您需要手動(dòng)的寫好,這樣jtest才能自動(dòng)的幫您關(guān)聯(lián)。更多信息請(qǐng)查看help文檔中 “using data sources in tests”在jtest 測(cè)試報(bào)告中有時(shí)會(huì)出現(xiàn)low coverage是什么意思?jtest在單元測(cè)試測(cè)試覆蓋率低于某個(gè)數(shù)值是會(huì)報(bào)“l(fā)ow coverage”,就像下面: 這說明在測(cè)試的時(shí)候覆蓋率不能滿足使用者的需求,提醒使用者注意。而這個(gè)數(shù)值客戶可用在如下面板中完成自己的客制化數(shù)值。怎樣可以提高生成的測(cè)試方法的數(shù)量嗎?
14、您可以點(diǎn)擊jtest工具欄中的jtesttest confirguration在buitin中選中“generate and run unit tests”點(diǎn)擊右鍵,點(diǎn)duplicate。 然后您在上面userdefined中選中“generate and run unit tests”然后選擇右邊的generation選項(xiàng)卡,選擇下面filter選項(xiàng)卡,然后去掉選中“only gneerate test cases which will increase branch coverage”的勾,保持。 在測(cè)試的時(shí)候您要選擇下拉菜單中的test usinguser-definedgenerate
15、 and run unit test. 這樣就會(huì)增加生成的測(cè)試用例說了。 當(dāng)然另外一方面,生成的測(cè)試用例數(shù)和您被測(cè)方法有一定關(guān)系,如果您被測(cè)方法比較復(fù)雜,比如有多個(gè)分支,多種情況等,那相應(yīng)的生成的測(cè)試用例數(shù)就多。 在生成jpetstore項(xiàng)目過程中,如果不指定sql sever那錯(cuò)誤信息就不能存儲(chǔ)嗎?啟動(dòng)sql server是因?yàn)閖petstore這個(gè)項(xiàng)目在數(shù)據(jù)庫中保存了一些寵物的信息而不是用戶理解的存儲(chǔ)錯(cuò)誤信息的。所以要啟動(dòng)jpetstore項(xiàng)目就要同時(shí)運(yùn)行sql server。而這個(gè)sql server是在新建項(xiàng)目時(shí)自動(dòng)加載的hsql數(shù)據(jù)庫。 啟動(dòng)方法: if you have close
16、d and restarted jtest since creating the jpetstore project, start the sql server for jpetstore as follows: 1. right-click the jpetstore package explorer node, then choose run as run. 2. in the run dialog that opens, select java application start sql server. 3. click the run button 我使用 jtest 進(jìn)行靜態(tài)分析的時(shí)
17、候,彈出以下窗口,請(qǐng)問可能是什么原因?這種錯(cuò)誤信息,通常是這些java文件應(yīng)該是編譯就有問題沒有通過,比如說有可能某些包沒有引入正確等等。你可以看一下這些文件是否有編譯錯(cuò)誤。當(dāng)項(xiàng)目并沒有存放在jtest workspace下時(shí),正確的命令行操作該如何寫?重新在本地按照您的步驟在操作了一遍,運(yùn)行是可以的。步驟如下: 重新新建了一個(gè)workspace,這樣可以保證空間是干凈的。 建好了以后jtest會(huì)從新啟動(dòng),然后您就可以看見干凈的jtest。然后您點(diǎn)擊工具欄的jtesttest configurations您就能看到一個(gè)干凈配置面板然后您選中run static analysisduplicat
18、e. 然后您可以修改名字如test。 導(dǎo)入項(xiàng)目 右鍵import項(xiàng)目您可以看到。我jtest的workspace在d:workspace1而項(xiàng)目的路徑在d盤根目錄您也可以看到d盤workspace下是沒有項(xiàng)目的。 命令行操作 運(yùn)行成功 jtestcli.exe -data d:workspace1 -resource jtest exampleexamplesevalsimple.java -config user:/test -report c:reportsreport1 您要注意的一點(diǎn),-data后面是jtest的workspase。而不是項(xiàng)目的地址。用jpetstore例子做容器測(cè)試時(shí)
19、,無測(cè)試用例生成,無法測(cè)試。什么原因?客戶測(cè)試環(huán)境描述: eclipse 3.4 + jtest 8.4的插件版本,windows xp sp2系統(tǒng)。 問題定位應(yīng)該是您的eclipse的安裝程序中沒有包含wst這個(gè)模塊,所以造成生成的測(cè)試用例不能在容器中運(yùn)行,所以還要煩請(qǐng)您到下面的鏈接下載wst模塊安裝到您的eclipse中再試試看。 /webtools/downloads/drops/r1.5/r-1.5.0-200606281455/如何自定義測(cè)試配置?用戶除了可以使用jtest內(nèi)建的常用測(cè)試配置以外,也可以符合自己需要的測(cè)試配置。 打開菜
20、單jtest - test configurations彈出如下窗口: 選擇需要作為模板的測(cè)試配置,以靜態(tài)分析為例,請(qǐng)選擇“run static analysis”測(cè)試配置。點(diǎn)擊右鍵選擇“duplicate”復(fù)制一份,則會(huì)在用戶自定義分類“user-defined”中找到同名的測(cè)試配置,然后根據(jù)需要修改該測(cè)試配置來滿足項(xiàng)目的要求。 如何獲得jtest的測(cè)試報(bào)告? 在測(cè)試完成之后,可以通過測(cè)試進(jìn)度面板上的report生成測(cè)試報(bào)告。 也可以在測(cè)試結(jié)果視圖中生成最近一次測(cè)試的報(bào)告。 配置測(cè)試報(bào)告的生成路徑: 默認(rèn)生成的測(cè)試報(bào)告是html格式的。如下所示: 如果我在英文操作系統(tǒng)中如何才能使用日文版的j
21、test?jtest在安裝的時(shí)候自動(dòng)會(huì)根據(jù)您的操作系統(tǒng)安裝相應(yīng)語言的版本,如英文的操作系統(tǒng)默認(rèn)的就是英文版的jtest,日文操作系統(tǒng)相應(yīng)的就是日文版的jtest,如果您想在英文操作系統(tǒng)中使用日文版的jtest。操作如下: 選擇jtest圖標(biāo),右鍵屬性,在下面 c:program filesparasoftjtest8.3jtest.exe 后面加 -nl ja 變成: c:program filesparasoftjtest8.3jtest.exe -nl ja 然后重啟 tomcat中做tracer的操作步驟是什么樣的?配置tomcat服務(wù)器腳本。做tracer。 選中工程,點(diǎn)擊右鍵,選擇r
22、un asrun 在彈出的run面板中做如下修改。 選擇工程的服務(wù)器,選擇右邊面板的arguments,在vm arguments中的加入-xdebug -xrunpmt:monitor=org.springframework.samples.jpetstore.*,file=c:tracertracer and in-container.out。 然后apply保存。* 注意:(jdk不同版本的不同配置) 例如: -xdebug -xrunpmt:monitor=mypackage.*,file=c:monitor.out (java 5 and earlier) 變成 -agentlib:
23、pmt=monitor=mypackage.*,file=c:monitor.out (java 6) 其中參數(shù)monitor是選擇要監(jiān)控的包名,參數(shù)file是選擇*.out文件的存放路徑 * 之后在啟動(dòng)服務(wù)器,打開ie瀏覽器后,jtest就會(huì)自動(dòng)記錄下在頁面上的操作,并生成一個(gè)詳盡的.out文件。 然后在test configuration中duplicate一個(gè)“generate and run from monitorin”配置選項(xiàng),在后邊的generation的inputs選項(xiàng)卡中選擇“reading from a pre-recorded file:”然后選擇之前產(chǎn)生的.out文件。
24、 選中要測(cè)試的工程,然后選擇test usinguser-defined下剛才保存的“generate and run from monitorin”這個(gè)測(cè)試配置。 注:另外有可能要在環(huán)境變量path中加 c:program filesparasoftjtest8.3pluginscom.parasoft.eclipse.api.win32_8.3.57jtestbin 因?yàn)樽鰐racer的時(shí)候需要用到這個(gè)文件夾下的pmt.dll如何查看 jtest詳細(xì)版本信息?請(qǐng)?zhí)峁┛蛻舻膉test詳細(xì)版本信息,helpabout parasoft jtest,點(diǎn)擊parasoft圖標(biāo),即可查看詳細(xì)版本號(hào),
25、如下圖: 為什么很多工程運(yùn)行完后,只有行覆蓋率呢?jtest中提供兩種常用的覆蓋率信息。line coverage 和 decision coverage 如果執(zhí)行默認(rèn)的run unit tests,只會(huì)生成line coverage行覆蓋率。這樣的設(shè)置可以使得單元測(cè)試的執(zhí)行速度更快。如果希望得到其他覆蓋率,請(qǐng)做如下設(shè)置:jtest-test configurations,彈出窗口中選擇builtin - run unit tests, 右鍵點(diǎn)擊該配置,選擇duplicate拷貝該配置到user-defined,如圖:選中該配置,點(diǎn)擊右邊execution面板,并選擇filter標(biāo)簽。勾選report decision (branch) coverage 選項(xiàng)。,然后點(diǎn)擊apply - close,重新選擇該配置執(zhí)行單元測(cè)試,如圖:按照jtest tutorial的lesson 17做tracer練習(xí)時(shí),不能正常運(yùn)行錯(cuò)誤如下:按下圖所示啟動(dòng)tomcat。再重新操作。eclipse報(bào)告out of memory 錯(cuò)誤,如何解決?有時(shí)候運(yùn)行jtest的時(shí)候會(huì)產(chǎn)生
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025重慶建筑安全員考試題庫附答案
- 《抑郁癥患者的護(hù)理》課件
- 《營(yíng)銷渠道策劃》課件
- 【物理課件】電磁鐵的應(yīng)用課件
- 單位管理制度展示選集【人員管理篇】十篇
- 單位管理制度展示合集【職員管理篇】
- 單位管理制度展示選集人力資源管理十篇
- 中國針織圍巾等項(xiàng)目投資可行性研究報(bào)告
- 單位管理制度收錄大全【人員管理】十篇
- 單位管理制度收錄大合集【職工管理】十篇
- 外研版英語九年級(jí)上冊(cè) Module1-12作文范文
- 南京市七年級(jí)上冊(cè)地理期末試卷(含答案)
- 足球課程教學(xué)計(jì)劃工作總結(jié)
- 家具成品檢驗(yàn)通用標(biāo)準(zhǔn)
- 粉末涂料有限公司成品裝車作業(yè)安全風(fēng)險(xiǎn)分級(jí)管控清單
- 諾基亞4G基站配置及常見故障處理課件
- 運(yùn)輸類工作簡(jiǎn)歷
- 煤礦施工巷道布置及支護(hù)設(shè)計(jì)方案
- 施工升降機(jī)卸料平臺(tái)計(jì)算書
- 微信小程序開發(fā)完整全套教學(xué)課件
- GB/T 17799.2-2023電磁兼容通用標(biāo)準(zhǔn)第2部分:工業(yè)環(huán)境中的抗擾度標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論