




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、A.自動化測試的意義B.自動化測試的引入C.自動化測試的原理和方法D.自動化測試生存周期 軟件測試工作量很大(常占到40%的開發時間;一些可靠性要求非常高的軟件,甚至60%) 測試中的許多操作是重復性的、非智力性的和非創造性的,并要求做準確細致的工作,計算機就最適合于代替人工去完成這樣的任務。自動化測試自動化測試: :編寫軟件去測試其它軟件。編寫軟件去測試其它軟件。 編寫驅動被測試應用程序的測試腳本以執行編寫驅動被測試應用程序的測試腳本以執行鍵盤、鼠標動作和后臺進程并驗證應用程序響鍵盤、鼠標動作和后臺進程并驗證應用程序響應和行為。應和行為。 無法做到覆蓋所有代碼路徑 機械、重復,工作量大 許多
2、與時序、死鎖、資源沖突、多線程等有關的錯誤,通過手工測試很難捕捉到 進行負載、性能測試,很難通過手工測試模擬大量數據或大量并發用戶 可靠性測試時,常需要模擬系統運行10年、幾十年,以驗證穩定性,這也是手工測試無法做到的 如果有大量(幾千)的測試用例,需要在短時間內(1天)完成,手工測試幾乎不可能做到自動化測試的好處 良好的可操作性、可重復性和高效率等 縮短軟件開發測試周期,讓產品更快投放市場 測試效率高,充分利用硬件資源。可運行更多,更頻繁 節省人力資源,降低測試成本 增強測試的穩定性和可靠性 提高測試的準確度和精確度,增加軟件信任度 能做負載、性能測試等手工不能做的事情 可以選擇受影響測試集
3、,自動進行回歸測試 B. 自動化測試的引入 自動化測試有很多優點,但它只是測試工作的一部分,是對手工測試的一種補充。 自動化測試不可能完全代替手工測試在功能邏輯測試、適用性測試、涉及物理交互性測試時,多采用黑盒測試的手工測試方法單元測試、集成測試、負載測試、性能測試、穩定性測試、可靠性測試等較適合自動化 測試計劃制定基本靠人 一種測試工具不完全適用于所有測試 自動測試不一定減輕工作量 測試進度可能不一定縮短 測試工具不一定易于使用 測試覆蓋率不會達到100% 自動化測試很難普遍應用,一些軟件很難自動化測試,可測性低的產品也不易自動化測試 測試自動化初始代價高,技術要求也高 工具本身缺乏想象力和
4、靈活性,據報道,自動化測試只能發現15的缺陷,而手工測試可以發現85的缺陷 自動化測試對測試設計質量的依賴極大。錯誤的測試設計可能使測試情境與用戶使用情境相背離 測試工具在進行功能測試時,更多是做回歸測試,這時工具不能發現更多的新問題,但可以保證對已經測試過部分的準確性和客觀性。 工具不能處理突發情況。自動化測試工具雖然能處理部分異常事件,但是對真正的突發事件和不能由軟件解決的問題就無能為力。 多數情況下,手工測試和自動化測試應該相結合,多數情況下,手工測試和自動化測試應該相結合,以最有效的方法來完成測試任務。以最有效的方法來完成測試任務。 非常重要的測試 涉及范圍很廣的測試 對主要功能的測試
5、 容易自動化的測試 很快有回報的測試 運行最頻繁的測試那種不穩定軟件的測試、開發周期很短的軟件、一次性的軟件等不適合開發測試工具進行自動化測試。 測試自動化建立和維護等方面的負擔可能會測試自動化建立和維護等方面的負擔可能會造成延誤工期、成本浪費等問題造成延誤工期、成本浪費等問題 應選擇合理的點進行自動化,建立合理的自動化體系結構,編寫合理的自動化測試代碼, 優秀自動化測試體系的七個屬性應根據測試目標,有針對性地提高自己關注的屬性,實施符合需要的自動化測試體系 高效的自動化測試體系源于好的測試軟件應根據需要和能力決定自主開發或選購適合的測試工具優秀自動化測試體系的七個屬性 可維護性可維護性是否很
6、容易使測試更新跟上軟件升級的步伐自動化測試的維護工作量過大可能導致整個測試自動化工作被全面否決,甚至束之高閣。 高效性高效性自動化測試的一個重要目標就是更經濟地運行測試應在測試計劃和設計階段全面審視各方面因素,在科學合理的測試流程基礎上利用優秀的自動化策略將自動化測試與手工測試有機結合,才能實現效率最大化。 可靠性可靠性測試體制是否能給出精確而且可重現的結果 兼容性兼容性是否允許測試用例為不同的測試目標而以不同方式組合 可用性可用性定制或更改測試用例是否容易,使用是否容易 健壯性健壯性是否可以處理意外情況而不退出或終止 可移植性可移植性在不同環境中運行測試的能力 測試自動化實現的基礎測試自動化
7、實現的基礎 可以通過設計的特殊程序模擬測試人員對計算機的操作過程、操作行為,或者類似于編譯系統那樣對計算機程序進行檢查。 測試自動化實現的原理和方法主要有測試自動化實現的原理和方法主要有 代碼靜態和動態分析 測試過程的捕獲和回放(Record and Replay) 測試腳本技術 虛擬用戶技術 測試管理技術 代碼分析類似于高級編譯系統,一般針對不同的高級語言去構造分析工具 定義類、對象、函數、變量等的使用規則,推理檢查規則實現情況 在分析時對代碼進行語法掃描,找出不符合編碼規范的地方 根據某種質量模型評價代碼質量 生成系統的調用關系圖等 常用技術Syntax analysisParsingCo
8、ntrol flow analysisData flow analysisConstraint based analysisAbstract interpretationType-effect systemSymbolic execution程序語法樹詞法語法抽象中間表示IR連接(link)抽象控制流圖CFG帶內存抽象的IR內存抽象pointer/heap/shape analysis調用圖CGICFG帶值信息的IR值抽象 abstract interpretation帶流信息的IR控制流抽象調用抽象帶符號信息的IR流抽象 dataflow analysis類型抽象 type-effect s
9、ystem帶類型抽象的IR帶約束信息的IR約束抽象constraint solving符號抽象symbolic evaluation 其它void m() throws Exception s1; if(s2) throw new Exception(); try s3; s4; catch(Exception e) s5; entrys1s2throws3s4s5exit異常分析 哪些語句可能拋出異常? 哪些異常可能被捕獲? 一個catch上可能捕獲哪些異常,來源哪些模塊?mainA.foo()s1B.foo()s1A.bar()B.bar()s2s2A.()B.()顯式調用隱式調用語句標記
10、 概念 一種全局的控制流視圖,通過調用邊(call edge)和調用返回邊 (return edge) 聯系程序中的各個過程entryexitcallretentryexitentryexitcallret優點:簡單、快捷優點:簡單、快捷缺點:靈活性差缺點:靈活性差優點:靈活性好優點:靈活性好缺點:復雜、工作量大缺點:復雜、工作量大手工編寫測試驅動手工編寫測試驅動錄制回放方式錄制回放方式 捕獲捕獲 將用戶每一步操作都記錄下來。對GUI,記錄下操作對象,以及相對應的操作、狀態變化或是屬性變化。所有的記錄轉換為一種腳本語言所描述的過程,以模擬用戶操作。 操作對象描述方式有兩種:以用戶界面的像素坐標
11、描述,以邏輯對象(如窗口、按鈕等)描述 回放回放 將腳本語言所描述的過程轉換為屏幕上的操作,然后將被測系統的輸出記錄下來同預先給定的標準結果比較。這可以大大減輕黑盒測試的工作量,在迭代開發的過程中,能夠很好地進行回歸測試。 目前的自動化性能測試幾乎都采用錄制-回放技術 先由手工完成一遍需要測試的流程,同時由計算機記錄下這個流程期間客戶端和服務器端之間的通信信息,這些信息通常是一些協議和數據,并形成特定的腳本程序 。 然后在系統的統一管理下同時生成多個虛擬用戶,并運行該腳本,監控硬件和軟件平臺的性能,提供分析報告或相關資料。這樣,通過幾臺機器就可以模擬出成百上千的用戶對應用系統進行負載能力的測試
12、。 腳本是一組測試工具執行的指令集合,也是計算機程序的一種形式。 腳本可以通過錄制測試產生,然后再做修改(減少直接編寫的工作量);也可以直接用腳本語言編寫 腳本語言:vbscript, javascirpt, C子集,Python等 腳本技術可分為以下幾類腳本技術可分為以下幾類:線性腳本線性腳本結構化腳本結構化腳本共享腳本共享腳本數據驅動腳本數據驅動腳本關鍵字驅動腳本關鍵字驅動腳本 腳本技術可分為以下幾類:線性腳本線性腳本:錄制手工執行的測試用例得到的腳本缺點:不具有邏輯判斷能力,可維護性差,效率低下,代碼量大,兼容性差優點:簡單,易得,用作程序操作的演示很不錯結構化腳本結構化腳本:類似于結構
13、化程序,具有各種邏輯結構(順序、分支、循環),甚至函數調用功能優點:腳本的邏輯判斷能力和處理問題的靈活性得到增強,基本實現腳本的模塊化。缺點:腳本內仍然捆綁測試信息,即鍵盤、鼠標動作表示的輸入被固化在腳本中,測試修改和定制非常復雜困難。 腳本技術可分為以下幾類:共享腳本共享腳本:指某個腳本可被多個測試用例使用,即腳本語言允許一個腳本調用另一個腳本優點:可將公共操作放在一個地方提供調用實現共享,可重用性加強,在需要更改此部分的代碼時,不用修改所有使用此公共操作的腳本,大大減少了維護開銷。數據驅動腳本數據驅動腳本:將測試輸入存儲在獨立的數據文件中。數據和執行控制分離 腳本技術可分為以下幾類:關鍵字
14、驅動腳本:用關鍵詞序列表示測試關鍵字驅動腳本:用關鍵詞序列表示測試優點:界面元素名與具體測試對象分離;測試描述與測試實優點:界面元素名與具體測試對象分離;測試描述與測試實現分離;腳本與數據分離現分離;腳本與數據分離缺點:需要有驅動程序去解釋測試描述,將關鍵詞序列變為缺點:需要有驅動程序去解釋測試描述,將關鍵詞序列變為可執行的程序可執行的程序1.點擊”開始”菜單2.選擇菜單目錄 “程序:附件:計算器”3.將計算器移動到屏幕中間位置4.按鍵計算7+8=155.關閉計算器 支持腳本化語言(Scripting Language) 對程序界面中對象的識別能力 支持函數的可重用 支持外部函數庫 抽象層將程
15、序界面中的對象實體映射成邏輯對象 分布式測試(Distributed Test)的支持 支持數據驅動測試(Data-Driven Test) 錯誤處理 調試器(Debugger) 源代碼管理:持續集成、持續構建持續集成、持續構建 支持腳本的命令行(Command Line)方式 測試用例的生成測試用例的生成:測試輸入、測試輸出、測試操作指令等 測試的執行與控制測試的執行與控制:包括單機運行和網絡多機分布式的運行,在節假日的運行,測試個案調用控制,測試對象、測試范圍與測試版本的控制等 測試結果與標準輸出進行對比測試結果與標準輸出進行對比 不吻合測試結果的分析處理不吻合測試結果的分析處理:不吻合預
16、期的測試結果的分析、記錄、分類和報告 總體測試狀況的統計及報表的產生總體測試狀況的統計及報表的產生 自動化測試與開發中產品自動化測試與開發中產品每日構建每日構建的配合的配合 確定系統最優的硬件配置 檢查系統的可靠性 檢查系統硬件和軟件的升級情況 評估新產品 模仿各種設備 監控軟硬件系統自動化測試自動化測試生存周期生存周期2. 測試工具獲取測試工具獲取3. 自動化測試引入過程自動化測試引入過程5. 測試執行與管理測試執行與管理6. 測試評審與評估測試評審與評估4. 測試計劃、設計與開發測試計劃、設計與開發1. 自動化測試決定自動化測試決定 包括制訂測試計劃、建立測試環境、測試設計和設計開發。包括
17、測試過程分析和測試工具的考查無自動測試階段自動測試初始階段自動測試發展階段自動測試成熟階段自動測試高級階段特征無自動測試用無自動測試用例,測試工作全例,測試工作全部手工操作部手工操作非專業人員從非專業人員從事測試事測試有腳本文件驅有腳本文件驅動的半自動測試動的半自動測試無機算計軟件無機算計軟件專業人員從事測專業人員從事測試試無工具,無實無工具,無實驗室驗室有部分測試用有部分測試用例全部自動化例全部自動化有機算計軟件有機算計軟件專業人員從事測專業人員從事測試代碼的開發,試代碼的開發,使用使用Java,C#語言語言使用工具和專使用工具和專門的實驗室測試門的實驗室測試環境環境大量測試用例大量測試用例
18、全部自動化全部自動化有自己開發的有自己開發的共用代碼庫共用代碼庫有測試用例自有測試用例自動運行系統,并動運行系統,并與產品建造系統與產品建造系統項結合項結合有測試報告和有測試報告和統計分析服務統計分析服務有高水平的測有高水平的測試開發人員,測試開發人員,測試架構師試架構師有高度自動化有高度自動化的實驗室系統,的實驗室系統,和專業的系統管和專業的系統管理隊伍理隊伍有完善的自動有完善的自動化測試流程化測試流程能對外提供自能對外提供自動測試的商業服動測試的商業服務務計劃和措施培訓和引進人培訓和引進人才才培訓和引進機培訓和引進機算計軟件專業人算計軟件專業人才才嘗試測試工具嘗試測試工具建立實驗室建立實驗
19、室培訓和引進高培訓和引進高級編碼人才級編碼人才由開發人員幫由開發人員幫助設計測試代碼助設計測試代碼庫庫系統的選擇使系統的選擇使用和整合各種工用和整合各種工具具培訓和引進測培訓和引進測試設計和架構人試設計和架構人才才進一步提高實進一步提高實驗室系統驗室系統建立流程模型建立流程模型和商業服務模型和商業服務模型開發環境開發環境開發語言,庫程序,驅動程序,開發工具測試用例管理測試用例管理測試用例的定義,設置,分類和組合運行分析報告分析報告單運行結果報告,多運行綜合報告,長期走勢報告運行環境運行環境機器池,自動安裝和配置, 運行代碼管理代碼管理存儲,編譯硬件,基礎設施硬件,基礎設施實驗室,機器,網絡SQL Adap
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育政策的法制化與規范化探討
- 安全生產培訓公開課
- 鑄造設備智能化升級-洞察闡釋
- 商業領域的科技人文關懷與價值觀構建
- 交通安全活動方案小學
- 木材加工設備智能化運行狀態監測系統-洞察及研究
- 教育技術中的包容性設計與倫理考慮
- 物業安全管理總結
- 環境傳播策略研究-洞察闡釋
- 財務風險管理策略創新-洞察闡釋
- GB/T 41574-2022信息技術安全技術公有云中個人信息保護實踐指南
- GB/T 3672.2-2002橡膠制品的公差第2部分:幾何公差
- GB/T 18884.2-2015家用廚房設備第2部分:通用技術要求
- GB/T 12239-2008工業閥門金屬隔膜閥
- 軍標類型整理文檔
- 山東中醫藥大學2020-2021學年內科護理學試題及答案1
- DB32T 4174-2021 城市居住區和單位綠化標準
- 基本原理與性能特點多自由度電磁軸承課件
- Q∕SY 1836-2015 鍋爐 加熱爐燃油(氣)燃燒器及安全聯鎖保護裝置檢測規范
- 北京輸變電工程標準工藝應用圖冊(圖文并茂)
- 儀器使用記錄表
評論
0/150
提交評論