版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、自動(dòng)化功能測(cè)試及用例設(shè)計(jì)袁玉宇 yuyu_yuan4hotmail.本部分課程目的測(cè)試與自動(dòng)化測(cè)試WinRunner引見(jiàn)測(cè)試用例設(shè)計(jì).自動(dòng)化 自動(dòng)化是對(duì)戰(zhàn)略、閱歷、工具及工件的運(yùn)用,它減少了對(duì)手工或人的干涉或非技藝方面的介入,及反復(fù)或冗長(zhǎng)任務(wù)需求。.測(cè)試自動(dòng)化自動(dòng)化測(cè)試直接依賴于整個(gè)軟件流程的可自動(dòng)化成熟度。包括:測(cè)試流程、繼續(xù)編譯、繼續(xù)集成、測(cè)試系統(tǒng)發(fā)布、測(cè)試執(zhí)行、測(cè)試管理、缺陷測(cè)試跟蹤等多個(gè)方面的自動(dòng)化實(shí)現(xiàn)和整合。 .測(cè)試和自動(dòng)化的區(qū)別.自動(dòng)化測(cè)試的誤區(qū)期望自動(dòng)化測(cè)試可以完全取代手動(dòng)測(cè)試期望自動(dòng)化測(cè)試發(fā)現(xiàn)大量的新缺陷 期望自動(dòng)化測(cè)試可以智能的完成絕大多數(shù)任務(wù) 期望自動(dòng)化測(cè)試是一勞永逸的 .
2、自動(dòng)化測(cè)試的目的縮短測(cè)試周期,加快測(cè)試進(jìn)度,從而加快產(chǎn)品發(fā)布進(jìn)度 實(shí)現(xiàn)更大規(guī)模、更大頻率的測(cè)試減少手工測(cè)試的人力資源投入,降低測(cè)試本錢提高測(cè)試覆蓋率保證回歸測(cè)試的可控性和一致性.自動(dòng)化測(cè)試的目的提高測(cè)試用例執(zhí)行的可靠性在不降低質(zhì)量的情況下由低技藝的人員完成定義明晰的測(cè)試過(guò)程,降低和防止測(cè)試人員的個(gè)體對(duì)整體測(cè)試的影響 提高測(cè)試人員的任務(wù)效率,并使更高技藝的人員有時(shí)間和資源,對(duì)產(chǎn)品進(jìn)入更深層次的測(cè)試。輔助測(cè)試人員完成手工無(wú)法完成的測(cè)試任務(wù)。.測(cè)試用例的質(zhì)量目的檢測(cè)軟件缺陷的有效性測(cè)試用例的可仿效性測(cè)試用例執(zhí)行、分析和調(diào)試的經(jīng)濟(jì)性測(cè)試用例的可修正行.Keviat圖.適宜做自動(dòng)化測(cè)試情況產(chǎn)品型工程大型
3、增量式開(kāi)發(fā)、繼續(xù)集成工程 可以自動(dòng)編譯、自動(dòng)發(fā)布的系統(tǒng) 需求多次反復(fù)機(jī)械性動(dòng)作的測(cè)試 .適宜做自動(dòng)化測(cè)試情況簡(jiǎn)單而煩瑣的基于命令行交互方式的測(cè)試 完成一些手工難以完成的測(cè)試目的 涉及大量第三方軟件或設(shè)備的測(cè)試 .不適宜做自動(dòng)化測(cè)試情況按需定制型工程通常為一次性的短期工程 工程周期很短的工程 業(yè)務(wù)規(guī)那么復(fù)雜的工程 .不適宜做自動(dòng)化測(cè)試情況依賴于人類的習(xí)慣、感官或智力的測(cè)試內(nèi)容 不需求頻繁測(cè)試的軟件 軟件不穩(wěn)定 .被測(cè)軟件產(chǎn)品 提供API的軟件基于命令行的接口基于GUI基于終端接口 .自動(dòng)化測(cè)試的最正確實(shí)際自動(dòng)化測(cè)試的代碼效率不是越高越好自動(dòng)化測(cè)試的執(zhí)行過(guò)程和記錄應(yīng)便于分析自動(dòng)化測(cè)試的設(shè)計(jì)和腳本可
4、讀性越好越好.自動(dòng)化測(cè)試的最正確實(shí)際自動(dòng)化測(cè)試的腳本可維護(hù)性是重中之重完好性是自動(dòng)化測(cè)試勝利的前提自動(dòng)化測(cè)試腳本之間是松耦合或彼此獨(dú)立的.自動(dòng)化技術(shù) 模擬/虛擬技術(shù) 對(duì)象管理技術(shù) 腳本技術(shù)比較技術(shù) .自動(dòng)化技術(shù)執(zhí)行技術(shù)錄制、回放技術(shù) 同步技術(shù) 強(qiáng)壯性技術(shù) .自動(dòng)化測(cè)試的腳本技術(shù)線性腳本構(gòu)造化腳本共享腳本數(shù)據(jù)驅(qū)動(dòng)腳本關(guān)鍵字驅(qū)動(dòng)腳本.線性腳本線性腳本是錄制手工執(zhí)行的測(cè)試事例得到的腳本。假設(shè)用戶只運(yùn)用線性腳本技術(shù),即錄制每個(gè)測(cè)試事例的全部?jī)?nèi)容,那么每個(gè)測(cè)試事例可以經(jīng)過(guò)腳本完好地被回放。幾乎任何反復(fù)的操作都可以運(yùn)用線性腳本技術(shù)自動(dòng)化。.線性腳本的優(yōu)點(diǎn)簡(jiǎn)單,只需坐在計(jì)算機(jī)前錄制手工義務(wù)??梢钥焖匍_(kāi)場(chǎng)自動(dòng)
5、化。對(duì)實(shí)踐執(zhí)行操作可以審計(jì)跟蹤。用戶不用是編程人員假設(shè)不修正.線性腳本的缺陷無(wú)共享或重用腳本。容易受軟件變化的影響。修正代價(jià)大。假設(shè)回放腳本時(shí)發(fā)生了錄制腳本時(shí)沒(méi)有發(fā)生的事情,引起整個(gè)測(cè)試失敗。.構(gòu)造化腳本構(gòu)造化腳本類似于構(gòu)造化程序設(shè)計(jì),構(gòu)造化腳本中含有控制腳本執(zhí)行的指令。控制腳本執(zhí)行的指令:順序,選擇和疊代。.構(gòu)造化腳本例子Part of the Scribble test scriptSelectOption File/CloseFocuso On CloseLeftMouseClickYesFocusOnSave AsType countries2LeftMouseClickSaveIf
6、Message=Replace existing file? LeftMouseClickyesEnd ifFocusOn ScribbleSelectOptionFile/Exti.構(gòu)造化腳本的優(yōu)缺陷強(qiáng)壯性好,對(duì)一些容易導(dǎo)致測(cè)試失敗的特殊情況進(jìn)展處置??梢詧?zhí)行許多其他類似的功能,如反復(fù)的指令可以運(yùn)用循環(huán)構(gòu)造??梢宰鳛槟K被其他腳本調(diào)用。腳本變得更加復(fù)雜,而且測(cè)試數(shù)據(jù)依然捆綁在腳本中。.共享腳本腳本可以被多個(gè)測(cè)試事例運(yùn)用。這意味著腳本言語(yǔ)允許一個(gè)腳本被另一個(gè)腳本調(diào)用,而這多少已成為一切測(cè)試執(zhí)行自動(dòng)化工具的規(guī)范。這種技術(shù)思緒是產(chǎn)生一個(gè)執(zhí)行某種義務(wù)的腳本,而不同的測(cè)試要反復(fù)這個(gè)義務(wù),當(dāng)要執(zhí)行這個(gè)義
7、務(wù)時(shí)只需求在每個(gè)測(cè)試事例的適當(dāng)?shù)胤秸{(diào)用這個(gè)腳本。.共享腳本例子ScribbleOpen(FILENAME) LeftMouseClickScribbleFocusOnScribbleSelectOptionFile/OpenFocusOnOpenTypecountriesLeftMouseClickOpen.共享腳本例子ScribbleSaveAs(FILENAME) FocusOnScribbleSelectOptionFile/CloseFocusOnCloseLeftMouseClickYesFocusOnSave AsType FILENAMELeftMouseClickSaveFoc
8、usOnScribbleSelectOptionFile/Exit.共享腳本例子Call ScribbleOpen(countries)FocusOnScribbleSelectOptionList/Add ItemFocusOnAdd ItemTypeFranceLeftMouseClickOKFocusOnScribble SelectOptionList/Add ItemFocusOnAdd ItemTypeGermanyLeftMouseClickOKFocusOnScribbleCall ScribbleSaveAS(TEST2) .共享腳本的優(yōu)點(diǎn)以較少的開(kāi)銷實(shí)現(xiàn)類似的測(cè)試。維護(hù)開(kāi)銷
9、低于線性腳本。刪除明顯的反復(fù)??梢栽诠蚕砟_本中添加更智能的功能。.共享腳本的缺陷需求跟蹤更多的腳本,文檔、名字、以及存儲(chǔ),很難找到適當(dāng)?shù)哪_本。對(duì)于每個(gè)測(cè)試仍需求一個(gè)特定的測(cè)試腳本。因此維護(hù)本錢比較高。共享腳本通常是針對(duì)被測(cè)軟件的某個(gè)部分。.數(shù)據(jù)驅(qū)動(dòng)腳本數(shù)據(jù)驅(qū)動(dòng)腳本技術(shù)將測(cè)試輸入存儲(chǔ)在獨(dú)立的數(shù)據(jù)文件中,而不是存儲(chǔ)在腳本中。腳本中存放控制信息如菜單導(dǎo)航。執(zhí)行測(cè)試時(shí),從文件中而不是直接從腳本中讀取測(cè)試輸入。這種方法的最大益處是同一個(gè)腳本可以運(yùn)轉(zhuǎn)不同的測(cè)試。.數(shù)據(jù)驅(qū)動(dòng)腳本例子 Control script: ScribbleControlOpenFileScribbleDataFor each rec
10、ord in ScribbleData Read INPUTFILE Read NAME1 Read NAME2 Read OUTPUTFILE.數(shù)據(jù)驅(qū)動(dòng)腳本例子Call ScribbleOpen(INPUTFILE)FocusOnScribbleSelectOptionList/Add ItemFocusOnAdd ItemType NAME1LeftMouseClickOKFocusOnScribble SelectOptionList/Add ItemFocusOnAdd ItemType NAME2LeftMouseClickOKFocusOnScribbleCall Scribble
11、SaveAS(OUTPUTFILE) EndFor.數(shù)據(jù)驅(qū)動(dòng)腳本例子Data file: ScribbleDataCountries, Sweden, USA, test1Countries, France, Germany, test2Countries, Austria, Italy, test3Countries, Spain, Finland, test4.數(shù)據(jù)驅(qū)動(dòng)腳本優(yōu)點(diǎn)可以很快添加類似的測(cè)試。測(cè)試者添加新測(cè)試不器具有工具腳本言語(yǔ)的技術(shù)或編程知識(shí)。對(duì)第二個(gè)測(cè)試及后續(xù)測(cè)試無(wú)額外的腳本維護(hù)開(kāi)銷。.數(shù)據(jù)驅(qū)動(dòng)腳本缺陷初始建立的開(kāi)銷較大;需求專業(yè)編程支持;必需易于管理。.關(guān)鍵字驅(qū)動(dòng)腳本就是較復(fù)
12、雜的數(shù)據(jù)驅(qū)動(dòng)技術(shù)的邏輯擴(kuò)展。分為三層構(gòu)造:一是控制腳本;二關(guān)鍵字動(dòng)作描畫;三是數(shù)據(jù)或測(cè)試用例。.WinRunner定義WinRunner是一個(gè)自動(dòng)化企業(yè)功能測(cè)試工具,可以用來(lái)測(cè)試運(yùn)用程序能否按照預(yù)料的結(jié)果進(jìn)展運(yùn)轉(zhuǎn)。經(jīng)過(guò)錄制腳本,校驗(yàn)和自動(dòng)的對(duì)用戶的交互進(jìn)展回放, WinRunner可以確定出運(yùn)用中的缺陷,并且保證跨越多個(gè)運(yùn)用和數(shù)據(jù)庫(kù)的業(yè)務(wù)過(guò)程,可以在初次和以后的時(shí)間里面穩(wěn)定的無(wú)縫的運(yùn)轉(zhuǎn)。.手工測(cè)試和自動(dòng)化測(cè)試的區(qū)別 執(zhí)行用戶操作等待處置完成檢查運(yùn)用能否具有預(yù)期功能反復(fù)以上操作直到一切運(yùn)用得到驗(yàn)證1234生成自動(dòng)測(cè)試腳本參與同步點(diǎn)參與檢查點(diǎn)運(yùn)轉(zhuǎn)一個(gè)腳本或一組腳本1234.客戶的目的保證企業(yè)運(yùn)用程
13、序可以按照預(yù)期想象如期運(yùn)轉(zhuǎn)并且可以如期部署可以讓測(cè)試人員順應(yīng)迅速變化的環(huán)境可以讓QA人員堅(jiān)持有效的反復(fù)測(cè)試的義務(wù)減少測(cè)試的時(shí)間.可以減少測(cè)試時(shí)間自動(dòng)處置不可預(yù)知的運(yùn)用程序的不測(cè) 情況提供在各種條件不同的測(cè)試數(shù)據(jù)下測(cè)試業(yè)務(wù)過(guò)程創(chuàng)建可以反復(fù)利用的和可以維護(hù)的腳本經(jīng)過(guò)設(shè)定運(yùn)轉(zhuǎn)條件,使復(fù)雜的測(cè)試過(guò)程變的簡(jiǎn)單.WinRunner規(guī)范版WinRunner配置Web、Visual Basic、PowerBuilder、ActiveX等四種Add-insDelphi、Java、Baan、Wap等附加的Add-ins利用一個(gè)測(cè)試工具WinRunner可以測(cè)試大部分的企業(yè)運(yùn)用利用檢查點(diǎn)很容易對(duì)數(shù)據(jù)進(jìn)展檢查市場(chǎng)上最
14、為強(qiáng)大的功能測(cè)試工具.WinRunner支持最為廣泛的企業(yè)環(huán)境 Legacy 3270 Emulators 5250 Emulators VT100 EmulatorsCustom C/S VB 4, 5, 6 PB 4, 5, 6, 6.5 Oracle Dev 2000 Forte 3.0.l.3 Delphi 2, 3, 4ERP/CRM Baan IVc, V SAP R/3 3, 4 Oracle Apps 10, 10.7, 11 Peoplesoft 6, 7, 7.5 SiebelE-Biz IE 4.x, IE 5.x NS 4.0 & higher DHTML XML AW
15、T from JDK 1.1.7 JFC JDK Symantec Visual Caf ActiveX Oracle Jinitiator Oracle NCA Animated Images.WinRunner自動(dòng)化測(cè)試過(guò)程 1. 設(shè)置初始化條件2. 記錄用戶的操作3. 設(shè)置終了條件4. 運(yùn)轉(zhuǎn)測(cè)試腳本生成自動(dòng)測(cè)試腳本生成自動(dòng)測(cè)試腳本1參與檢查點(diǎn)執(zhí)行測(cè)試3參與同步點(diǎn)24.記錄并且生成腳本 # Automobile Purchase Form set_window(Automobile Purchase Form, 10); edit_set (Customer Name, Thomas Pa
16、ine); edit_set (Address,234 Willow Drive);Depart Date: _/_/_From City. . : _To City. . . . .: _Flight. . . . . . : _Order Number. . . .: _Customer. . . . . . . .: _Billing Date. . . . . . : edit_set (Date, 12/12/03); list_select_item (Make, BMW); button_press (Insert Sale);Thomas Paine234 Willow Dri
17、ve12/12/03BMW19732002tii edit_set (Model, 2002tii); edit_set (Year, 1973);.回放腳本 Depart Date: _/_/_From City. . : _To City. . . . .: _Flight. . . . . . : _Order Number. . . .: _Customer. . . . . . . .: _Billing Date. . . . . . : Thomas Paine234 Willow Drive12/12/03BMW19732002tiiPurchase Completed. #
18、Automobile Purchase Form set_window(Automobile Purchase Form, 10); edit_set (Customer Name, Thomas Paine); edit_set (Address,234 Willow Drive); edit_set (Date, 12/12/03); list_select_item (Make, BMW); button_press (Insert Sale); edit_set (Model, 2002tii); edit_set (Year, 1973);.WinRunner自動(dòng)化測(cè)試過(guò)程 生成自動(dòng)
19、測(cè)試腳本1參與檢查點(diǎn)執(zhí)行測(cè)試3參與同步點(diǎn)24參與同步點(diǎn)1. 與被測(cè)運(yùn)用堅(jiān)持同步2. 參與同步點(diǎn).什么是同步點(diǎn) Definition:腳本中的一行程序,目的是等待用戶運(yùn)用的一個(gè)確定的呼應(yīng),之后繼續(xù)腳本的運(yùn)轉(zhuǎn)。.Client/Server處置單個(gè)用戶懇求 Server呼應(yīng)時(shí)間Database Server.Client/Server處置幾個(gè)用戶懇求 Server呼應(yīng)時(shí)間Database Server.Client/Server處置多個(gè)用戶懇求 Server呼應(yīng)時(shí)間Database Server.Client/Server處置呼應(yīng)時(shí)間例如 幾個(gè)用戶0.61多個(gè)用戶1.00單個(gè)用戶0.33呼應(yīng)時(shí)間.為
20、什么參與同步點(diǎn) 不加同步點(diǎn)加同步點(diǎn)發(fā)送數(shù)據(jù)到數(shù)據(jù)庫(kù)效力器輸入數(shù)據(jù)到被測(cè)軟件接受輸入數(shù)據(jù)Run scriptScriptAUT發(fā)送數(shù)據(jù)到數(shù)據(jù)庫(kù)效力器試圖執(zhí)行下一步繼續(xù)執(zhí)行客戶端確認(rèn)傳送完成輸入數(shù)據(jù)到被測(cè)軟件接受輸入數(shù)據(jù)ScriptAUTRun script等待效力器處置數(shù)據(jù)效力器前往結(jié)果Synchronization point等待效力器呼應(yīng),不能繼續(xù)腳本錯(cuò)誤中止.確定同步類型 等待一個(gè)窗口出現(xiàn)窗口沒(méi)有可視的提示,只是等待一段時(shí)間延時(shí)等待一個(gè)圖片的刷新位圖等待一個(gè)對(duì)象的形狀對(duì)象形狀.WinRunner自動(dòng)化測(cè)試過(guò)程 1. 檢查點(diǎn)引見(jiàn)2. GUI檢查點(diǎn)3. 位圖檢查點(diǎn)4. 數(shù)據(jù)庫(kù)檢查點(diǎn)生成自動(dòng)測(cè)試
21、腳本1參與檢查點(diǎn)執(zhí)行測(cè)試3參與同步點(diǎn)24參與檢查點(diǎn).什么是檢查點(diǎn) Definition:WinRunner腳本中的語(yǔ)句,可以比較預(yù)期結(jié)果和實(shí)踐結(jié)果并且報(bào)告比較結(jié)果。.WinRunner中的檢查點(diǎn)GUI對(duì)象檢查數(shù)據(jù)庫(kù)檢查圖片檢查文本檢查.WinRunner檢查點(diǎn)的創(chuàng)建和執(zhí)行 WinRunner比較實(shí)踐的結(jié)果和等待的結(jié)果3WinRunner在回放腳本時(shí)捕獲到一個(gè)真正的結(jié)果21WinRunner在錄制的腳本里面儲(chǔ)存了一個(gè)等待的結(jié)果WinRunner報(bào)告結(jié)果里面包含比較的結(jié)果是PASS還是FAIL4.GUI對(duì)象檢查點(diǎn) 窗口的大小能否是正確的大???OK按鈕能否是enabled形狀?文本框的信息是什么?檢
22、查GUI對(duì)象的形狀或?qū)傩?數(shù)據(jù)庫(kù)檢查點(diǎn) 檢查數(shù)據(jù)庫(kù)的內(nèi)容和大小即時(shí)的驗(yàn)證與數(shù)據(jù)庫(kù)相連的買賣.圖片檢查點(diǎn) 經(jīng)過(guò)捕捉圖象來(lái)檢查軟件的非GUI對(duì)象區(qū)域 捕捉窗口,對(duì)象或屏幕的一個(gè)區(qū)域的圖象.文本檢查點(diǎn) 讀取和檢查圖片區(qū)域或者非GUI方式的用戶界面的文本信息(比如ASCII).WinRunner預(yù)期與實(shí)踐比較 檢查經(jīng)過(guò)檢查未經(jīng)過(guò)不匹配的內(nèi)容.WinRunner自動(dòng)化測(cè)試過(guò)程 1. 預(yù)備數(shù)據(jù)驅(qū)動(dòng)的數(shù)據(jù) 2. 運(yùn)轉(zhuǎn)測(cè)試并查看結(jié)果執(zhí)行測(cè)試生成自動(dòng)測(cè)試腳本1參與檢查點(diǎn)執(zhí)行測(cè)試3參與同步點(diǎn)24.數(shù)據(jù)驅(qū)動(dòng)測(cè)試invoke_application(“flight1a.exe,C:,SW_SHOW);set_wind
23、ow (Login, 10);edit_set (userid, “Josephine);edit_set (password, Mercury);button_press (OK);set_window (Flight Reservation, 10);win_check_gui(Flight Reservation, list1.ckl, gui1, 1);menu_select_item (File;Exit);測(cè)試腳本“JosephineHighlight the hard coded value.數(shù)據(jù)驅(qū)動(dòng)測(cè)試invoke_application(“flight1a.exe,C:,SW
24、_SHOW);set_window (Login, 10);edit_set (userid, “Josephine);edit_set (password, Mercury);button_press (OK);set_window (Flight Reservation, 10);win_check_gui(Flight Reservation, list1.ckl, gui1, 1);menu_select_item (File;Exit);測(cè)試腳本“JosephineHighlight the hard coded valueAssign the value a parameter n
25、ame.數(shù)據(jù)驅(qū)動(dòng)測(cè)試invoke_application(“flight1a.exe,C:,SW_SHOW);set_window (Login, 10);edit_set (userid, ddt_val (table, “UserName);edit_set (password, Mercury);button_press (OK);set_window (Flight Reservation, 10);win_check_gui(Flight Reservation, list1.ckl, gui1, 1);menu_select_item (File;Exit);測(cè)試腳本Highlig
26、ht the hard coded valueAssign the value a parameter nameA function is inserted which retrieves the value from the data table.數(shù)據(jù)驅(qū)動(dòng)測(cè)試Repeat for all other valuesHighlight the hard coded valueAssign the value a parameter nameA function is inserted which retrieves the value from the data tableinvoke_appl
27、ication(“flight1a.exe,C:,SW_SHOW);set_window (Login, 10);edit_set (userid, ddt_val (table, “UserName);edit_set (password, ddt_val (table “Password);button_press (OK);set_window (Flight Reservation, 10);win_check_gui(Flight Reservation, list1.ckl, gui1, 1);menu_select_item (File;Exit);測(cè)試腳本.數(shù)據(jù)驅(qū)動(dòng)測(cè)試 tab
28、le = getvar (testname)&default.xls;ddt_open ( table );doinvoke_application(“flight1a.exe,C:,SW_SHOW);set_window (Login, 10);edit_set (userid, ddt_val (table, “UserID);edit_set (password, ddt_val (table “Password);button_press (OK);set_window (Flight Reservation, 10);win_check_gui(Flight Reservation,
29、 list1.ckl, gui1, 1);menu_select_item (File;Exit);while (ddt_next_row(table)=E_OK);ddt_close (table);測(cè)試腳本.自動(dòng)化測(cè)試過(guò)程 自動(dòng)記錄業(yè)務(wù)操作生成測(cè)試腳本優(yōu)化測(cè)試腳本生成可反復(fù)執(zhí)行的測(cè)試程序修正運(yùn)用之后再進(jìn)展測(cè)試執(zhí)行數(shù)據(jù)驅(qū)動(dòng)的測(cè)試報(bào)告測(cè)試結(jié)果自動(dòng)化測(cè)試腳本的革新回 歸 測(cè) 試.WinRunner的特點(diǎn) GUI Map 數(shù)據(jù)驅(qū)動(dòng)測(cè)試數(shù)據(jù)庫(kù)檢查點(diǎn)虛擬對(duì)象生成器外部函數(shù)接口函數(shù)管理器 記錄方式 測(cè)試分級(jí) 腳本調(diào)試工具 同步點(diǎn) 與其他工具集成 支持多種運(yùn)用.WinRunner如何建立腳本GUIMapJ
30、ohnset_window(Login, 10);edit_set (Name, John);錄制過(guò)程.WinRunner如何回放腳本GUIMapJohnset_window(Login, 10);edit_set (Name, John);回放過(guò)程.set_window (Save As, 1);button_press (OK);測(cè)試腳本W(wǎng)inRunner錄制演示運(yùn)用程序GUI Map Logical Physical class: window, MSW_id: 3277 label: Save As class: push_button, label: OKSave As OK.set
31、_window (Save As, 1);button_press (OK);測(cè)試腳本W(wǎng)inRunner回放演示 Save As運(yùn)用程序GUI Map Logical Physical class: window, MSW_id: 3277 label: Save As class: push_button, label: OKSave As OK.set_window(Automobile Purchase Form, 10);edit_set (Address,234 Willow Drive);edit_set (Customer Name, Thomas Paine);OptionsC
32、lass: WindowLabel: WindowDealer NameClass: Editlabel: DealerNameAddressClass: WindowLabel: AddressLoginClass: WindowLabel: LoginAutomobile Purchase FormClass: WindowLabel: APFCustomer NameClass: Editlabel: CustomerNameMakeClass: WindowLabel: Make邏輯稱號(hào)與物理稱號(hào)的映射邏輯稱號(hào)物理描畫測(cè)試腳本GUI MAP運(yùn)用程序.窗口邏輯稱號(hào)對(duì)象邏輯稱號(hào)上面被選擇的
33、窗口或者對(duì)象的物理描畫GUI Map Editor樹(shù)狀構(gòu)造顯示GUI Map文件中所包含的窗口和對(duì)象第一層是運(yùn)用程序中的一切窗口第二層是窗口中一切的對(duì)象.WinRunner的優(yōu)勢(shì)提高效率節(jié)約資源提高運(yùn)用的質(zhì)量減少人為錯(cuò)誤易于管理和操作缺點(diǎn)分析及跟蹤可重用性.測(cè)試用例設(shè)計(jì)邊境值分析法等價(jià)類法決策表法因果圖法正交法.函數(shù)測(cè)試邊境值分析邊境值測(cè)試的根本原理: 錯(cuò)誤更能夠出如今輸入變量的極值附近.失效極少由兩個(gè)或多個(gè)缺陷的同時(shí)發(fā)生引起的。Min、min、nom、max-和max。.邊境值測(cè)試 假設(shè)函數(shù)F實(shí)現(xiàn)了一個(gè)程序,那么輸入兩個(gè)變量x1 和 x2會(huì)有一些邊境: a x1 b c x2 d區(qū)間a,b和
34、c,d是x1 和 x2的值域。.邊境值分析adcbx2x1.邊境值分析adcbx1x2.邊境值分析邊境的數(shù)據(jù)類型能夠是:數(shù)值 速度字符 地址位置 尺寸數(shù)量.邊境值分析邊境值類型的描畫:第一個(gè)/最后一個(gè) 最小值/最大值開(kāi)場(chǎng)/完成 超越/在內(nèi)空/滿 最短/最長(zhǎng)最大/最小 最高/最低相鄰/最遠(yuǎn).次邊境值分析次邊境條件: 有些邊境條件在軟件內(nèi)部,最終用戶幾乎看不到,但是軟件測(cè)試仍有必要檢查。這樣的邊境條件稱為次邊境條件或者內(nèi)部邊境條件。如2的乘方和ASC。.軟件中的2的乘方術(shù)語(yǔ)范圍或值位0或1雙位0-15字節(jié)0-255字0-65,535千1,024兆1,048,576十億1,073,741,824萬(wàn)億
35、1,009,511,627,776.部分的ASC制表字符ASC值字符ASC值Null0B66Space32Y89/47Z900489114996250a 97957b 98:58y 12164z 122A65123.邊境值分析邊境值分析的特點(diǎn)和局限性對(duì)于一個(gè)n變量函數(shù),邊境值分析會(huì)產(chǎn)生4n1個(gè)測(cè)試用例。邊境值的取值取決于變量本身的性質(zhì)。邊境值分析對(duì)布爾變量沒(méi)有什么意義。邊境值分析假設(shè)變量是完全獨(dú)立的。.強(qiáng)壯性測(cè)試強(qiáng)壯性測(cè)試是邊境值分析的一種簡(jiǎn)單擴(kuò)展adcbx1x2.最壞情況測(cè)試最壞情況測(cè)試用例adcbx1x2.強(qiáng)壯最壞情況測(cè)試強(qiáng)壯最壞情況測(cè)試用例adcbx1x2.邊境值測(cè)試 -練習(xí)1、寫出三角
36、形問(wèn)題的邊境值分析測(cè)試用例2、寫出NextDate函數(shù)的最壞情況測(cè)試用例.傭金問(wèn)題的邊境值測(cè)試用例.傭金問(wèn)題的邊境值測(cè)試用例寫出傭金問(wèn)題的輸出邊境值分析測(cè)試用例.傭金問(wèn)題的測(cè)試用例用例槍機(jī)槍托槍管銷售額傭金注釋111110010輸出最小值211212512.5輸出略大于最小值312113013輸出略大于最小值421114514.5輸出略大于最小值555550050中點(diǎn)61010997597.5略低于邊界點(diǎn)71091097097略低于邊界點(diǎn)89101095595.5略低于邊界點(diǎn)91010101000100邊界點(diǎn)101010111025103.75略高于邊界點(diǎn)111011101030104.5略高
37、于邊界點(diǎn)121110101045106.75略高于邊界點(diǎn)131414141400160中點(diǎn).傭金問(wèn)題的測(cè)試用例用例槍機(jī)槍托槍管銷售額傭金注釋141818171775216.25略低于邊界點(diǎn)151817181770215.5略低于邊界點(diǎn)161718181755213.25略低于邊界點(diǎn)171818181800220邊界點(diǎn)181818191825225略高于邊界點(diǎn)191819181830226略高于邊界點(diǎn)201918181845229略高于邊界點(diǎn)214848484800820中點(diǎn)2270808977751415輸出略小于最大值2370799077701414輸出略小于最大值2469809077551
38、411輸出略小于最大值2570809078001420輸出最大值.思索題測(cè)試向共享打印機(jī)發(fā)送文件能否勝利?.邊境值測(cè)試的小結(jié)這類測(cè)試方法是基于一種假設(shè):輸入的變量是真正獨(dú)立的。這些方法的區(qū)別是:正常值與強(qiáng)壯值;單缺陷與多缺陷。.分類技術(shù)等價(jià)類測(cè)試 等價(jià)分配:是指分步驟地把過(guò)多無(wú)限的測(cè)試案例減小到同樣有效的小范圍的過(guò)程。等價(jià)類別或者等價(jià)區(qū)間是指測(cè)試一樣目的或者暴露一樣軟件缺陷的一組測(cè)試。在尋覓等價(jià)區(qū)間時(shí),想方法把軟件的類似輸入、輸出、操作分成組。這些組是等價(jià)區(qū)間。.等價(jià)類測(cè)試弱普通等價(jià)類測(cè)試用例agedx1x2fbc.等價(jià)類測(cè)試強(qiáng)普通等價(jià)類測(cè)試用例agedx1x2fbc.等價(jià)類測(cè)試弱強(qiáng)壯等價(jià)類測(cè)
39、試用例agedx1x2fbc.等價(jià)類測(cè)試強(qiáng)強(qiáng)壯等價(jià)類測(cè)試用例agedx1x2fbc.練習(xí)寫出三角形問(wèn)題的輸入等價(jià)類和輸出等價(jià)類寫出NextDate函數(shù)的輸入等價(jià)類Windows文件名可以包含除了、/:*?“。文件名長(zhǎng)度是1-255個(gè)字符。寫出文件名創(chuàng)建測(cè)試用例如何確定從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)的等價(jià)類? .練習(xí) 給出一個(gè)輸出集合等價(jià)類劃分的例子。假設(shè)一個(gè)銷售書(shū)籍的獎(jiǎng)勵(lì)系統(tǒng),銷售三種軟件工程類書(shū)籍,每本書(shū)的單價(jià)不同,每本25元;每本30元;每本40元。每月銷售額不到含500元的部分獎(jiǎng)勵(lì)10%,500不含到700元含元的部分為15%,超越7000元的部分為20%。該系統(tǒng)生成月份銷售報(bào)告,匯總售出的各類書(shū)籍的
40、總數(shù),總銷售額以及獎(jiǎng)金。.三角形問(wèn)題弱強(qiáng)普通等價(jià)類測(cè)試用例測(cè)試用例abc預(yù)期輸出1555等邊三角形2223等腰三角形3345不等邊三角形4412非三角形.三角形問(wèn)題弱強(qiáng)壯等價(jià)類測(cè)試用例測(cè)試用例abc預(yù)期輸出1-155a取值不在所允許的取值范圍內(nèi)25-15b取值不在所允許的取值范圍內(nèi)355-1c 取值不在所允許的取值范圍內(nèi)420155a取值不在所允許的取值范圍內(nèi)552015b取值不在所允許的取值范圍內(nèi)655201c取值不在所允許的取值范圍內(nèi).三角形問(wèn)題強(qiáng)強(qiáng)壯等價(jià)類測(cè)試用例測(cè)試用例abc預(yù)期輸出1-155a取值不在所允許的取值范圍內(nèi)25-15b取值不在所允許的取值范圍內(nèi)355-1c 取值不在所允許
41、的取值范圍內(nèi)4-1-15a、b取值不在所允許的取值范圍內(nèi)55-1-1b、c取值不在所允許的取值范圍內(nèi)6-15-1c、a取值不在所允許的取值范圍內(nèi)7-1-1-1a、b、c取值不在所允許的取值范圍內(nèi).等價(jià)類測(cè)試的小結(jié) 等價(jià)類測(cè)試的弱方式不如對(duì)應(yīng)的強(qiáng)方式的測(cè)試全面。假設(shè)錯(cuò)誤條件非常重要,那么進(jìn)展強(qiáng)壯性的測(cè)試是適宜的。假設(shè)輸入數(shù)據(jù)以離散值區(qū)間和集合定義,那么等價(jià)類測(cè)試是適宜的。在發(fā)現(xiàn)適宜的等價(jià)類關(guān)系之前,能夠需求進(jìn)展多次嘗試。.基于決策表的測(cè)試在一切功能測(cè)試方法中,基于決策表的測(cè)試方法是最嚴(yán)厲的,由于決策表具有邏輯嚴(yán)厲性。 決策表很適宜描畫不同條件集合下采取行動(dòng)的假設(shè)干組合的情況。 .決策表斷定表 條
42、件樁 條件項(xiàng) 動(dòng)作樁 動(dòng)作項(xiàng)規(guī)那么.決策表的組成條件樁:列出了問(wèn)題的一切條件。動(dòng)作樁:列出了問(wèn)題規(guī)定能夠采取的操作。條件項(xiàng):列出針對(duì)它所列條件的取值,在一切能夠情況下的真假值。動(dòng)作項(xiàng):列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作。規(guī)那么:任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作。在決策表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)那么。.決策表的建立 列出一切的條件樁和動(dòng)作樁;填入條件項(xiàng);填入動(dòng)作項(xiàng),制定初始斷定表;簡(jiǎn)化;合并類似規(guī)那么或者一樣動(dòng)作。.基于決策表的測(cè)試樁規(guī)那么1規(guī)那么2規(guī)那么3、4規(guī)那么5C1C2C3TTTTTFTFFTTA1A2A3XXXXXXX.基于決策表的測(cè)試樁1234567
43、89C1:a,b,c構(gòu)成三角形?C2: a=b?C3: a=c?C4: b=c?N-YYYYYYYNYYNYYYNNYNYYYNYNYNNYYNNNA1:非三角形A2:不等邊三角形A3:等腰三角形A4:等邊三角形A5:不能夠XXXXXXXXX.基于決策表的測(cè)試條件1-456789C1C2C3T-FTTFTFFFTFFFTFFA1A2A3X-XXX-XXX-XX-XX-X.基于決策表的測(cè)試條件1-456789C1C2C3T-FTTFTFFFTFFFTFFA1A2A3X-XXX-XXX-XX-X-X-.基于決策表的測(cè)試M1=月份:每月有30天;M2=月份:每月有31天;M3=月份:此月是2月;D1
44、=日期:1日期28;D2=日期:日期=29;D3=日期:日期=30;D4=日期:日期=31;Y1=年:年是閏年;Y2=年:年不是閏年。.基于決策表的測(cè)試條件C1:月份在M1中?C2: 月份在M2中?C3: 月份在M3中?C4:日期在D1中?C5: 日期在D2中?C6: 日期在D3中?C7: 日期在D4中?C8:年在Y1中?TTTA1:不能夠A2: NextDate.基于決策表的測(cè)試M1=月份:每月有30天;M2=月份:每月有31天;M3=月份:此月是2月;D1=日期:1日期28;D2=日期:日期=29;D3=日期:日期=30;D4=日期:日期=31;Y1=年:年=2000;Y2=年:年是閏年;
45、Y3=年:年是平年。.基于決策表的測(cè)試12345678C1:月份在C2:日期在C3:年在規(guī)那么條數(shù)統(tǒng)計(jì)M1D1-3M1D2-3M1D3-3M1D4-3M2D1-3M2D2-3M2D3-3M2D4-3A1:不能夠A2:日期增1A3:日期復(fù)位A4:月份增1A5:月份復(fù)位A6:年增1XXXXXXXXX??.基于決策表的測(cè)試91011121314151617C1:月份在C2:日期在C3:年在規(guī)那么條數(shù)統(tǒng)計(jì)M3D1Y11M3D1Y21M3D1Y31M3D2Y11M3D2Y21M3D2Y31M3D3-3M3D3-3M3D4-3A1:不能夠A2:日期增1A3:日期復(fù)位A4:月份增1A5:月份復(fù)位A6:年增1
46、XXXXXXXXXXXX.基于決策表的測(cè)試M1=月份:每月有30天;M2=月份:每月有31天,12月除外;M3=月份:此月是12月;M4=月份:此月是2月;D1=日期:1日期27;D2=日期:日期=28;D3=日期:日期=29D4=日期:日期=30;D5=日期:日期=31;Y1=年:年是閏年;Y2=年:年不是閏年。.基于決策表的測(cè)試12345678910C1:月份在C2:日期在C3:年在M1D1-M1D2-M1D3-M1D4-M1D5-M2D1-M2D2-M2D3-M2D4-M2D5-A1:不能夠A2:日期增1A3:日期復(fù)位A4:月份增1A5:月份復(fù)位A6:年增1XXXXXXXXXXXX.基于
47、決策表的測(cè)試111213141516171819202122C1:月份在C2:日期在C3:年在M3D1-M3D2M3D3M3D4M3D5-M4D1-M4D2Y1M4D2Y2M4D3Y1M4D3Y2M4D4-M4D5-A1:不能夠A2:日期增1A3:日期復(fù)位A4:月份增1A5:月份復(fù)位A6:年增1XXXXXXXXXXXXXXXX.基于決策表的測(cè)試1-3456-910C1:月份在C2:日期在C3:年在M1D1-D3-M1D4-M1D5-M2D1-D4-M2D5-A1:不能夠A2:日期增1A3:日期復(fù)位A4:月份增1A5:月份復(fù)位A6:年增1XXXXXXX.基于決策表的測(cè)試11-1415161718
48、192021-22C1:月份在C2:日期在C3:年在M3D1-D4-M3D5-M4D1-M4D2Y1M4D2Y2M4D3Y1M4D3Y2M4D4-D5-A1:不能夠A2:日期增1A3:日期復(fù)位A4:月份增1A5:月份復(fù)位A6:年增1XXXXXXXXXXXX.基于決策表的測(cè)試寫出NextDate函數(shù)的決策表測(cè)試用例.基于決策表的測(cè)試的小結(jié) 決策表技術(shù)適用于具有以下特征的運(yùn)用程序:If-then-else邏輯很突出條件和規(guī)那么的順序不影響執(zhí)行哪些操作。輸入變量之間存在邏輯關(guān)系。涉及輸入變量子集的計(jì)算。輸入與輸出之間存在因果關(guān)系。很高的圈復(fù)雜度。迭代會(huì)有所協(xié)助,第一次不見(jiàn)得會(huì)勝利。.因果圖因果圖是從
49、用自然言語(yǔ)書(shū)寫的程序規(guī)格闡明的描畫中找到因輸入條件和果輸出或程序形狀的改動(dòng),經(jīng)過(guò)因果圖轉(zhuǎn)化為判別表。.因果圖的根本邏輯符號(hào).因果圖的約束符號(hào).因果圖產(chǎn)生測(cè)試用例的步驟把程序的規(guī)格劃分解成可以任務(wù)的片斷;確定規(guī)格中的緣由和結(jié)果;分析規(guī)格以確定緣由和結(jié)果之間的邏輯關(guān)系,并且運(yùn)用因果圖表示出來(lái);確定句法或環(huán)境的約束,這些約束使得某些組合不能產(chǎn)生;把因果圖轉(zhuǎn)化成有限入口決策表;從決策表的每一列選取一個(gè)測(cè)試用例。.因果圖案例第一列字符必需或,第二列字符必需是數(shù)字,在此情況下文件被更新。但假設(shè)第一個(gè)字符不正確,那么信息被產(chǎn)生;假設(shè)第二個(gè)字符不是數(shù)字,那么信息產(chǎn)生。.案例分析緣由:第一個(gè)字符是“第一個(gè)字符是“第二個(gè)字符是一個(gè)數(shù)字結(jié)果:進(jìn)展更新產(chǎn)生信息產(chǎn)生信息.簡(jiǎn)單的因果圖.帶有約束的因果圖.決策表.練習(xí) 有一個(gè)處置單價(jià)為1元5角錢的盒裝飲料的自動(dòng)售貨機(jī)軟件。假設(shè)投入1元5角硬幣,按下“可樂(lè)、“雪碧和 “紅茶按鈕,相應(yīng)的飲料就送出來(lái)。假設(shè)投入的是兩元硬幣,在送出飲料的同時(shí)退還角硬幣。練習(xí):做出因果圖,編制出決策表.練習(xí)因果圖.練習(xí)決策表.因果圖小
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 黃石2025年湖北黃石港區(qū)招聘義務(wù)教育教師55人筆試歷年參考題庫(kù)附帶答案詳解
- 長(zhǎng)沙2025年湖南長(zhǎng)沙市兒童福利院編外合同制人員招聘筆試歷年參考題庫(kù)附帶答案詳解
- 連云港2025年江蘇連云港東??h公安局招聘警務(wù)輔助人員76人筆試歷年參考題庫(kù)附帶答案詳解
- 蘇州江蘇蘇州高新區(qū)獅山橫塘街道招聘工作人員29人筆試歷年參考題庫(kù)附帶答案詳解
- 鹽城2025年江蘇鹽城市農(nóng)業(yè)農(nóng)村局部分直屬事業(yè)單位招聘4人筆試歷年參考題庫(kù)附帶答案詳解
- 溫州2025年浙江溫州永嘉縣事業(yè)單位招聘73人筆試歷年參考題庫(kù)附帶答案詳解
- 江西2025年江西贛南師范大學(xué)家居現(xiàn)代產(chǎn)業(yè)學(xué)院招聘筆試歷年參考題庫(kù)附帶答案詳解
- 普洱2025年云南普洱市數(shù)據(jù)局招聘城鎮(zhèn)公益性崗位工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 成都2025年中共成都市新津區(qū)委黨校引進(jìn)高層次人才3人筆試歷年參考題庫(kù)附帶答案詳解
- 平頂山2025年河南平頂山市寶豐縣招聘高中教師30人筆試歷年參考題庫(kù)附帶答案詳解
- 局部晚期腫瘤免疫放療新策略
- 食品加工廠乳制品設(shè)備安裝方案
- 高考英語(yǔ)3500詞分類整合記憶手冊(cè)(含完整中文釋義)
- 魯教版(2024)五四制英語(yǔ)七年級(jí)上冊(cè)全冊(cè)綜合復(fù)習(xí)默寫 (含答案)
- 內(nèi)分泌科ICD編碼課件
- 中醫(yī)護(hù)理案例分享
- 骨密度檢測(cè)的臨床意義
- 2025年《外科學(xué)基礎(chǔ)》知識(shí)考試題庫(kù)及答案解析
- 食管良性腫瘤的護(hù)理
- 消防設(shè)施操作規(guī)程標(biāo)準(zhǔn)
- GB/T 3183-2025砌筑水泥
評(píng)論
0/150
提交評(píng)論