版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
陳翔博士xchencs@南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院軟件測試技術(shù)
工欲善其事,必先利其器9.1軟件測試自動化的內(nèi)涵9.2測試自動化實現(xiàn)原理9.3測試自動化的實施9.4功能測試工具9.5性能測試工具9.6缺陷跟蹤系統(tǒng)軟件測試自動化92/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院9.1軟件測試自動化的內(nèi)涵2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院4據(jù)統(tǒng)計:軟件測試占整個軟件開發(fā)時間的40%。一些可靠性要求高的軟件,軟件測試甚至占整個軟件開發(fā)時間的60%軟件測試工作具有一定重復(fù)性,例如回歸測試等上述因素驅(qū)動了軟件測試自動化技術(shù)的產(chǎn)生和發(fā)展手工測試的不足2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院5無法做到覆蓋所有可行代碼路徑,難以測定測試用例的覆蓋率難以捕捉與時序、死鎖、資源沖突和多線程等有關(guān)的錯誤在系統(tǒng)負載、性能測試時,需要模擬大量數(shù)據(jù)或大量并發(fā)用戶等大負載的應(yīng)用場合在系統(tǒng)做可靠性測試時,需要模擬系統(tǒng)運行很長時間,以驗證系統(tǒng)能否穩(wěn)定運行回歸測試中,希望能短時間內(nèi)執(zhí)行所有的測試用例測試僅能檢測出被測軟件存在缺陷,在一些關(guān)鍵性軟件中,需要考慮采用形式化驗證方法測試自動化定義2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院6把人為驅(qū)動的測試轉(zhuǎn)化為機器執(zhí)行的一種過程,既模擬手工測試步驟,通過執(zhí)行由程序語言編制的測試腳本,自動的完成軟件的單元測試、功能測試、負載測試或性能測試等工作由手工執(zhí)行測試用例轉(zhuǎn)為由測試工具自動執(zhí)行測試用例僅借助測試工具還不夠,還需要借助網(wǎng)絡(luò)通信環(huán)境、腳本語言、改進的開發(fā)流程等測試自動化2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院7軟件測試過程完全實現(xiàn)自動化,不需要任何的人工參與或干涉,這是不現(xiàn)實的但“全過程的自動化測試”思想是非常重要的自動化測試的含義可以理解為“一切可以由計算機系統(tǒng)自動完成的測試任務(wù)都已經(jīng)由計算機系統(tǒng)或軟件工具、程序來承擔(dān)并自動執(zhí)行”,它包括三層含義:“一切”不僅指測試執(zhí)行工作,還包括其他工作,如缺陷管理、測試用例管理、環(huán)境安裝、設(shè)置和維護等“可以”指某些創(chuàng)新性工作可能仍需手工處理,如腳本開發(fā)、測試用例設(shè)計等即使由系統(tǒng)進行自動化測試,還少不了人工干預(yù),包括實現(xiàn)安排自動化測試任務(wù)、測試結(jié)果分析、調(diào)試測試腳本等測試自動化的優(yōu)點2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院8自動運行的速度快、執(zhí)行效率高永不疲勞,每周可以工作7天,每天可以工作24小時測試結(jié)果精確可靠性高,不會數(shù)據(jù)造假可復(fù)用性高,例如測試用例復(fù)用有些手工測試無法完成的任務(wù),自動化測試可以完成,例如負載測試上述優(yōu)點給軟件測試帶來的益處2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院9縮短軟件開發(fā)測試周期提供更高質(zhì)量的產(chǎn)品軟件過程更為規(guī)范測試效率更高、充分利用硬件資源節(jié)省人力資源、降低測試成本增強測試的穩(wěn)定性和可靠性提高軟件測試的準確度和精確度手工不能完成的事情,軟件測試工具可以完成高昂的團隊士氣手工測試
發(fā)現(xiàn)缺陷率高容易實施創(chuàng)造性、靈活性
覆蓋率量化困難
重復(fù)測試效率低不一致性、可靠性低依賴人力資源
高效率(速度)高復(fù)用性覆蓋率容易度量準確、可靠不知疲勞激勵團隊士氣
機械、難以發(fā)現(xiàn)缺陷一次性投入大自動測試手工測試vs.自動測試正確認識測試自動化不現(xiàn)實的期望注定測試自動化的失敗測試自動化能:顯著降低重復(fù)手工測試的時間建立可靠、重復(fù)的測試,減少認為錯誤增強測試質(zhì)量和覆蓋率測試自動化不能:完全替代手工測試和手工測試工程師保證100%的測試覆蓋率彌補測試實踐的不足9.2測試自動化實現(xiàn)原理2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院12測試自動化實現(xiàn)基礎(chǔ)是可以通過特定程序(包括腳本、指令)模擬測試人員對計算機的操作過程及其行為,將操作過程轉(zhuǎn)化為測試工具可執(zhí)行的腳本;然后對腳本進行修改和優(yōu)化,加入測試的驗證點;最后通過測試工具運行腳本,將實際輸出與預(yù)期輸出進行比對,確定測試是否通過。包括:代碼分析對象識別腳本技術(shù)自動比較技術(shù)測試自動化系統(tǒng)的構(gòu)成自動化測試的流程舉例保存腳本記錄執(zhí)行Log驗證測試結(jié)果啟動應(yīng)用、執(zhí)行腳本調(diào)用腳本創(chuàng)建腳本錄制對象及其操作插入驗證點調(diào)試腳本啟動應(yīng)用測試報告代碼分析(1)2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院14最早進行代碼分析的工具是編譯器,但僅檢查被測代碼中是否語法錯誤。隨后一些工具可用于檢測出一些可疑代碼結(jié)構(gòu),例如貝爾實驗室的SteveJohnson開發(fā)出的代碼分析工具Lint例如將“==”寫成“=”,函數(shù)接口參數(shù)不一致問題等代碼分析(2)2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院15目前代碼分析工具通過插件的形式內(nèi)嵌到集成開發(fā)環(huán)境(IDE),例如針對Eclipse工具代碼規(guī)則或代碼風(fēng)格的檢查工具,例如Checkstyle、FindBugs、Jlint和PMD等檢查和移除冗余代碼的分析器,例如DuplicationManagementFramework對象識別2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院16目前存在兩種方式按照屏幕的實際像素坐標來定位。方法簡單,但生成的腳本可讀性差、維護性差、在不同分辨率下腳本可能不能運行通過尋找UI的對象(如窗口、按鈕、滾動條等)來確定操作的目標目前的主流方法。例如微軟的VisualStudio中就包含了spy++,可以用來識別各種windows的GUI對象可以通過WindowsAPI函數(shù)或者采用反射機制(Reflection)2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院17腳本技術(shù)2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院18腳本是一組測試工具執(zhí)行的指令集合腳本可以分為線性腳本結(jié)構(gòu)化腳本數(shù)據(jù)驅(qū)動腳本關(guān)鍵字驅(qū)動腳本線性腳本2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院19最簡單的腳本,以流水賬方式描述測試過程通過錄制手工執(zhí)行的測試用例得到的腳本包含所有的擊鍵、移動和輸入數(shù)據(jù)等也可加入一些簡單指令,如時間等待、比較指令等適合Web頁面測試、圖形用戶界面測試簡單示例2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院20結(jié)構(gòu)化腳本2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院21對線性腳本的加工,類似于結(jié)構(gòu)化設(shè)計的程序,是腳本優(yōu)化的必然途徑之一包含選擇結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等簡單示例2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院22數(shù)據(jù)驅(qū)動腳本2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院23將測試腳本和數(shù)據(jù)分隔開來提高腳本的使用效率和可維護性簡單示例2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院24另外一個例子2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院25關(guān)鍵字驅(qū)動腳本2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院26腳本用一個簡單的表格來表示是數(shù)據(jù)驅(qū)動腳本的邏輯拓展可以提高腳本編寫的效率,提高腳本的維護效率每個測試人員都可以寫這類腳本命令對象值注釋自動比較技術(shù)2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院27自動執(zhí)行測試腳本時,將捕獲的結(jié)果和預(yù)先準備的輸出進行比較,判斷測試用例是否通過精確比較設(shè)定閾值,允許存在微小的差異測試自動化系統(tǒng)的構(gòu)成(1)2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院28簡單的情況在單臺測試機器上運行測試工具,由這臺機器執(zhí)行測試用例、顯示測試過程和記錄測試結(jié)果但在大規(guī)模的自動化測試過程中需要多臺機器協(xié)助工作,還需要調(diào)度、控制這些測試機器、需要特定的服務(wù)器用于存儲和管理測試任務(wù)、測試腳本和測試結(jié)果測試自動化系統(tǒng)的構(gòu)成(2)2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院29測試自動化的組成部分構(gòu)建、存放程序軟件包和測試軟件包的文件服務(wù)器存儲測試用例和測試結(jié)果的數(shù)據(jù)庫服務(wù)器執(zhí)行測試的運行環(huán)境——測試實驗室或一組測試服務(wù)器控制服務(wù)器Web服務(wù)器客戶端程序測試自動化的基本結(jié)構(gòu)機房客戶端文件服務(wù)器數(shù)據(jù)庫服務(wù)器Web服務(wù)器控制程序拷貝測試文件拷貝測試結(jié)果分派工作分派工作查詢結(jié)果Build系統(tǒng)編譯獲取測試任務(wù)、數(shù)據(jù)更新顯示軟件包發(fā)布指令9.3測試自動化的實施2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院311、測試工具的分類2、測試工具的選擇3、測試自動化普遍存在的問題測試工具的分類2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院32白盒測試工具靜態(tài)測試工具:直接對代碼進行分析包括Compuware公司的CodeReview、Telelogic公司的Logiscope軟件、PR公司的PRQA軟件動態(tài)測試工具:需要運行被測軟件如Compuware公司的DevPartner軟件、IBM公司的RationalPurify系列黑盒測試工具通過記錄/回放方式HP公司的QuickTestProfessional、IBM的RationalFunctionaltester、Parasoft公司的WebKing、Segue公司的SilkTest等測試工具的選擇2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院33根據(jù)項目測試需要,確定需要哪一類軟件白盒測試工具Vs黑盒測試工具功能性測試工具Vs負載測試工具一旦確定軟件類型如果是開源工具,下載并試用一段時間如果是商業(yè)工具,邀請商家過來做演示,然后根據(jù)演示效果、價格、功能和售后服務(wù)進行綜合評估測試自動化普遍存在的問題2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院34不正確的觀念或不現(xiàn)實的期望缺乏具有良好素質(zhì)、經(jīng)驗的測試人才測試工具本身的問題影響測試質(zhì)量沒有進行有效的、充分的培訓(xùn)沒有考慮到公司的實際情況,盲目引入測試工具沒有形成一個良好的使用測試工具的環(huán)境其他技術(shù)問題和組織問題9.4功能測試工具2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院35Selenium及其應(yīng)用Selenium及其應(yīng)用適合Web應(yīng)用的測試,可直接運行在瀏覽器之上,所見即所得跨平臺,支持多操作系統(tǒng)和多種瀏覽器支持分布式應(yīng)用的測試,構(gòu)造一個完整的解決方案支持兩種開發(fā)腳本的模式testrunner(HTML文件)和driven(腳本語言編寫支持多種腳本語言,包括Java、C#、PHP、Perl、Python和Ruby等IDE界面操作演示
錄制測試腳本執(zhí)行測試腳本測試結(jié)果Testrunnervs.驅(qū)動模式腳本HTML表格方式關(guān)鍵字驅(qū)動腳本Java/C#/…強大、靈活與xUnit集成Selenium測試用例開發(fā)
主文件:TestRunner.html/TestRunner.htaTestsuite/case文件引擎庫js文件
user-extensions.jsSelenium執(zhí)行模式9.5性能測試工具JMeter及其應(yīng)用2023/2/742JMeter-2JMeter-3性能測試工具的主要特性能模擬實際用戶的操作行為,記錄和回放多用戶測試中的事務(wù)處理過程,自動生成相應(yīng)的測試腳本能針對腳本進行修改,增加邏輯控制、完成參數(shù)化和數(shù)據(jù)關(guān)聯(lián)可以設(shè)置不同的應(yīng)用環(huán)境和場景,通過虛擬用戶執(zhí)行相應(yīng)的測試腳本通過系統(tǒng)監(jiān)控工具獲得系統(tǒng)性能的相關(guān)指標的值開源工具Siege(/JoeDog/Siege)是一個開源的Web壓力測試和評測工具。OpenSTA,可以模擬大量的虛擬用戶來完成性能測試,并通過scrīpt來完成豐富的自定義設(shè)置。詳見/index.php。DBMonster是一個生成隨機數(shù)據(jù)、用來測試SQL數(shù)據(jù)庫的壓力測試工具,詳見http://dbmonster.kernelpanic.pl/。LoadSim——網(wǎng)絡(luò)應(yīng)用程序的負載模擬器。更多的性能測試工具,可訪問/performance.php
商業(yè)工具
HPLoadRunnerIBMRationalPerformanceTesterRadviewWebLoad
CompuwareQA
Load
QuestBenchmarkFactory
微軟WAS(WebAccessStresstest)
PaesslerWebserverStressTool
MINQPureLoad
9.6缺陷跟蹤系統(tǒng)2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院48缺陷報告、跟蹤和處理一般通過基于Web和數(shù)據(jù)庫的缺陷管理系統(tǒng)來支持,而不能簡單通過Word或Excel進行處理缺陷跟蹤系統(tǒng)的優(yōu)點2/7/2023南通大學(xué)計算機科學(xué)與技術(shù)學(xué)院49基于缺陷數(shù)
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度Logo設(shè)計及品牌形象重塑合同
- 家具供應(yīng)合同范本
- 2024簡單的農(nóng)村土地轉(zhuǎn)讓合同
- 二手房交易合同-范本
- 2024上市公司合同管理辦法
- 標準店面租賃合同書樣本
- 2024內(nèi)粉墻刷白合同
- 2024年借款延期合同范本
- 2024墻紙采購合同
- 2024小區(qū)綠化種植合同
- 消防安全培訓(xùn)內(nèi)容
- 2024年全國統(tǒng)考“營養(yǎng)師或營養(yǎng)指導(dǎo)員”相關(guān)知識考前試題庫與參考答案
- 2024CSCO結(jié)直腸癌診療指南解讀
- (正式版)QBT 2174-2024 不銹鋼廚具
- 監(jiān)控維修施工方案
- 是誰殺死了周日
- 國家開放大學(xué)《管理英語4》章節(jié)測試參考答案
- 混凝土早強劑檢驗報告(出廠)
- 超聲引導(dǎo)下腰椎部位的穿刺ppt課件
- 單相接地電容電流的計算、分析5.doc
- 霸權(quán)之后-第七章有限理性與自我利益的再界定
評論
0/150
提交評論