【正文】
用例的腳本編寫量。當(dāng)腳本錄制完畢時(shí),將臨時(shí)腳本文件的內(nèi)容寫入用戶指定腳本文件名的腳本文件中,并刪除臨時(shí)腳本文件 。 =。 =hwnd。) { if( amp。 amp。 //保存編輯窗口所屬的窗口標(biāo)題 if(strcmp(chrObjectClassName,Button)==0 ||strcmp(chrObjectClassName,Static)==0) { strcpy(chParentWindowText,chrObjectText)。 //獲取窗口標(biāo)題 GetClassName(hwnd,chrObjectClassName,256)。 private: HMODULE m_hDll。 } } ~CMouseHookDllCtrl() 蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 27 { if(m_hDll!=NULL) { FreeLibrary(m_hDll)。 class CMouseHookDllCtrl { public: CMouseHookDllCtrl(const char* pDllFileName): m_hDll(NULL),m_pfnInst(NULL),m_pfnUnst(NULL) { m_hDll=LoadLibrary(pDllFileName)。 ifndef _RECORDSCRIPT_H_ define _RECORDSCRIPT_H_ include //DLL 入口函數(shù) void InstallMouseHook(HWND hwndMainWindow)。 KeybdHookState=FALSE。 hMouseHook=NULL。 //安裝鼠標(biāo)鉤子函數(shù) hKeybdHook=SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeybdFunc, (HINSTANCE)hInstance,0)。 void InstallMouseHook(HWND hwndMainWindow) { hWindowHandle=hwndMainWindow。如圖 41 所示 , 主 界面 視圖主要為分為左右兩視圖,左邊為樹(shù)形 視圖,右邊為列表框視圖。這些功能與專業(yè)級(jí)編譯器和高級(jí)調(diào)試器集成在一起,共同提供了一致和有效的開(kāi)發(fā)體驗(yàn)。 Visual C++.NET 增強(qiáng)了開(kāi)發(fā)人員的能力 Visual C++.NET 為開(kāi)發(fā)人員提供了許多專業(yè)級(jí)功能,讓他們能夠?yàn)?Windows和 Web 創(chuàng)建功能非常強(qiáng)大的應(yīng)用程序和組件。 3. .NET 框架類庫(kù): Visual C++.NET 開(kāi)發(fā)人員還可以使用 框架類庫(kù)并利用強(qiáng)大的內(nèi)置功能 ——包括一組豐富的集合類、網(wǎng)絡(luò)支持、多線程支持、字符串和正則表達(dá)式類,以及對(duì) XML、 XML 架構(gòu)、 XML 命名空間、XSLT、 Xpath 和 SOAP 的廣泛支持。 C++屬性標(biāo)記的引入還減少了獨(dú)立接口定義語(yǔ)言 (IDL)模塊的需要。所謂屬性化編程,是指能夠使用 少量的代碼迅速地建立 COM 組件,在最新 Visual C++.NET 開(kāi)發(fā)環(huán)境中,還新增了一些屬性,這些屬性可以改變代碼的行為,甚至可以通過(guò)插入一些額外的代碼來(lái)完成一些基本的工作,例如 ActiveX 控件的執(zhí)行、類廠的創(chuàng)建以及數(shù)據(jù)庫(kù)命令的格式化處理等。 4. 增加了許多新的 MFC 用戶界面類,如 DHTML 對(duì)話框、增強(qiáng)圖像類CImage。它的最大特點(diǎn)就是能管理與工程相關(guān)蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 22 的多種類型的外部文件。 Visual C++ 開(kāi)發(fā)環(huán)境是平面化的界面,它除了具有和 Windows 窗口一樣的標(biāo)題欄、菜單欄、工具欄和狀態(tài)欄外,最主要的是還有不一樣的窗口區(qū)。 平臺(tái)提供創(chuàng)建 XML Web services 并將這些服務(wù)集成在一起之所需。 開(kāi)發(fā)工具 ——Visual C++.NET 當(dāng)模型初步建立后,就是實(shí)現(xiàn)的問(wèn)題。 蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 20 通過(guò)這個(gè)具體的應(yīng)用可以看出, UML 作為一種可 視化建模語(yǔ)言和標(biāo)準(zhǔn)的表達(dá)工具,可以幫助我們記錄和推進(jìn)分析和設(shè)計(jì)的過(guò)程,并且完成設(shè)計(jì)以后便于進(jìn)行回溯和交流。本狀態(tài)的動(dòng)作是“建立日志文件樹(shù)形分析器”,然后直接轉(zhuǎn)移到狀態(tài)圖的出口。本狀態(tài)的入口動(dòng)作是“查找定位對(duì)象”,也就是將鼠標(biāo)或光標(biāo)定位到目標(biāo)窗口上。本狀態(tài)的入口動(dòng)作是“讀取測(cè)試腳本內(nèi)容”?!?Tester”也可以通過(guò)選擇“操作”菜單的“日志”選項(xiàng)或單擊工具欄的“日志”按鈕執(zhí)行 OnLog()方法查看日志內(nèi)容。我們將對(duì) 回放腳本 建立 其 UML 順序圖。 動(dòng)態(tài)模型 自動(dòng)化測(cè)試工具的動(dòng)態(tài)模型采用 UML 的交互圖以及活動(dòng)圖和狀態(tài)圖來(lái)描述。 定義用例 使用 UML 用例圖來(lái)構(gòu)建自動(dòng)化測(cè)試工具的需求模型,如圖 31 所示。 對(duì)象交互模塊 當(dāng)用戶執(zhí)行回放任務(wù)時(shí),本自動(dòng)化測(cè)試工具會(huì)自動(dòng)查找定位窗口焦點(diǎn)坐標(biāo),并執(zhí)行測(cè)試腳本所描述的鼠標(biāo)和鍵盤操作。 本自動(dòng)化測(cè)試工具是針對(duì)測(cè)試工作的基本需求設(shè)計(jì)的,采用了面向?qū)ο蟮姆椒▽?shí) 現(xiàn),需要指出的是我們將要分析與設(shè)計(jì)的是一個(gè)利用測(cè)試腳本實(shí)現(xiàn)自動(dòng)化測(cè)試的 工具 ,所以具有很好的重用性。 自動(dòng)化測(cè)試簡(jiǎn)介 以前的測(cè)試采 用手工方法,測(cè)試內(nèi)容繁多,工作量大,容易造成疏漏。這些 都是在選用工具時(shí)要考慮到的因素。由此看來(lái),自動(dòng)化測(cè)試是有必要深入開(kāi)展的。設(shè)計(jì)模塊中的測(cè)試腳本從一個(gè)共同的起點(diǎn)開(kāi)始。 可編程 “你可以編寫復(fù)雜的測(cè)試腳本來(lái)找出應(yīng)用程序中隱藏的信息! ” 花在編寫復(fù)雜測(cè)試腳本的時(shí)間往往不會(huì)像手工測(cè)試中 “真實(shí)工作 ”的時(shí)間一樣被檢查。 可靠 “每次測(cè)試腳本在運(yùn)行時(shí)執(zhí)行相同的操作,因此減少了人為的錯(cuò)誤! ” 現(xiàn)在的技術(shù)只能識(shí)別那些已經(jīng)被編程的部分并進(jìn)行檢查。自動(dòng)化測(cè)試戰(zhàn)勝了消耗時(shí)間和測(cè)試深度之間的平衡。 第一次的自動(dòng)化測(cè)試項(xiàng)目將花 費(fèi) 比純粹 的 手工測(cè)試更多的時(shí)間。 7. 組織問(wèn)題。測(cè)試維護(hù)的開(kāi)銷打擊了測(cè)試自動(dòng)化的積極性,當(dāng)修改測(cè)試比手工重新測(cè)試更費(fèi)勁時(shí),測(cè)試自動(dòng)化將被丟棄。 3. 期望自動(dòng) 化 測(cè)試發(fā)現(xiàn)大量缺陷。人們都期望新工具可以解決目前遇到的所有問(wèn)題,可能會(huì)忽略取得持久效益所做的努力。 6. 增加軟件信任度。 4. 更好地利用資源。 2. 可以運(yùn)行更多更頻繁的測(cè)試。 自動(dòng)化測(cè)試工具特點(diǎn) 自動(dòng)化測(cè)試工具是第三方測(cè)試,最大的特點(diǎn)在于它的專業(yè)性、獨(dú)立性、客觀性和公正性。 突出特點(diǎn): 1. 具有行業(yè)領(lǐng)先的便于使用的特性,以及支持提前配置環(huán)境的功能,確保了快速的投資回報(bào)。為每一個(gè)重要軟件應(yīng)用和環(huán)境提供功能和回歸測(cè)試自動(dòng)化的行業(yè)最佳解決方案。 4. 執(zhí)行分布式功能測(cè)試 。其 GUI 方式的腳本錄制功能,有助于對(duì) GUI 軟件進(jìn)行功能測(cè)試;其 VU 方式的腳本錄制功能,有助于測(cè)試某些軟件的數(shù)據(jù)通訊功能。 下面介紹幾種目前 市場(chǎng)上 的 主流 的 黑盒測(cè)試工具,其中具有代表性的 是 Rational Robot 和QuickTest Professional。 5. 根據(jù)測(cè)試需求,有針對(duì)性。 自動(dòng)化測(cè)試工具設(shè)計(jì)的一般原則 1. 使最重復(fù)性的任務(wù)實(shí)現(xiàn)自動(dòng)化。 論文結(jié)構(gòu) 全文 共分為五章。此外,在很多項(xiàng)目中,測(cè)試人員的所有任務(wù)實(shí) 際上都是手動(dòng)處理的,而實(shí)際上,有很大一部分重復(fù)性強(qiáng)的測(cè)試工作,是可以獨(dú)立開(kāi)來(lái)自動(dòng)實(shí)現(xiàn)的。一個(gè)測(cè)試管理的流程,取決于相對(duì)穩(wěn)定的需求。 從目前的測(cè)試工具來(lái)看,以國(guó)外品牌居多,選擇測(cè)試工具當(dāng)然也要根據(jù)自己的需求 。 開(kāi)發(fā)背景 軟件必須通過(guò)測(cè)試才能確保其在應(yīng)用環(huán)境中正常工作。它分為錄制模塊、腳本模塊、對(duì)象交互模塊和日志模塊,同時(shí)程序的執(zhí)行也是按照這個(gè)流程進(jìn)行。 我們開(kāi)發(fā)的自動(dòng)化測(cè)試 工具是一個(gè)用戶界面自動(dòng)化測(cè)試的工具。 關(guān)鍵詞 :自動(dòng)化測(cè)試 , 對(duì)象交互 , 錄制 , UML 蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 4 Abstract Test automation tools are developed mainly for actual software testing requirement. Compared to manual testing, proper use of test automation tools will result in lower workload, higher testing efficiency in finite period, and higher quality products. The test automation tool that we developed is a GUI test automation tool. It is made up of record module, script module, object interaction module and log module. This sequence is consistent with the process of running the program. Any more, object interaction module is an interior module, which links up script module and log module. So it shows no interface. According to the analyzing, we decide to use Microsoft Visual Studio .NET developing tool of Microsoft Corporation. We can make use of kinds of Object Oriented developing tools which is offered by .NET. Especially interface window, which can operate object conveniently and pactly. First, we will use UML to build the system’s architecture model of the test automation tool. And then we developed the tool with VC++.NET basing on the model, modifying and improving it continually to keep pace with users’ requirement. Keywords: Test automation, Object interaction, Record, UML Written by Zhu Yingwen Supervised by Zhang Guangquan 蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 5 第一章 前言 概述 軟件測(cè)試自動(dòng)化,已經(jīng)成為國(guó)內(nèi)軟件工程領(lǐng)域一個(gè)眾所周知的課題;不言而喻,軟件測(cè)試從業(yè)者都意識(shí)到軟件測(cè)試這項(xiàng)工作走向成熟化、標(biāo)準(zhǔn)化的一個(gè)必經(jīng)之路就是要實(shí)施自動(dòng)化測(cè)試。如今的軟件測(cè)試行情,正處在群雄逐鹿的混戰(zhàn)歲月,每個(gè)人、每個(gè)有測(cè)試部門或從事測(cè)試業(yè)務(wù)的企業(yè),都該多多借鑒國(guó)內(nèi)外先進(jìn)的測(cè)試經(jīng)驗(yàn),參考業(yè)界流行的行業(yè)標(biāo)準(zhǔn),找到適合自己團(tuán)隊(duì)的測(cè)試方法和模式, 同時(shí)開(kāi)發(fā)一些輔助測(cè)試的工具, 創(chuàng)造更大的社會(huì)價(jià)值。 開(kāi)發(fā)的現(xiàn)實(shí)意義 自動(dòng)化主要是指一個(gè)黑盒、自動(dòng)回放這樣一些東西,取決于一個(gè)很好的流程 。 蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 6 實(shí)施軟件測(cè)試自動(dòng)化的理由分析 : 首先,測(cè)試人員的工作比以往任何時(shí)候都更加困難,因?yàn)楣竞徒M織希望以更快的速度和更低的成本開(kāi)發(fā)出高質(zhì)量的應(yīng)用程序。 可以說(shuō),實(shí)施測(cè)試自動(dòng)化是軟件行業(yè)一個(gè)不可逆轉(zhuǎn)的趨勢(shì),如果在這個(gè)領(lǐng)域走在了前列,無(wú)論從企業(yè)的核心競(jìng)爭(zhēng)力還是個(gè)人的工作技能來(lái)說(shuō) ,都有巨大的優(yōu)越性 。 蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 7 第二章 自動(dòng)化測(cè)試工具的研究概述 自動(dòng)化測(cè)試工具基礎(chǔ) 自動(dòng)化測(cè)試依據(jù) 首先 , 要有良好定義的測(cè)試策略和測(cè)試計(jì)劃(知道要測(cè)試什么 以及 什么時(shí)候測(cè)試),對(duì)于自動(dòng)化測(cè)試 , 你要有一個(gè)能夠被識(shí)別的測(cè)試框架;其次是能夠確保多個(gè)測(cè)試運(yùn)行的構(gòu)建策略, 如果 多平臺(tái)環(huán)境需要被測(cè)試 , 必須 擁有運(yùn)行測(cè)試的硬件,并且擁有關(guān)注在自動(dòng)化過(guò)程上的資源;最后 , 被測(cè)試系統(tǒng)是可 以實(shí)施 自動(dòng)化測(cè)試的。 4. 編寫有意義的測(cè)試日志。我們知道大部分軟件產(chǎn)品都有必不可少的 人機(jī)交互界面 MMI,而且它的功能也基本上是通過(guò)人機(jī)交互操作來(lái)體現(xiàn)和完成的,所以我們可以說(shuō)軟件產(chǎn)品的 GUI 測(cè)試在整個(gè)產(chǎn)品測(cè)試中占有非常重要的地位。 IBM Rational Robot 是一種可擴(kuò)展的、靈活的功能測(cè)試工具, 通過(guò)編寫腳本的方式提供自動(dòng)化測(cè)試特性。 3. 自動(dòng) GUI 功能測(cè)試 。它自動(dòng)捕獲、驗(yàn)證和重放用戶的交互行為。點(diǎn)擊按鈕,您還能進(jìn)一步獲取任何未被包括在此測(cè)試范圍內(nèi)的錯(cuò)誤的詳盡資料。 4. 通過(guò)集成的數(shù)據(jù)表,可數(shù)據(jù)驅(qū)動(dòng)任意對(duì)象、方式、檢查點(diǎn)和輸出值等。 自動(dòng)化測(cè)試的優(yōu)點(diǎn) 1. 對(duì)程序的新版