




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 V 2.0軟件測(cè)試實(shí)驗(yàn)指導(dǎo)書(試用稿)編寫:李 瑋校核:_湖南大學(xué)軟件學(xué)院2011年2月目 錄五、課堂實(shí)驗(yàn)項(xiàng)目課堂實(shí)驗(yàn)項(xiàng)目實(shí)驗(yàn)一 黑盒測(cè)試用例設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)二 性能測(cè)試:loadrunner工具使用實(shí)驗(yàn)三 運(yùn)用Junit工具進(jìn)行面向?qū)ο笙到y(tǒng)的測(cè)試實(shí)驗(yàn)四、EclEmma覆蓋測(cè)試工具應(yīng)用實(shí)驗(yàn)實(shí)驗(yàn)一、黑盒測(cè)試用例設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康闹饕橇私夂诤袦y(cè)試測(cè)試用例設(shè)計(jì)方法二、實(shí)驗(yàn)要求要求能正確理解系統(tǒng)設(shè)計(jì)和功能、代碼,設(shè)計(jì)黑盒測(cè)試用例三、實(shí)驗(yàn)原理及內(nèi)容一)系統(tǒng)物理結(jié)構(gòu)圖在上述系統(tǒng)中,各個(gè)子站負(fù)責(zé)所屬區(qū)域電表的數(shù)據(jù)采集,然后定期發(fā)送給主站,同時(shí)子站也可以向主站請(qǐng)求別的子站系統(tǒng)采集回的數(shù)據(jù)。該數(shù)據(jù)交換程序的目
2、的是實(shí)現(xiàn)主站與子站之間數(shù)據(jù)交換。二)系統(tǒng)功能設(shè)計(jì) 通訊方式采用TCP/IP方式。數(shù)據(jù)通訊通道以ATM(WAN)網(wǎng)絡(luò)方式為主通道,以電話撥號(hào)PPP方式作為備份通訊方式。1、數(shù)據(jù)通訊過(guò)程數(shù)據(jù)請(qǐng)求和服務(wù)為雙向方式。主站心提供本地的數(shù)據(jù)服務(wù),向下屬單位子站提供數(shù)據(jù),同時(shí)可隨時(shí)向下屬單位的數(shù)據(jù)服務(wù)請(qǐng)求數(shù)據(jù),下屬單位的工作方式和主站類似,可隨時(shí)向調(diào)度中心請(qǐng)求數(shù)據(jù),同時(shí)也提供數(shù)據(jù)服務(wù),隨時(shí)接受調(diào)度中心的請(qǐng)求。如下圖:數(shù)據(jù)服務(wù)數(shù)據(jù)服務(wù)數(shù)據(jù)請(qǐng)求1數(shù)據(jù)請(qǐng)求1下屬單位1數(shù)據(jù)請(qǐng)求2下屬單位2數(shù)據(jù)服務(wù)調(diào)度中心數(shù)據(jù)請(qǐng)求2以上箭頭表示數(shù)據(jù)連接,可并發(fā)產(chǎn)生。發(fā)連接請(qǐng)求包發(fā)請(qǐng)求成功包發(fā)數(shù)據(jù)請(qǐng)求包1發(fā)請(qǐng)求1數(shù)據(jù)包1發(fā)數(shù)
3、據(jù)接受應(yīng)答包1發(fā)請(qǐng)求1數(shù)據(jù)包n發(fā)數(shù)據(jù)接受應(yīng)答包n發(fā)拆除連接請(qǐng)求包發(fā)連接拆除應(yīng)答包,拆除連接發(fā)數(shù)據(jù)請(qǐng)求包2發(fā)拆除連接請(qǐng)求包拆除連接發(fā)請(qǐng)求2數(shù)據(jù)包1發(fā)請(qǐng)求2數(shù)據(jù)包n發(fā)數(shù)據(jù)接受應(yīng)答包n發(fā)數(shù)據(jù)接受應(yīng)答包1Client端Server端數(shù)據(jù)請(qǐng)求過(guò)程如下:其中,一次連接可進(jìn)行多次數(shù)據(jù)請(qǐng)求和傳送,每次請(qǐng)求只請(qǐng)求一段時(shí)間一個(gè)電量點(diǎn)的值。如果某一包發(fā)生失敗,則重試兩次。另外,設(shè)定Server監(jiān)聽(tīng)的端口號(hào)為12099。2、交換數(shù)據(jù)類型及規(guī)則定義:電能量計(jì)量計(jì)費(fèi)系統(tǒng)交換的數(shù)據(jù)有:l 指定時(shí)間間隔的電量數(shù)據(jù)(增量值)。l 指定時(shí)刻電量底碼值(表底碼值)。數(shù)據(jù)時(shí)標(biāo):電能量計(jì)量計(jì)費(fèi)系統(tǒng)數(shù)據(jù)交換定義采用“后時(shí)標(biāo)”(時(shí)標(biāo)01點(diǎn)
4、表示上一時(shí)間間隔至01時(shí)的數(shù)據(jù))。數(shù)據(jù)時(shí)間間隔:數(shù)據(jù)交換的時(shí)間間隔由規(guī)約指定的時(shí)間間隔標(biāo)志位決定,時(shí)間間隔由本系統(tǒng)數(shù)據(jù)庫(kù)的時(shí)間間隔(也稱為電量數(shù)據(jù)采集間隔)決定。傳輸規(guī)則:對(duì)于對(duì)方召喚的數(shù)據(jù)(未采集到的數(shù)據(jù)),傳輸時(shí)使用表底碼值。在進(jìn)行電量修補(bǔ)時(shí),傳輸?shù)碾娏繑?shù)據(jù)使用增量值。3、數(shù)據(jù)報(bào)文格式:本項(xiàng)目使用的應(yīng)用協(xié)議數(shù)據(jù)單元有兩種:協(xié)議控制的APDU(Application Protocol Data Unit) , 用于雙方通信進(jìn)程之間聯(lián)系的建立,釋放,放棄或復(fù)位。APDU,用于電量數(shù)據(jù)的交換(發(fā)送,接收及應(yīng)答控制)。協(xié)議控制APDU格式:協(xié)議控制APDU整體格式 報(bào)頭 6個(gè)八位位組 參數(shù) n 個(gè)
5、八位位組 數(shù)據(jù)校驗(yàn)和 1 個(gè)八位位組報(bào)頭格式 控制字 第一個(gè)八位位組 運(yùn)行模式 第二個(gè)八位位組 狀態(tài)標(biāo)識(shí) 第三個(gè)八位位組 原因碼 第四個(gè)八位位組 參數(shù)域長(zhǎng)度(低) 第五個(gè)八位位組 參數(shù)域長(zhǎng)度(高) 第六個(gè)八位位組參數(shù)格式本類型信息未使用,長(zhǎng)度為01,即參數(shù)域長(zhǎng)度為零。擴(kuò)充的APDU整體格式 報(bào)頭 6個(gè)八位位組 參數(shù) n 個(gè)八位位組 數(shù)據(jù)校驗(yàn)和 1 個(gè)八位位組報(bào)頭格式 命令碼 第一個(gè)八位位組 數(shù)據(jù)幀序號(hào) 第二個(gè)八位位組 狀態(tài)標(biāo)識(shí) 第三個(gè)八位位組 原因碼 第四個(gè)八位位組 參數(shù)域長(zhǎng)度(低) 第五個(gè)八位位組 參數(shù)域長(zhǎng)度(高) 第六個(gè)八位位組參數(shù)格式本類型信息參數(shù)格式由各種命令格式?jīng)Q定,長(zhǎng)度為n,即參數(shù)
6、域長(zhǎng)度變化。注: 校驗(yàn)和字節(jié) = 報(bào)頭信息及參數(shù)信息全部?jī)?nèi)容按字節(jié)累加和(僅使用最低有效字節(jié)內(nèi)容);例如某信息幀內(nèi)容如下,報(bào)頭 a1 = 01h , a2 = 02h , a3 = 03h , a4 = 04h , a5 = 03h , a6 = 00h ,參數(shù) b1 = 01h , b2 = 02h ,則校驗(yàn)和 c1 = ( 01h + 02h + 03h + 04h + 03h + 00h ) + (01h + 02h ) = 0a h (十進(jìn)制 10)下面定義各種幀格式:建立鏈路:client端:報(bào)頭(6 字節(jié)) 第1字節(jié)為A_ASSOCIATE (01h) 第2字節(jié)為 mode (00
7、h) 第3字節(jié)為 status (00h) 第4字節(jié)為 result_code (00h) 第5字節(jié)為 info_LL (01h) 第6字節(jié)為 info_LH (01h) 參數(shù)(16 字節(jié))Client端系統(tǒng)名 校驗(yàn)和(1字節(jié)) crc(xx)server端: 報(bào)頭(6字節(jié)) 第1字節(jié)為 A_ASSOCIATE_ACK(02h) 連接成功 或A_ASSOCIATE_NAK(03h) 連接失敗 第2字節(jié)為 mode (00h) 第3字節(jié)為 status(00h) 第4字節(jié)為 result_code = 00h 成功 = 01h 超時(shí)失敗 = 02h crc校驗(yàn)失敗 第5字節(jié)為 info_LL(0
8、1h) 第6字節(jié)為 info_LH(01h) 參數(shù)(16字節(jié)) Server端系統(tǒng)名 校驗(yàn)和(1字節(jié)) crc(xx)鏈路斷開(kāi):server端:報(bào)頭(6 字節(jié)) 第1字節(jié)為A_RELEASE (04h) 第2字節(jié)為 mode (00h) 第3字節(jié)為 status (00h) 第4字節(jié)為 result_code (00h) 第5字節(jié)為 info_LL (01h) 第6字節(jié)為 info_LH (00h) 參數(shù)(0 字節(jié)) 校驗(yàn)和(1字節(jié)) crc(xx)client端: 報(bào)頭(6字節(jié)) 第1字節(jié)為 A_RELEASE_ACK(05h) 斷開(kāi)成功 或A_RELEASE_NAK(06h) 斷開(kāi)失敗 第
9、2字節(jié)為 mode (00h) 第3字節(jié)為 status(00h) 第4字節(jié)為 result_code = 00h 成功 = 01h 超時(shí)失敗 = 02h crc校驗(yàn)失敗 第5字節(jié)為 info_LL(01h) 第6字節(jié)為 info_LH(00h) 參數(shù)(0 字節(jié)) 校驗(yàn)和(1字節(jié)) crc(xx)數(shù)據(jù)請(qǐng)求(Client端):報(bào)頭(6 字節(jié)) 第1字節(jié)為A_POLL (14h) 第2字節(jié)為 frame_no (00 - 255) 第3字節(jié)為 status = 00h 第一次請(qǐng)求召喚= 80h 再次請(qǐng)求召喚 第4字節(jié)為 result_code (00h) 第5字節(jié)為 info_LL (nn + 1
10、LL) 第6字節(jié)為 info_LH (nn + 1LH) 參數(shù)(n 字節(jié)信息正文) 電量數(shù)據(jù)信息正文定義在后面 校驗(yàn)和(1字節(jié)) crc(xx)數(shù)據(jù)發(fā)送發(fā)送端(server):報(bào)頭(6 字節(jié)) 第1字節(jié)為A_SEND (17h) 第2字節(jié)為 frame_no (00 - 255) 第3字節(jié)為 status = 00h 無(wú)后續(xù)幀 = 01h 有后續(xù)幀 = 80h 無(wú)后續(xù)幀,數(shù)據(jù)重發(fā) = 81h 有后續(xù)幀,數(shù)據(jù)重發(fā) 第4字節(jié)為 result_code (00h) 第5字節(jié)為 info_LL (nn + 1LL) 第6字節(jié)為 info_LH (nn + 1LH) 參數(shù)(n 字節(jié)信息正文)電量數(shù)據(jù)信息
11、正文定義在后面 校驗(yàn)和(1字節(jié)) crc(xx)接收端(Client): 報(bào)頭(6字節(jié)) 第1字節(jié)為 A_SEND_ACK(18h) 連接成功 或A_SEND_NAK(19h) 連接失敗 第2字節(jié)為 frame_no (00 - 255) 第3字節(jié)為 status(00h) 第4字節(jié)為 result_code = 00h 成功 = 01h 超時(shí)失敗 = 02h crc校驗(yàn)失敗 = 04h 再次發(fā)送失敗 第5字節(jié)為 info_LL(nn + 1LL) 第6字節(jié)為 info_LH(nn + 1LH) 參數(shù)(0字節(jié)信息正文,即無(wú)正文) 校驗(yàn)和(1字節(jié)) crc(xx) 電量數(shù)據(jù)信息正文定義:數(shù)據(jù)請(qǐng)求
12、端A_POOL電量數(shù)據(jù)信息正文定義電量數(shù)據(jù)類型(EA_TYPE)1字節(jié)1:底碼值 2:增量值點(diǎn)索引號(hào)2字節(jié)(查找索引表)開(kāi)始時(shí)間年字節(jié),BCD碼開(kāi)始時(shí)間月字節(jié),BCD碼開(kāi)始時(shí)間日字節(jié),BCD碼開(kāi)始時(shí)間時(shí)字節(jié),BCD碼開(kāi)始時(shí)間分字節(jié),BCD碼結(jié)束時(shí)間年字節(jié),BCD碼結(jié)束時(shí)間月字節(jié),BCD碼結(jié)束時(shí)間日字節(jié),BCD碼結(jié)束時(shí)間時(shí)字節(jié),BCD碼結(jié)束時(shí)間分字節(jié),BCD碼時(shí)間間隔1字節(jié)(分鐘)數(shù)據(jù)發(fā)送包電量數(shù)據(jù)信息正文定義電量數(shù)據(jù)類型(EA_TYPE)1 字節(jié)點(diǎn)索引號(hào)2 字節(jié)開(kāi)始時(shí)間字節(jié)(同上)結(jié)束時(shí)間字節(jié)(同上)時(shí)間間隔(分鐘)1 字節(jié)電量值個(gè)數(shù)m2 字節(jié)每個(gè)數(shù)據(jù)包最多發(fā)送288個(gè)數(shù)據(jù)。值1的時(shí)間偏移 (
13、產(chǎn)生新時(shí)標(biāo))2字節(jié)=(時(shí)標(biāo)開(kāi)始時(shí)間)/(60 *時(shí)間間隔)值14字節(jié)對(duì)于增量值,將其*1000取整。 值n的時(shí)間偏移 = (值n時(shí)標(biāo) 開(kāi)始時(shí)間)/ (60 * 時(shí)間間隔)2字節(jié)值n4 字節(jié)4、界面設(shè)計(jì)由于該系統(tǒng)主要是后臺(tái)數(shù)據(jù)交換,因此界面比較少,主要是數(shù)據(jù)參數(shù)設(shè)置界面、發(fā)送數(shù)據(jù)界面、請(qǐng)求數(shù)據(jù)界面,分別如下:參數(shù)設(shè)置界面:在該界面中,對(duì)方IP表示對(duì)方主機(jī)IP;時(shí)間間隔表示請(qǐng)求數(shù)據(jù)的密度;起始時(shí)間和結(jié)束表示手動(dòng)請(qǐng)求對(duì)方數(shù)據(jù)時(shí)間范圍。自動(dòng)請(qǐng)求數(shù)據(jù)時(shí)間表示每天在該時(shí)刻向?qū)Ψ秸?qǐng)求數(shù)據(jù)。發(fā)送數(shù)據(jù)界面:在該界面中啟動(dòng)“自動(dòng)發(fā)送”按鈕后,該系統(tǒng)能自動(dòng)監(jiān)聽(tīng)對(duì)方請(qǐng)求數(shù)據(jù)命令。請(qǐng)求數(shù)據(jù)界面:在該界面中“自動(dòng)”按鈕表
14、示該系統(tǒng)每天在設(shè)定時(shí)刻向?qū)ο笳?qǐng)求前一天的數(shù)據(jù),“手動(dòng)”表示該系統(tǒng)在指定時(shí)刻向?qū)ο笳?qǐng)求參數(shù)界面中設(shè)定時(shí)間范圍的數(shù)據(jù)。四、實(shí)驗(yàn)軟硬件環(huán)境硬件環(huán)境:CPU 1G; 內(nèi)存1G ;硬盤 30G軟件環(huán)境:windows操作系統(tǒng)。五、實(shí)驗(yàn)步驟和方法1.拷貝程序和數(shù)據(jù)庫(kù)文件。首先將CAST_client_server0722分別拷貝到自己的機(jī)器上,A還將wd1.dmp拷貝到d:盤上;B還將wd2.dmp拷貝到d:盤上;2、建立數(shù)據(jù)庫(kù)用戶名,并將數(shù)據(jù)庫(kù)文件導(dǎo)入到各自數(shù)據(jù)庫(kù)中。在oracle中建立用戶wd1,密碼wd1。并授予dba權(quán)限。將數(shù)據(jù)庫(kù)文件wd1.dmp導(dǎo)入數(shù)據(jù)庫(kù)。操作命令如下:(1)、進(jìn)入cmd窗口下
15、;(2)、imp wd1/wd1 file=d:wd1.dmp full=y在oracle中建立用戶wd2,密碼wd2。并授予dba權(quán)限。將數(shù)據(jù)庫(kù)文件wd2.dmp導(dǎo)入數(shù)據(jù)庫(kù)。操作命令如下:(1)、進(jìn)入cmd窗口下;(2)、imp wd2/wd2 file=d:wd2.dmp full=y3、修改程序連接數(shù)據(jù)庫(kù)文件ConnDBini.txt進(jìn)入CAST_client_server0722文件夾/工作數(shù)據(jù)庫(kù)連接串WDIP=WDSID=* (改成數(shù)據(jù)庫(kù)服務(wù)名)WDUSER=wd1WDPASSWORD=wd1修改程序連接數(shù)據(jù)庫(kù)文件ConnDBini.txt/工作數(shù)據(jù)庫(kù)連接串WDIP
16、=WDSID=* (改成數(shù)據(jù)庫(kù)服務(wù)名)WDUSER=wd2WDPASSWORD=wd24、各自打開(kāi)項(xiàng)目文件,運(yùn)行程序。5、將現(xiàn)有代碼在eclipse中建立項(xiàng)目,然后在項(xiàng)目屬性Libraries中添加external jar:* 實(shí)驗(yàn)一數(shù)據(jù)傳輸實(shí)驗(yàn)課程內(nèi)容安裝程序CAST_client_server.jar要求:1、對(duì)參數(shù)設(shè)置界面設(shè)計(jì)測(cè)試用例,并找出導(dǎo)致缺陷的代碼。六、實(shí)驗(yàn)預(yù)習(xí)要求無(wú)。七、評(píng)分標(biāo)準(zhǔn)測(cè)試用例50分,找出代碼缺陷50分。7實(shí)驗(yàn)二、性能測(cè)試:loadrunner工具使用一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)該實(shí)驗(yàn)讓學(xué)生掌握根性能測(cè)試方法,并執(zhí)行測(cè)試,記錄執(zhí)行結(jié)果,形成測(cè)試總結(jié)報(bào)告。二、實(shí)驗(yàn)
17、要求熟練掌握性能測(cè)試工具Loadrunner的使用方法。三、實(shí)驗(yàn)原理及內(nèi)容性能測(cè)試是指在一定約束條件下測(cè)試系統(tǒng)所能承受的并發(fā)用戶量、運(yùn)行時(shí)間及數(shù)據(jù)量,以確定系統(tǒng)所能承受的最大負(fù)載壓力,保證產(chǎn)品發(fā)布后系統(tǒng)的性能能夠滿足用戶需求。性能測(cè)試的目的可以概括以下幾個(gè)方面:n 在真實(shí)環(huán)境下檢測(cè)系統(tǒng)性能,評(píng)估系統(tǒng)性能以及服務(wù)等級(jí)的滿足情況;n 分析系統(tǒng)瓶頸、優(yōu)化系統(tǒng)。系統(tǒng)的并發(fā)性能是負(fù)載壓力性能的最主要的組成部分,對(duì)于一個(gè)系統(tǒng)來(lái)講,某些業(yè)務(wù)操作存在很多特定用戶同時(shí)操作的可能性,或某一用戶有大量數(shù)據(jù)需要系統(tǒng)處理的可能性。例如,配變監(jiān)測(cè)與用電管理系統(tǒng)中同時(shí)采集上萬(wàn)臺(tái)終端數(shù)據(jù),網(wǎng)上購(gòu)物系統(tǒng)的訂單提交,訂票系統(tǒng)的票
18、源查詢,人力資源月末及年末報(bào)表上傳,電信月末用戶話費(fèi)結(jié)算等,客戶端大量的并發(fā)操作提高了網(wǎng)絡(luò)的吞吐量,加劇了服務(wù)器資源互斥訪問(wèn)沖突,加大了數(shù)據(jù)庫(kù)死鎖的可能。這樣的負(fù)載壓力輕則導(dǎo)致系統(tǒng)性能低下,重則對(duì)系統(tǒng)造成破壞,給用戶帶來(lái)經(jīng)濟(jì)損失。因此并發(fā)性能的測(cè)試對(duì)于保證的系統(tǒng)的性能是非常關(guān)鍵的。系統(tǒng)的性能包括兩方面:一方面是系統(tǒng)完成用戶業(yè)務(wù)功能的響應(yīng)時(shí)間,另一方面是系統(tǒng)實(shí)現(xiàn)用戶業(yè)務(wù)功能時(shí)的資源利用率分析。這里的資源指的是系統(tǒng)服務(wù)器和網(wǎng)絡(luò)。在執(zhí)行與性能有關(guān)的測(cè)試時(shí),通常要對(duì)所有的服務(wù)器、客戶機(jī)和網(wǎng)絡(luò)進(jìn)行連續(xù)測(cè)試。收集這些測(cè)試數(shù)據(jù)對(duì)獲得正確的結(jié)果并分析縮放性至關(guān)重要。(1) 客戶機(jī)系統(tǒng)用戶模擬多個(gè)用戶訪問(wèn)網(wǎng)站,
19、通常通過(guò)負(fù)載測(cè)試工具進(jìn)行測(cè)試,可以使用測(cè)試參數(shù)(如用戶數(shù)量)進(jìn)行配置,從而得到響應(yīng)時(shí)間的測(cè)試結(jié)果(最少/最多/平均)。負(fù)載測(cè)試工具可以模擬處于不同層的用戶,從而有效跟蹤和報(bào)告響應(yīng)時(shí)間。此外,為了確??蛻魴C(jī)沒(méi)有過(guò)載,而且服務(wù)器上有足夠的負(fù)載,應(yīng)當(dāng)監(jiān)視客戶機(jī)CPU的使用情況。(2) 服務(wù)器對(duì)服務(wù)器性能測(cè)試數(shù)據(jù)收集的重點(diǎn)在這幾個(gè)方面:CPU,占全部處理器時(shí)間的百分比;內(nèi)存,用字節(jié)數(shù)和每秒出現(xiàn)的頁(yè)面錯(cuò)誤率表示;硬盤的I/O。(3) Web服務(wù)器除了上述項(xiàng)目外,Web服務(wù)器還包括最大的同時(shí)連接數(shù)目。(4) 數(shù)據(jù)庫(kù)服務(wù)器所有數(shù)據(jù)庫(kù)服務(wù)器都應(yīng)當(dāng)包含交易/秒和緩存命中率等數(shù)據(jù)。(5) 網(wǎng)絡(luò)監(jiān)視每個(gè)服務(wù)器之間的
20、帶寬數(shù)據(jù)。在實(shí)際性能測(cè)試過(guò)程中,并發(fā)負(fù)載壓力的實(shí)施在客戶端,負(fù)載壓力的傳輸介質(zhì)是網(wǎng)絡(luò),最終壓力會(huì)到達(dá)后臺(tái)各類服務(wù)器,包括數(shù)據(jù)庫(kù)服務(wù)器、Web服務(wù)器、中間件服務(wù)器等。所以在并發(fā)性能測(cè)試過(guò)程中,測(cè)試點(diǎn)包括客戶端的性能,應(yīng)用在網(wǎng)絡(luò)上的性能以及應(yīng)用在服務(wù)器上的性能。我們進(jìn)行性能測(cè)試的目的不僅要了解系統(tǒng)性能指標(biāo),而且要定位問(wèn)題,找出系統(tǒng)瓶頸,因此我們要對(duì)系統(tǒng)中影響性能的各個(gè)部分進(jìn)行監(jiān)測(cè)。 LoadRunner是一種預(yù)測(cè)系統(tǒng)行為和性能的工業(yè)標(biāo)準(zhǔn)級(jí)負(fù)載測(cè)試工具。通過(guò)以模擬上千萬(wàn)用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來(lái)確認(rèn)和查找問(wèn)題,LoadRunner 能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。通過(guò)使用LoadRunner
21、,企業(yè)能最大限度地縮短測(cè)試時(shí)間、優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。目前企業(yè)的網(wǎng)絡(luò)應(yīng)用環(huán)境都必須支持大量用戶,網(wǎng)絡(luò)體系架構(gòu)中含各類應(yīng)用環(huán)境且由不同供應(yīng)商提供軟件和硬件產(chǎn)品。難以預(yù)知的用戶負(fù)載和愈來(lái)愈復(fù)雜的應(yīng)用環(huán)境使公司時(shí)時(shí)擔(dān)心會(huì)發(fā)生用戶響應(yīng)速度過(guò)慢,系統(tǒng)崩潰等問(wèn)題。這些都不可避免地導(dǎo)致公司收益的損失。LoadRunner 是一種適用于各種體系架構(gòu)的自動(dòng)負(fù)載測(cè)試工具,它能預(yù)測(cè)系統(tǒng)行為并優(yōu)化系統(tǒng)性能。LoadRunner 的測(cè)試對(duì)象是整個(gè)企業(yè)的系統(tǒng),它通過(guò)模擬實(shí)際用戶的操作行為和實(shí)行實(shí)時(shí)性能監(jiān)測(cè),來(lái)幫助更快地查找和發(fā)現(xiàn)問(wèn)題。此外,LoadRunner 能支持廣泛的協(xié)議和技術(shù),為測(cè)試的特殊環(huán)境提供特殊
22、的解決方案。該測(cè)試工具實(shí)際應(yīng)用情況如圖5-6所示。該性能測(cè)試工具的組成部分有如下幾個(gè): n 虛擬用戶腳本產(chǎn)生器 Vugen(Virtual User Generator);n 壓力調(diào)度和監(jiān)控系統(tǒng) Conductor;n 壓力產(chǎn)生器 Player;n 壓力結(jié)果分析工具Analysis。四、實(shí)驗(yàn)軟硬件環(huán)境硬件環(huán)境:CPU 1G; 內(nèi)存1G ;硬盤 30G軟件環(huán)境:windows操作系統(tǒng)五、實(shí)驗(yàn)步驟和方法1、LoadRunner性能測(cè)試解決方案2、LoadRunner特點(diǎn)l 支持多種協(xié)議和APIl 能夠?qū)Χ喾NServer和資源進(jìn)行監(jiān)控 Web servers Web application serv
23、ers Database servers System resources3、LoadRunner 工作流程4、使用VuGen開(kāi)發(fā)腳本(1)使用VuGen開(kāi)發(fā)腳本的步驟:Ø 錄制測(cè)試腳本Ø 完善測(cè)試腳本Ø 配置Run-Time Settings項(xiàng)Ø 單機(jī)運(yùn)行測(cè)試腳本Ø 創(chuàng)建運(yùn)行場(chǎng)景(2)VuGen工作原理(3)錄制測(cè)試腳本新建一個(gè)用戶腳本,選擇系統(tǒng)通訊的協(xié)議,這里我們需要測(cè)試的是Web 應(yīng)用,所以我們需要選Web(HTTP/HTML)協(xié)議,確定后,進(jìn)入主窗體。(4)設(shè)置錄制選項(xiàng)Ø Application type中選擇應(yīng)用程序類型In
24、ternet ApplicationØ URL中輸入要測(cè)試的網(wǎng)址Ø Working directory中設(shè)置工作目錄Ø Record into Action中選擇要把錄制的腳本放到哪一個(gè)部分,建議選擇 ActionØ VuGen 中的腳本分為三部分:vuser_init、vuser_end 和Action。其中vuser_init 和vuser_end 都只能存在一個(gè),不能再分割,而Action 還可以分成無(wú)數(shù)多個(gè)部分(通過(guò)點(diǎn)擊New 按鈕,新建ActionXXX)(5)錄制工具條(6)執(zhí)行一個(gè)業(yè)務(wù)流程(7)Virtual User 回放模式(7)Abo
25、ut Action Files 每一步表式一個(gè)操作 用戶的實(shí)際操作 一個(gè) LoadRunner的 “事務(wù)*” 或者是 “確認(rèn)檢查點(diǎn)*”每個(gè)圖標(biāo)代表一個(gè)步驟(8)查看腳本錄制結(jié)束后,可以通過(guò)兩種方式來(lái)查看腳本:腳本視圖及樹(shù)視圖Ø 腳本視圖腳本視圖是一種基于文本的視圖,列出了作為 API 函數(shù)的 Vuser 操作。要在腳本視圖中查看腳本,請(qǐng)單擊工具欄上的“View Script”按鈕或者選擇“View” > “View Script”。在腳本視圖中, VuGen 將在編輯器中顯示帶有彩色編碼的函數(shù)及其變量值的腳本。Ø 樹(shù)視圖樹(shù)視圖是基于圖標(biāo)的視圖,列出了作為步驟的 Vus
26、er 操作.要在樹(shù)視圖中查看腳本,請(qǐng)單擊工具欄上的“View Tree”按鈕或者選擇“View” > “View Tree”。對(duì)于錄制期間所執(zhí)行的每一步驟, VuGen 都在測(cè)試樹(shù)中生成一個(gè)圖標(biāo)和一個(gè)標(biāo)題。在樹(shù)視圖中,將看到作腳本步驟的用戶操作。大多數(shù)步驟都附帶相應(yīng)的錄制快照。(9)Think Times 模擬用戶在實(shí)際操作時(shí)使用的時(shí)間。在實(shí)際中,用戶進(jìn)行一系列操作后往往會(huì)進(jìn)行處理,例如瀏覽網(wǎng)頁(yè),而處理過(guò)程對(duì)服務(wù)器是沒(méi)有壓力的。 錄制過(guò)程中由 VuGen 插入(10)樹(shù)型圖中對(duì)錄制的步驟重命名提高錄制腳本的可讀性:l 選擇一個(gè)步驟l 右鍵單擊步驟圖標(biāo)l 在彈出菜單中選擇“屬性”菜單項(xiàng)l
27、選擇“General”屬性頁(yè)l 將缺省步驟名改為意義更明確的名稱(11)虛擬用戶“ Run-time” 設(shè)置普通設(shè)置 回放時(shí)顯示頁(yè)面 提示結(jié)果保存目錄 回放時(shí)保存關(guān)聯(lián)信息 設(shè)置頁(yè)面快照比較方式(12)“Run-Time”設(shè)置 建立一個(gè)結(jié)果日志文件 將日志記錄方式設(shè)置為標(biāo)準(zhǔn)(13)回放 Action File(14)確認(rèn)虛擬用戶正確執(zhí)行(15)查看測(cè)試結(jié)果Report TreepaneReportDetailspaneresult1login-test(16)檢查回放時(shí)訪問(wèn)的 Web 頁(yè)面是否正確(17)檢查執(zhí)行日志5、編輯腳本(1)檢查點(diǎn)在進(jìn)行壓力測(cè)試時(shí),為了檢查Web 服務(wù)器返回的網(wǎng)頁(yè)是否正
28、確,VuGen 允許我們插入Text/Imag 檢查點(diǎn),這些檢查點(diǎn)驗(yàn)證網(wǎng)頁(yè)上是否存在指定的Text 或者Imag,還可以測(cè)試在比較大的壓力測(cè)試環(huán)境中,被測(cè)的網(wǎng)站功能是否保持正確。以下是插入檢查點(diǎn)的步驟及檢查點(diǎn)在腳本中的函數(shù)表示。(2)參數(shù)化-腳本參數(shù)化概述如果用戶在錄制腳本過(guò)程中,填寫提交了一些數(shù)據(jù),比如要增加數(shù)據(jù)庫(kù)記錄。這些操作都被記錄到了腳本中。當(dāng)多個(gè)虛擬用戶運(yùn)行腳本時(shí),都會(huì)提交相同的記錄,這樣不符合實(shí)際的運(yùn)行情況,而且有可能引起沖突。為了更加真實(shí)的模擬實(shí)際環(huán)境,需要各種各樣的輸入。參數(shù)化輸入是一種不錯(cuò)的方法。用參數(shù)表示用戶的腳本有兩個(gè)優(yōu)點(diǎn):v 可以使腳本的長(zhǎng)度變短v 可以使用不同的數(shù)值來(lái)
29、測(cè)試腳本參數(shù)化包含以下兩項(xiàng)任務(wù):v 在腳本中用參數(shù)取代常量值v 設(shè)置參數(shù)的屬性以及數(shù)據(jù)源(3)集合點(diǎn)(Rendezvous)集合點(diǎn)是為了衡量在加重負(fù)載的情況下服務(wù)器的性能情況。在測(cè)試計(jì)劃中,可能會(huì)要求系統(tǒng)能夠承受1000人同時(shí)提交數(shù)據(jù),在LoadRunner 中可以通過(guò)在提交數(shù)據(jù)操作前面加入集合點(diǎn),這樣當(dāng)虛擬用戶運(yùn)行到提交數(shù)據(jù)的集合點(diǎn)時(shí),LoadRunner 就會(huì)檢查同時(shí)有多少用戶運(yùn)行到集合點(diǎn),如果不到1000 人,LoadRunner 就會(huì)命令已經(jīng)到集合點(diǎn)的用戶在此等待,當(dāng)在集合點(diǎn)等待的用戶達(dá)到1000 人時(shí),LoadRunner 命令1000 人同時(shí)去提交數(shù)據(jù),從而達(dá)到測(cè)試計(jì)劃中的需求。注
30、意:集合點(diǎn)經(jīng)常和事務(wù)結(jié)合起來(lái)使用。集合點(diǎn)只能插入到Action 部分,vuser_init和vuser_end 中不能插入集合點(diǎn)。插入集合點(diǎn)方法:l 在需要插入集合點(diǎn)的前面,選擇菜單Insert->Rendezvous。l 在彈出的Rendzvous對(duì)話框中,輸入要插入的集合點(diǎn)的名稱,點(diǎn)擊OK后,集合點(diǎn)插入完畢。集合點(diǎn)在腳本中的代碼:lr_rendezvous(“名稱”)如果在腳本中設(shè)置了集合點(diǎn),還需要在Controller 中設(shè)置集合點(diǎn)策略,從菜單中調(diào)出集合點(diǎn)策略設(shè)置窗口,根據(jù)需求設(shè)置集合點(diǎn)策略。(4)事務(wù)(Transaction)當(dāng)錄制完一個(gè)基本的用戶腳本后,在正式使用前我們還需要完
31、善測(cè)試腳本,增強(qiáng)腳本的靈活性。例如,可以在腳本中插入名為內(nèi)容檢查的步驟,以驗(yàn)證某些特定內(nèi)容是否顯示在返回頁(yè)上??梢孕薷哪_本來(lái)模擬多用戶行為,也可以用事務(wù)來(lái) 度量特定的業(yè)務(wù)流程。事務(wù)(Transaction):為了衡量服務(wù)器的性能,我們需要定義事務(wù)。比如:我們?cè)谀_本中有一個(gè)數(shù)據(jù)查詢操作,為了衡量服務(wù)器執(zhí)行查詢操作的性能,我們把這個(gè)操作定義為一個(gè)事務(wù),這樣在運(yùn)行測(cè)試腳本時(shí),LoadRunner 運(yùn)行到該事務(wù)的開(kāi)始點(diǎn)時(shí),就會(huì)開(kāi)始計(jì)時(shí),直到運(yùn)行到該事務(wù)的結(jié)束點(diǎn),計(jì)時(shí)結(jié)束。這個(gè)事務(wù)的運(yùn)行時(shí)間會(huì)在結(jié)果中顯示。 插入事務(wù)操作可以在錄制過(guò)程中進(jìn)行,也可以在錄制結(jié)束后進(jìn)行。LoadRunner 運(yùn)行在腳本中插入
32、不限數(shù)量的事務(wù)。5、使用Controller創(chuàng)建場(chǎng)景-新建場(chǎng)景窗口介紹Loadrunner的場(chǎng)景能夠描述在測(cè)試活動(dòng)中發(fā)生的各種事件。一個(gè)場(chǎng)景包括一個(gè)運(yùn)行虛擬用戶活動(dòng)的Load Generator 機(jī)器列表,一個(gè)測(cè)試腳本的列表以及大量的虛擬用戶和虛擬用戶組。(1)在新建場(chǎng)景的窗口,選擇一種場(chǎng)景類型:v Manual Scenario:完全手動(dòng)的設(shè)置場(chǎng)景v Manual Scenario with Percentage Mode:該項(xiàng)只有在“Manual Scenario”選中的情況下才能選擇。選擇該項(xiàng)后,在場(chǎng)景中我們需要定義要使用的虛擬用戶的總數(shù),Load Generator machine 機(jī)
33、器集,然后我們?yōu)槊恳粋€(gè)腳本分配要運(yùn)行的虛擬用戶的百分比。v GoalOriented Scenario: 在測(cè)試計(jì)劃中,一般都包括性能測(cè)試要達(dá)到的目標(biāo)。選擇該項(xiàng)后,LoadRunner 基于這個(gè)目標(biāo),自動(dòng)為你創(chuàng)建一個(gè)場(chǎng)景。在場(chǎng)景中,我們只要定義好我們的目標(biāo)即可。(2)使用Controller創(chuàng)建場(chǎng)景-Controller設(shè)計(jì)窗口概述Controller 窗口的“設(shè)計(jì)”選項(xiàng)卡包含兩個(gè)主要部分:場(chǎng)景計(jì)劃和場(chǎng)景組v 場(chǎng)景計(jì)劃: 在“場(chǎng)景計(jì)劃”部分中,您可以設(shè)置負(fù)載行為以精確地描繪用戶行為。您還可以確定將負(fù)載應(yīng)用于應(yīng)用程序的速率、負(fù)載測(cè)試持續(xù)時(shí)間以及如何停止負(fù)載。v 場(chǎng)景組:您可以在“場(chǎng)景組”部分中配
34、置 Vuser 組。在此部分中,您可以創(chuàng)建代表系統(tǒng)典型用戶的各種組。您可以定義這些典型用戶運(yùn)行的操作、運(yùn)行的 Vuser數(shù)以及 Vuser 運(yùn)行時(shí)所用的計(jì)算機(jī)。(3)使用Controller創(chuàng)建場(chǎng)景-Controller運(yùn)行窗口概述Controller 窗口中的“運(yùn)行”選項(xiàng)卡是用來(lái)管理和監(jiān)控測(cè)試的控制中心。“運(yùn)行”視圖包含五個(gè)主要部分:場(chǎng)景組,場(chǎng)景狀態(tài),可用圖樹(shù),圖查看區(qū)域和圖例。v 場(chǎng)景組:位于左上窗格中,可以查看場(chǎng)景組中的 Vuser 的狀態(tài)。使用該窗格右側(cè)的按鈕可以啟動(dòng)、停止和重置場(chǎng)景,查看單個(gè) Vuser 的狀態(tài),并且可以手動(dòng)添加更多的 Vuser,從而增加場(chǎng)景運(yùn)行期間應(yīng)用程序上的負(fù)載
35、。v 場(chǎng)景狀態(tài):位于右上窗格中,可以查看負(fù)載測(cè)試的概要,其中包括正在運(yùn)行的 Vuser 數(shù)以及每個(gè) Vuser 操作的狀態(tài)。v 可用圖樹(shù):位于中部左側(cè)窗格中,可以查看 LoadRunner 圖列表。要打開(kāi)圖,請(qǐng)?jiān)谠摌?shù)中選擇一個(gè)圖,然后將其拖動(dòng)到圖查看區(qū)域中。v 圖查看區(qū)域:位于中部右側(cè)窗格中,可以自定義顯示以查看一至八個(gè)圖(“View” > “View Graphs”)。v 圖例:位于底部窗格中,可以查看選定圖中的數(shù)據(jù)。(4)使用Controller創(chuàng)建場(chǎng)景-運(yùn)行Controller打開(kāi) Controller 運(yùn)行視圖。單擊“Start Scenario”按鈕 或選擇“Scenario”
36、 -> “Strart”開(kāi)始運(yùn)行測(cè)試。如果您第一次運(yùn)行該場(chǎng)景, Controller 將啟動(dòng)場(chǎng)景。結(jié)果文件自動(dòng)保存到負(fù)載生成器的臨時(shí)目錄中。如果要重復(fù)此測(cè)試,將提示您覆蓋現(xiàn)有結(jié)果文件。單擊“否”,指定新的結(jié)果目錄。對(duì)每個(gè)結(jié)果集輸入唯一且有意義的名稱,這是因?yàn)樵诜治鰣D時(shí),可能希望重疊幾個(gè)場(chǎng)景運(yùn)行的結(jié)果。(5)使用Analysis分析結(jié)果-Analysis窗口概述在 Analysis 會(huì)話過(guò)程中生成的圖和報(bào)告提供了有關(guān)系統(tǒng)性能的重要信息。使用這些圖和報(bào)告,可以輕松地標(biāo)識(shí)和確定應(yīng)用程序中的瓶頸以及提高系統(tǒng)性能所需的改進(jìn)。從Analysis中可以得到用戶終端的事務(wù)響應(yīng)時(shí)間,事務(wù)的平均響應(yīng)時(shí)間,網(wǎng)
37、絡(luò)和服務(wù)器的響應(yīng)時(shí)間等。 本實(shí)驗(yàn)要求完成測(cè)試工具自帶網(wǎng)上訂票系統(tǒng)的性能測(cè)試報(bào)告,對(duì)測(cè)試腳本要求實(shí)現(xiàn)事務(wù)、集合點(diǎn)、參數(shù)化處理。 測(cè)試報(bào)告以在線考試系統(tǒng)用戶登錄性能測(cè)試報(bào)告.doc為例 六、實(shí)驗(yàn)預(yù)習(xí)要求充分理解性能測(cè)試內(nèi)容和方法。七、評(píng)分標(biāo)準(zhǔn)測(cè)試腳本錄制50分(包括事務(wù)、集合點(diǎn)、參數(shù)化),測(cè)試總結(jié)報(bào)告50分。實(shí)驗(yàn)三、運(yùn)用Junit工具進(jìn)行面向?qū)ο笙到y(tǒng)的測(cè)試一、實(shí)驗(yàn)?zāi)康膯卧獪y(cè)試在面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程中變得越來(lái)越重要,而一個(gè)簡(jiǎn)明易學(xué)、適用廣泛、高效穩(wěn)定的單元測(cè)試框架對(duì)成功的實(shí)施測(cè)試有著至關(guān)重要的作用。在java編程環(huán)境中,junit framework是一個(gè)已經(jīng)被大多數(shù)java程序員采用和實(shí)證的優(yōu)秀的測(cè)
38、試框架。該實(shí)驗(yàn)?zāi)康淖寣W(xué)生掌握運(yùn)用Junit框架進(jìn)行面向?qū)ο蟮膯卧獪y(cè)試。二、實(shí)驗(yàn)要求了解Junit框架設(shè)計(jì)思想及使用。提交測(cè)試文檔和測(cè)試驅(qū)動(dòng)程序代碼三、實(shí)驗(yàn)原理及內(nèi)容一)Junit框架介紹。Junit是一個(gè)開(kāi)發(fā)源代碼的Java測(cè)試框架,用于編寫和運(yùn)行可重復(fù)的測(cè)試。他是用于單元測(cè)試框架體系xUnit的一個(gè)實(shí)例(用于java語(yǔ)言)。它包括以下特性:1、用于測(cè)試期望結(jié)果的斷言(Assertion)2、用于共享共同測(cè)試數(shù)據(jù)的測(cè)試工具3、用于方便的組織和運(yùn)行測(cè)試的測(cè)試套件FrameworkFrom junitExtensionsFrom junitRunnerFrom junitAwtuiFrom jun
39、itTextuiFrom junitswinguiFrom junit4、圖形和文本的測(cè)試運(yùn)行器Junit由6個(gè)包組成,分別為Framework、Extensions、Runner、 Awtui、Textui、Swingui,前個(gè)包是構(gòu)建包,后個(gè)包是表現(xiàn)層包,如下圖所示:Junit.framework包中包含了Junit測(cè)試類中所需要的所有基類(Base Class),實(shí)際上這個(gè)包也是整個(gè)Junit的基礎(chǔ)框架。TestCase類是這個(gè)包的核心,測(cè)試人員對(duì)TestCase類進(jìn)行繼承開(kāi)發(fā)自己的類測(cè)試驅(qū)動(dòng)程序。其余的類用來(lái)支援TestCase類,比如TestSuite用來(lái)集合多個(gè)測(cè)試用例,Asser
40、t類實(shí)現(xiàn)期望值和實(shí)際值的驗(yàn)證,TestResult收集所有測(cè)試用例執(zhí)行后結(jié)果。Test接口是這個(gè)包的關(guān)鍵所在,它建立了TestCase和TestSuite之間的關(guān)聯(lián),同時(shí)為整個(gè)框架做了擴(kuò)展預(yù)留。該測(cè)試框架如下圖:Testrun()TestSuiteaddTest()TestCasesetUp()tearDown()MyTestCase二)三角形問(wèn)題接受三個(gè)整數(shù)a、b和c作為輸入,用做三角形的邊。程序的輸出是由這三條邊確定的三角形類型:等邊三角形、等腰三角形、不等邊三角形。整數(shù)a、b、c必須滿足以下條件: 1£ a£200 1£b£200 1£
41、c£200 a<b+c b<a+c c<a+b實(shí)現(xiàn)上述代碼,采用Junit 實(shí)現(xiàn)測(cè)試代碼,要求設(shè)計(jì)測(cè)試輸入數(shù)據(jù),并將所有測(cè)試數(shù)據(jù)預(yù)先存于文件中。四、實(shí)驗(yàn)軟硬件環(huán)境硬件環(huán)境:CPU 1G; 內(nèi)存1G ;硬盤 30G軟件環(huán)境:windows操作系統(tǒng)五、實(shí)驗(yàn)步驟和方法1、熟悉Junit框架2、編寫三角形代碼3、編寫測(cè)試驅(qū)動(dòng)程序(Junit)六、實(shí)驗(yàn)預(yù)習(xí)要求熟悉java語(yǔ)言和UML。七、評(píng)分標(biāo)準(zhǔn)編寫測(cè)試驅(qū)動(dòng)程序分50分; Junit框架理解報(bào)告50分。 實(shí)驗(yàn)四、EclEmma覆蓋測(cè)試工具應(yīng)用實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)該實(shí)驗(yàn)讓學(xué)生掌握設(shè)計(jì)測(cè)試用例的方法;掌握java代碼覆
42、蓋率測(cè)試工具eclemma的使用方法。二、實(shí)驗(yàn)要求學(xué)生可以自主發(fā)揮測(cè)試用例設(shè)計(jì)方法,可以不受課堂內(nèi)容限制。三、實(shí)驗(yàn)原理及內(nèi)容1、現(xiàn)有一個(gè)小程序,能夠求出三個(gè)在-10000到+10000間整數(shù)中的最大者,程序界面如下:圖1-1程序運(yùn)行界面現(xiàn)在要為這個(gè)小程序設(shè)計(jì)白盒測(cè)試用例。白盒測(cè)試要求使用語(yǔ)句覆蓋方法。2、EclEmma是一個(gè)基于Emma的java代碼覆蓋率測(cè)試工具,它的目的是讓你可以在Eclipse工作平臺(tái)中使用強(qiáng)大的java代碼覆蓋率工具Emma,EclEmma是非侵入式的不需要修改項(xiàng)目或者執(zhí)行其他任何安裝,它能夠在工作平臺(tái)中啟動(dòng)像運(yùn)行JUnit測(cè)試一樣直接對(duì)代碼進(jìn)行覆蓋分析,分析結(jié)果將被匯
43、總在java源代碼編輯器中高亮顯示。通過(guò)Eclemma來(lái)驗(yàn)證上述白盒測(cè)試用例設(shè)計(jì)的語(yǔ)句覆蓋情況。四、實(shí)驗(yàn)軟硬件環(huán)境硬件環(huán)境:CPU 1G; 內(nèi)存1G ;硬盤 30G軟件環(huán)境:windows操作系統(tǒng)五、實(shí)驗(yàn)步驟和方法(一)測(cè)試用例設(shè)計(jì) 1、確定測(cè)試用例設(shè)計(jì)方法 2、設(shè)計(jì)測(cè)試用例。(二)Eclemma工具使用1、安裝 EclEmma 插件安裝 EclEmma 插件的過(guò)程和大部分 Eclipse 插件相同,我們既可以通過(guò) Eclipse 標(biāo)準(zhǔn)的 Update 機(jī)制來(lái)遠(yuǎn)程安裝 EclEmma 插件(圖 1),也可以從站點(diǎn)(參閱 參考資源)下載 zip 文件并解壓到 eclipse 所在的目錄中。圖 1 添加 EclEmma 更新站點(diǎn)不管采用何種方式來(lái)安裝 EclEmma,安裝完成并重新啟動(dòng) Eclipse 之后,工具欄上應(yīng)該出現(xiàn)一個(gè)新的按鈕:圖 2 新增的覆蓋測(cè)試按鈕使用 EclEmma 測(cè)試 Java 程序?yàn)榱藢?shí)驗(yàn) EclEmma 的特性,我們首先在 Eclipse 的 Wo
溫馨提示
- 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è)玉米收購(gòu)合同范本
- 外賣品牌加盟合同范本
- 醫(yī)院廚房協(xié)議合同范本
- 司機(jī)和公司合同范本
- 2025年腫瘤醫(yī)療服務(wù)合作協(xié)議書
- 叉車質(zhì)保合同范本
- 南京古玩買賣合同范本
- 勞動(dòng)合同范本 證明
- 印刷材料合同范本
- 公司服務(wù)用房合同范例
- lng加工合同范例
- 2024解析:第十六章電壓和電阻-基礎(chǔ)練(解析版)
- 湖北聯(lián)投集團(tuán)2024校園招聘【298人】管理單位遴選500模擬題附帶答案詳解
- 機(jī)柜 施工方案
- 設(shè)計(jì)質(zhì)量、進(jìn)度、安全、保密等管理方案及保障措施
- 單片機(jī)應(yīng)用技術(shù)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 文藝復(fù)興史學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 產(chǎn)后出血-教學(xué)查房
- 2024年新疆中考數(shù)學(xué)試卷(含答案解析)
- 2025年高考物理二輪復(fù)習(xí)的教學(xué)對(duì)策與思考講座
- 血液透析并發(fā)癥頭痛
評(píng)論
0/150
提交評(píng)論