軟件測試技術(shù)實驗報告_第1頁
軟件測試技術(shù)實驗報告_第2頁
軟件測試技術(shù)實驗報告_第3頁
軟件測試技術(shù)實驗報告_第4頁
軟件測試技術(shù)實驗報告_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件測試技術(shù)實驗報告 河北工業(yè)大學計算機科學與軟件學院2017年9月軟件說明電話號碼問題某城市電話號碼由三部分組成。它們的名稱和內(nèi)容分別是: 地區(qū)碼:空白或三位數(shù)字; 前 綴:非0或1的三位數(shù)字; 后 綴:4位數(shù)字。流程圖源代碼import java.awt.*;import java.awt.event.*;public class PhoneNumber extends Frame implements ActionListener/* * */private static final long serialVersionUID = 1L;private final String st =

2、 Name,Local,Prefix,Suffix;static int c_person=0;TextField t_name,t_local,t_prefix,t_suffix;RecordDialog d_record;MessageDialog d_message;person a=new person100;public PhoneNumber()super(電話號碼);this.setSize(250,250);this.setLocation(300,240); Panel panel1 = new Panel(new GridLayout(4, 1);for (int i =

3、0; i st.length; i+) panel1.add(new Label(sti,0);Panel panel2 = new Panel(new GridLayout(4, 1);t_name =new TextField(,20);t_local =new TextField();t_prefix=new TextField(); t_suffix=new TextField();panel2.add(t_name);panel2.add(t_local);panel2.add(t_prefix);panel2.add(t_suffix);Panel panel3 = new Pan

4、el(new FlowLayout();Button b_save = new Button(Save); Button b_record= new Button(Record);panel3.add(b_save);panel3.add(b_record);this.setLayout(new BorderLayout();this.add(West, panel1);this.add(East, panel2);this.add(South, panel3);addWindowListener(new WindowCloser();b_save.addActionListener(this

5、);b_record.addActionListener(this);d_record=new RecordDialog(this);d_message=new MessageDialog(this);this.setVisible(true);private class RecordDialog extends Dialogprivate static final long serialVersionUID = 1L;Frame frame; /對話框所依賴的框架窗口TextArea t_show;RecordDialog(Frame frame)super(frame,記錄,true);t

6、his.frame=frame;this.setSize(300, 80);t_show=new TextArea(20,20);this.add(t_show);this.addWindowListener(new WindowCloser();public void show(String s) t_show.setText(s);this.setLocation(frame.getX()+100, frame.getY()+100);this.setVisible(true);private class MessageDialog extends Dialog/* * */private

7、 static final long serialVersionUID = 1L;Frame frame; /對話框所依賴的框架窗口Label label; /對話框中顯示信息MessageDialog(Frame frame)super(frame,消息,true);this.frame=frame;this.setSize(300, 80);label=new Label(,Label.CENTER);this.add(label);this.addWindowListener(new WindowCloser();public void show(String string) label

8、.setText(string);this.setLocation(frame.getX()+100, frame.getY()+100);this.setVisible(true);private class WindowCloser extends WindowAdapterpublic void windowClosing(WindowEvent we)Window label = we.getWindow();label.setVisible(false);private class personString name,local,prefix,suffix;person(String

9、 name,String local,String prefix,String suffix)=name;this.local=local;this.prefix=prefix;this.suffix=suffix;public String getname()return name;public String getlocal()return local;public String getprefix()return prefix;public String getsuffix()return suffix;public String toString()return th

10、is.getname()+t+this.getlocal()+t+this.getprefix()+t+this.getsuffix()+n;public boolean check(String local,String prefix,String suffix) if(local.equals()|(local.length()=3&local.matches(0-9+) &(prefix.length()=3&prefix.matches(2-9+) &(suffix.length()=4&suffix.matches(0-9+) return true; return false;pu

11、blic void actionPerformed(ActionEvent e) String label = e.getActionCommand();if(label=Save)String name=t_name.getText();String local=t_local.getText();String suffix=t_suffix.getText();String prefix=t_prefix.getText();if(check(local,prefix,suffix)ac_person=new person(name,local,prefix,suffix);c_perso

12、n+;elseString message=;if(!local.equals()&(local.length()!=3|!local.matches(0-9+)message+=local is error,;if(prefix.length()!=3|!prefix.matches(2-9+)message+=prefix is error,;if(suffix.length()!=4|!suffix.matches(0-9+)message+=suffix is error;message+=please input again.;d_message.show(message);t_na

13、me.setText();t_local.setText();t_prefix.setText();t_suffix.setText();if(label=Record)d_record.show(this.toshow();public String toshow()String s=nametlocaltprefixtsuffixn;for(int i=0;i “程序” “Mercury LoadRunner” “LoadRunner”。將打開“Mercury LoadRunner Launcher”窗口。在 Launcher 窗口中,單擊“負載測試”選項卡,單擊“創(chuàng)建/ 編輯腳本”,將打

14、開 VuGen 的開始頁 。2)創(chuàng)建一個空白 Web 腳本在 VuGen 開始頁的“腳本”選項卡中,單擊“新建 Vuser 腳本”,將打開“新建虛擬用戶”對話框,其中顯示用于新建單協(xié)議腳本的選項。選擇“Web (HTTP/HTML)”并單擊“確定”創(chuàng)建一個空白 Web 腳本。圖6-13)在 Mercury Tours 網(wǎng)站上開始錄制。單擊頁面頂部工具欄中的“開始錄制”按鈕,將打開“開始錄制”對話框。圖6-2在“URL”地址框中,鍵入 http:/localhost:1080/MercuryWebTours/。將打開一個新的 Web 瀏覽器,并顯示 Mercury Tours 站點。錄制工具條:

15、圖6-3登錄到 Mercury Tours 網(wǎng)站。成員姓名/密碼為:jojo/bean。輸入航班詳細信息。單擊“航班”。將打開“查找航班”頁: 出發(fā)城市:丹佛(默認設(shè)置) 出發(fā)日期:保持默認設(shè)置不變(當前日期) 到達城市:洛杉磯 返回日期:保持默認設(shè)置不變(第二天的日期)。 座位首選項:過道保持其余的默認設(shè)置不變,然后單擊“繼續(xù)”。將打開“搜索結(jié)果”頁。單擊“繼續(xù)”接受默認航班選擇。將打開“付費詳細信息”頁。輸入付費信息并預(yù)訂航班。在“信用卡”框中輸入 12345678,在“輸出日期”框中鍵入 06/06。單擊“繼續(xù)”。將打開“發(fā)票”頁,并顯示您的發(fā)票。注銷。單擊左窗格中的“注銷”。停止錄制。

16、在浮動工具欄上單擊“停止” 停止錄制過程。保存。選擇“文件” “保存”,或單擊“保存”按鈕。保存文件名為basic_tutorial。4)查看腳本錄制結(jié)束后,可以通過兩種方式來查看腳本:腳本視圖及樹視圖。腳本視圖腳本視圖是一種基于文本的視圖,列出了作為 API 函數(shù)的 Vuser 操作。要在腳本視圖中查看腳本,請單擊工具欄上的“View Script”按鈕或者選擇“View” “View Script”。在腳本視圖中, VuGen 將在編輯器中顯示帶有彩色編碼的函數(shù)及其變量值的腳本。樹視圖樹視圖是基于圖標的視圖,列出了作為步驟的 Vuser 操作.要在樹視圖中查看腳本,請單擊工具欄上的“Vie

17、w Tree”按鈕或者選擇“View” “View Tree”。對于錄制期間所執(zhí)行的每一步驟, VuGen 都在測試樹中生成一個圖標和一個標題。在樹視圖中,將看到作腳本步驟的用戶操作。大多數(shù)步驟都附帶相應(yīng)的錄制快照。5)樹視圖中對錄制的步驟重命名,提高錄制腳本的可讀性: 選擇一個步驟 右鍵單擊步驟圖標 在彈出菜單中選擇“屬性”菜單項 選擇“General”屬性頁 將缺省步驟名改為意義更明確的名稱2、播放腳本1)運行時設(shè)置,包括: 運行邏輯:重復(fù)次數(shù) 步:重復(fù)之間的等待時間 思考時間:步驟之間用戶停止以思考的時間。 日志:播放期間要收集的信息級別。按 F4 鍵或單擊工具欄中的“運行時設(shè)置”按鈕

18、。將打開“運行時設(shè)置”對話框。2)設(shè)置實時查看腳本的運行。依次選擇“工具” “常規(guī)選項”,然后選擇“顯示”選項卡。選擇“在回放期間顯示瀏覽器”和“自動排列窗口”選項。3)回放腳本確認虛擬用戶執(zhí)行正確。4)查看結(jié)果查看日志。在菜單中依次選擇“視圖” “輸出窗口”。然后單擊“回放日志”選項卡。查看測試結(jié)果。依次選擇“視圖” “測試結(jié)果”。圖6-43、編輯腳本1)檢查點在進行壓力測試時,為了檢查Web 服務(wù)器返回的網(wǎng)頁是否正確,VuGen 允許我們插入Text/Imag 檢查點,這些檢查點驗證網(wǎng)頁上是否存在指定的Text 或者Imag,還可以測試在比較大的壓力測試環(huán)境中,被測的網(wǎng)站功能是否保持正確。

19、以下是插入檢查點的步驟及檢查點在腳本中的函數(shù)表示。圖6-52)參數(shù)化-腳本參數(shù)化概述如果用戶在錄制腳本過程中,填寫提交了一些數(shù)據(jù),這些數(shù)據(jù)都被記錄到了腳本中。當多個虛擬用戶運行腳本時,都會提交相同的數(shù)據(jù),這樣不符合實際的運行情況,而且有可能引起沖突。為了更加真實的模擬實際環(huán)境,需要各種各樣的輸入,參數(shù)化輸入是一種不錯的方法。用參數(shù)表示用戶的腳本有兩個優(yōu)點:v 可以使腳本的長度變短v 可以使用不同的數(shù)值來測試腳本參數(shù)化包含以下兩項任務(wù):v 在腳本中用參數(shù)取代常量值v 設(shè)置參數(shù)的屬性以及數(shù)據(jù)源圖6-63)集合點(Rendezvous)集合點是為了衡量在加重負載的情況下服務(wù)器的性能情況。在測試計劃中

20、,可能會要求系統(tǒng)能夠承受1000人同時提交數(shù)據(jù),在LoadRunner 中可以通過在提交數(shù)據(jù)操作前面加入集合點,這樣當虛擬用戶運行到提交數(shù)據(jù)的集合點時,LoadRunner 就會檢查同時有多少用戶運行到集合點,如果不到1000 人,LoadRunner 就會命令已經(jīng)到集合點的用戶在此等待,當在集合點等待的用戶達到1000 人時,LoadRunner 命令1000 人同時去提交數(shù)據(jù),從而達到測試計劃中的需求。注意:集合點經(jīng)常和事務(wù)結(jié)合起來使用。集合點只能插入到Action 部分,vuser_init和vuser_end 中不能插入集合點。插入集合點方法:v 在需要插入集合點的前面,選擇菜單Ins

21、ert-Rendezvous。v 在彈出的Rendzvous對話框中,輸入要插入的集合點的名稱,點擊OK后,集合點插入完畢。集合點在腳本中的代碼:lr_rendezvous(“名稱”)圖6-7如果在腳本中設(shè)置了集合點,還需要在Controller 中設(shè)置集合點策略,從菜單中調(diào)出集合點策略設(shè)置窗口,根據(jù)需求設(shè)置集合點策略。圖6-8(4)關(guān)聯(lián)(correlation)關(guān)聯(lián)(correlation)就是把腳本中某些寫死的數(shù)據(jù),轉(zhuǎn)變成是取自服務(wù)器所送的、動態(tài)的、每次都不一樣的數(shù)據(jù)。如何找出要關(guān)聯(lián)數(shù)據(jù)?簡單的說,每一次執(zhí)行時都會變動的值,就有可能需要做關(guān)聯(lián)。VuGen提供二種方式幫助您找出需要做關(guān)聯(lián)的值

22、:v 自動關(guān)聯(lián) v 手動關(guān)聯(lián) (5)事務(wù)(Transaction)當錄制完一個基本的用戶腳本后,在正式使用前我們還需要完善測試腳本,增強腳本的靈活性。例如,可以在腳本中插入名為內(nèi)容檢查的步驟,以驗證某些特定內(nèi)容是否顯示在返回頁上。可以修改腳本來模擬多用戶行為,也可以用事務(wù)來度量特定的業(yè)務(wù)流程。事務(wù)(Transaction):為了衡量服務(wù)器的性能,我們需要定義事務(wù)。比如:我們在腳本中有一個數(shù)據(jù)查詢操作,為了衡量服務(wù)器執(zhí)行查詢操作的性能,我們把這個操作定義為一個事務(wù),這樣在運行測試腳本時,LoadRunner 運行到該事務(wù)的開始點時,就會開始計時,直到運行到該事務(wù)的結(jié)束點,計時結(jié)束。這個事務(wù)的運行

23、時間會在結(jié)果中顯示。 插入事務(wù)操作可以在錄制過程中進行,也可以在錄制結(jié)束后進行。LoadRunner 運行在腳本中插入不限數(shù)量的事務(wù)。圖6-94、創(chuàng)建場景在“Mercury LoadRunner Launcher”窗口中,單擊“運行負載測試”,打開 LoadRunner Controller。圖6-10Loadrunner的場景能夠描述在測試活動中發(fā)生的各種事件。一個場景包括一個運行虛擬用戶活動的Load Generator 機器列表,一個測試腳本的列表以及大量的虛擬用戶和虛擬用戶組。1)在新建場景的窗口,選擇一種場景類型:手動場景??梢钥刂普谶\行的 Vuser 數(shù)量及其運行的時間,還可以測

24、試應(yīng)用程序可以同時運行的 Vuser 數(shù)??梢允褂冒俜直饶J礁鶕?jù)業(yè)務(wù)分析員指定的百分比在腳本間分配全部的 Vuser。面向目標的場景。用于確定系統(tǒng)是否可以達到特定的目標。由測試員確定基于的目標,例如,指定的事務(wù)響應(yīng)時間或每秒點擊次數(shù)/ 事務(wù)數(shù),并且 LoadRunner 將根據(jù)這些目標自動創(chuàng)建場景。2)向負載測試中添加腳本。單擊“瀏覽”按鈕,找到在步驟1中保存的腳本basic_script。默認保存在 Tutorial 目錄中?!翱捎媚_本”部分和“場景中的腳本”部分中將顯示該腳本。圖6-113)Controller設(shè)計窗口概述。Controller 窗口的“設(shè)計”選項卡包含兩個主要部分:場景計劃和場景組。場景計劃:在“場景計劃”部分中,可以設(shè)置負載行為以精確地描繪用戶行為。還可以確定將負載應(yīng)用于應(yīng)用程序的速率、負載測試持續(xù)時間以及如何停止負載。場景組:可以在“場景組”部分中配置 Vuser 組。在此部分中,可以創(chuàng)建代表系統(tǒng)典型用戶的各種組。您可以定義這些典型用戶運行的操作、運行的 Vuser數(shù)以及 Vuser 運行時所用的計算機。

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論