




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1 Pactera. Confidential. All Rights Reserved.軟件測試基礎知識軟件測試基礎知識2013年5月2 Pactera. Confidential. All Rights Reserved.軟件的相關知識軟件測試的重要性軟件測試的分類和階段軟件測試的基本方法測試面臨的挑戰測試工程師自身素質培養3 Pactera. Confidential. All Rights Reserved.n能夠完成預定功能和性能的、可執行的指令(計算機程序)n使得程序能夠適當地操作信息的數據結構n描述程序的操作和使用的文檔軟件軟件 = 程序程序 + 數據數據 (庫)(庫) + 文檔
2、文檔 4 Pactera. Confidential. All Rights Reserved.n 客戶需求n 市場需求文檔n 軟件需求規格說明書n 技術設計文檔n 測試文檔n 在線幫助n 發布注釋n 軟件包n 幫助文件n 示例n 產品支持文檔n 錯誤信息n 安裝手冊n 用戶手冊n 產品標簽n 產品廣告或宣傳材料n 5 Pactera. Confidential. All Rights Reserved.軟件在開發、生產、維護和使用等方面與計算機硬件相比存在明顯的差異。深入理解軟件的定義需要了解軟件的特點:n軟件的生產與硬件不同,它沒有明顯的制作過程。一旦研制開發成功,可以大量拷貝同一內容的副
3、本。n軟件在運行、使用期間不存在磨損、老化問題。n軟件的開發、運行對計算機系統具有依賴性,受計算機系統的限制,這導致了軟件移植的問題。 n軟件復雜性高,成本昂貴。n軟件開發涉及諸多社會因素。6 Pactera. Confidential. All Rights Reserved.n 傳統的開發流程 傳統的軟件開發流程是一個文檔驅動的流程,它將整個軟件開發過程劃分為順序相接的幾個階段,每個階段都必需完成全部規定的任務(文檔)后才能夠進入下一個階段。如必須完成全部的系統需求規格說明書之后才能夠進入概要設計階段,編碼必需在系統設計完成之后才能夠進行。這就意味著只有當所有的系統模塊全部開發完成之后,我
4、們才進行系統集成,對于一個由上百個模塊組的復雜系統來說,這是一個非常艱巨而漫長的工作。7 Pactera. Confidential. All Rights Reserved.n 傳統開發流程的問題: 隨著我們所開發的軟件項目越來越復雜,傳統的瀑布型開發流程不斷地暴露出以下問題:1、需求或設計中的錯誤往往只有到了項目后期才能夠被發現,例如:系統交付客戶之后才發現原先對于需求的理解是錯誤的,系統設計中的問題要到測試階段才能被發現。 2、對于項目風險的控制能力較弱,項目風險在項目開發較晚的時候才能夠真正降低,往往是經過系統測試之后,才能確定該設計是否能夠真正滿足系統需求。 3、軟件項目常常延期完成
5、或開發費用超出預算,項目開發進度往往會被意外發生的問題所打亂,需要進行返工或其他一些額外的開發周期,造成項目延期或費用超支。 4、項目管理人員專注于使用文檔的完成程度和審核來估計項目的進展情況,所以項目經理對于項目狀態的估計往往是不準確的,當他回答系統已完成了80%的開發任務時,剩下20%的開發任務實際上消耗的是整個項目80%的開發資源。8 Pactera. Confidential. All Rights Reserved. 軟件開發模型軟件開發模型(Software Development Model):是指軟件開發全部過程、活動和任務的結構框架。 軟件生存周期:軟件生存周期:一個軟件產品
6、或軟件系統也要經歷孕育、誕生、成長、成熟、衰亡等階段,一般稱為軟件生存周期(軟件生命周期)。 9 Pactera. Confidential. All Rights Reserved.為了解決“軟件危機”,人們提出了軟件工程的概念,經過軟件工程的實踐,人們總結出了一系列的軟件開發模型:n 瀑布模型n V模型n 原型模型n 增量模型n 螺旋模型n 迭代模型n RUP(Rational Unified Process)模型n 10 Pactera. Confidential. All Rights Reserved.用戶需求需求分析概要設計詳細設計編碼與調試單元測試集成測試系統測試用戶驗收測試詳細
7、設計手冊詳細設計手冊概要設計手冊概要設計手冊需求規格說明書需求規格說明書11 Pactera. Confidential. All Rights Reserved.n 優點 V模型強調軟件開發的協作和速度,將軟件實現和驗證有機地結合起來,在保證較高的軟件質量的情況下縮短開發周期,又稱測試模型。n 不足 僅僅把測試過程作為在需求分析、系統設計及編碼之后的一個階段 忽視了測試對需求分析,系統設計的驗證12 Pactera. Confidential. All Rights Reserved.分析分析設計設計編碼編碼測試測試交付交付分析分析設計設計編碼編碼測試測試交付交付分析分析設計設計編碼編碼測試
8、測試交付交付增量1增量2增量N13 Pactera. Confidential. All Rights Reserved.n 優點: 采用增量模型的優點是人員分配靈活,剛開始不用投入大量人力資源。如果核心產品很受歡迎,則可增加人力實現下一個增量。 引進了增量包的概念,無須等到所有需求都出來,只要某個需求的增量包出來即可進行開發。 強調每一個增量均發布一個可操作產品。n 不足: 由于各個構建是逐漸并入已有的軟件體系結構,所以加入構件必須不破壞已購建好的系統部分,這需要軟件具備開放式的體系結構。 在開發過程中,需求的變化時不可避免的。增量模型的靈活性可以使其使用這種變化的能力大大優于瀑布型,但也很
9、容易退化為邊做邊改模型,從而使軟件過程控制失去整體性。14 Pactera. Confidential. All Rights Reserved.軟件的相關知識軟件測試的重要性軟件測試的分類和階段軟件測試的基本方法測試面臨的挑戰測試工程師自身素質培養15 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.n在上個世紀70年代,程序員為了節約非常寶貴的內存資源和硬盤空間,在存儲日期時,只保留年份的后兩位,如“1980”被存為“80”。當2000年到來的時候,問題就會出現,比
10、如銀行存款程序在計算利息時,應該用現在的日期“2000年1月1日”減去當時存款的日期,比如“1989年1月1日” ,結果應該是21年,如果利息是3%,銀行要付給顧客每100元,大約86元利息。如果程序沒有糾正年份只存儲兩位的問題,其存款年數就變為-89年,變成顧客反要付銀行1288元的巨額利息n就是為了這樣一個簡單的設計缺陷,全世界付出幾十億美元16 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.n 沒有足夠測試n 缺乏測試平臺n 不正確的測試環境n 缺少集成測試n
11、缺少性能測試n 缺少強度測試n 缺少可靠性測試n 17 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved. 平均而言,如果在需求階段修正一個缺陷的代價是1,那么,在設計階段就是它的36倍,在編程階段是它的10倍,在內部測試階段是它的2040倍,在外部測試階段是它的3070倍,產品發布后,這個數字就是401000倍。 Boehm,Software Engineering Economics18 Pactera. Confidential. All Rights Reserv
12、ed.修正缺陷的代價修正缺陷的代價需求設計編程系統測試驗收測試發布修正缺陷的代價缺陷修復成本19 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.n軟件測試:軟件測試是為了發現程序中的錯誤而執行程序的過程,具體地說,軟件測試是根據軟件開發階段的規格說明和程序的內部結構,精心設計出一批測試用例,并利用測試用例來運行程序,以發現程序錯誤的過過程。20 Pactera. Confidential. All Rights Reserved. Pactera. Confident
13、ial. All Rights Reserved.n軟件測試的意義在于發現軟件錯誤; 有效定義和實現軟件成分由低層到高層的組裝過程; 驗證軟件是否滿足任務書和系統定義文檔所規定的技術要求; 為軟件質量模型的建立提供依據。n軟件測試的目的1、是確認軟件的質量。一方面是確認軟件做了你所期望的事情,另一方面是確認軟件以正確的方式來做了這個事件。2、第二是提供信息。如提供給開發人員或程序經理的反饋信息,為風險評估所準備的信息。3、第三軟件測試不僅是在測試軟件產品的本身,而且還包括軟件開發的過程。保證整個軟件開發過程是高質量的。21 Pactera. Confidential. All Rights R
14、eserved. Pactera. Confidential. All Rights Reserved.n功能性 Functionalityn易用性 Usability (簡單安裝; 輕松使用; 友好界面)n可靠性 Reliability (用戶使用的根本)n性能 Performancen容量 Capacityn可測量性 Scalabilityn可維護性 Service manageabilityn兼容性 Compatibilityn可擴展性 Extensibility22 Pactera. Confidential. All Rights Reserved. Pactera. Confide
15、ntial. All Rights Reserved.n主要分三個階段:以檢測為重:產品制成之后進行檢測,只能判斷產品質量,不能提高產品質量以過程管理為重:把質量的保證工作重點放在過程管理上,對制造過程 中的每一道工序都要進行質量控制以新產品開發為重:在新產品的開發設計階段,采取強有力的措施來消滅由于設計原因而產生的質量隱患23 Pactera. Confidential. All Rights Reserved.軟件的相關知識軟件測試的重要性軟件測試的分類和階段軟件測試的基本方法測試面臨的挑戰測試工程師自身素質培養24 Pactera. Confidential. All Rights Re
16、served. Pactera. Confidential. All Rights Reserved.開發生命周期. 維護 需求定義應用定義應用開發 修訂 建立 建立測試生命周期.執行.執行執行.測試計劃缺陷跟蹤測試開發測試設計評估25 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.方法目標/特性單元測試系統測試驗收測試性能測試強壯性測試功能測試白盒測試黑盒測試測試階段或層次適用性測試可靠性測試集成測試安全性測試26 Pactera. Confidential. Al
17、l Rights Reserved. Pactera. Confidential. All Rights Reserved.階 段輸 入 輸 出 需求分析需求定義, 市場分析文檔, 相關技術文檔市場需求分析會議記要 , 功能設計, 技術設計設計審查 市場需求文檔, 技術設計文檔 測試計劃, 測試用例功能驗證 代碼完成文件包,功能詳細設計說明書最終技術文檔完整測試用例,完備的測試計劃, 缺陷報告,功能驗證測試報告系統測試代碼修改后的文件包 完整測試用例,完備的測試計劃 缺陷報告缺陷狀態報告項目階段報告確認測試代碼凍結文件包確認測試用例缺陷狀態報告缺陷報告審查版本審查版本發布 代碼發布文件包 測試
18、計劃檢查清單當前版本已知問題的清單版本發布報告27 Pactera. Confidential. All Rights Reserved.軟件的相關概念軟件測試的重要性軟件測試的分類和階段軟件測試的基本方法測試面臨的挑戰測試工程師自身素質培養28 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.n黑盒測試和白盒測試n靜態測試和動態測試n自動化測試和手工測試2829 Pactera. Confidential. All Rights Reserved. Pactera.
19、Confidential. All Rights Reserved.29n黑盒測試黑盒測試法把程序看成是一個黑盒子,完全不考慮程序內部的結構和處理過程黑盒測試只是檢查程序功能是否按照規格說明書規定的可以正常使用黑盒測試又稱功能測試需求需求說明說明產生產生被測程序被測程序測試結果測試結果輸出輸出比較比較測試用例測試用例30 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.30n黑盒測試目的是否有不正確或遺漏了的功能在接口上,輸入能否正確地接受?能否輸出正確的結果?是否有數
20、據結構錯誤或外部信息(例如數據文件)訪問錯誤?性能上是否能夠滿足要求?是否有初始化或終止性錯誤?3131白盒測試白盒測試的前提是可以把程序看成裝在一個透明的白盒子里,也就是完全了解程序結構的白盒子里,也就是完全了解程序結構和處理過程,這種方法按照程序內部邏輯測試程序,檢驗程序中每條通路是否按預定要求正確工作白盒測試又稱結構測試測 試 用 例被 測 程 序源 程 序分 析覆 蓋 情 況分 析執 行 路 徑3232白盒測試目的對程序模塊的所有獨立的執行路徑至少測試一次對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測試一次在循環的邊界和運行界限內執行循環體測試內部數據結構的有效性等33 Pa
21、ctera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.功能測試功能測試數據驅動測試數據驅動測試 結構測試結構測試邏輯驅動測試邏輯驅動測試 客戶需求事件驅動輸入輸出34 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.34n靜態測試p對軟件文檔進行分析、檢查和測試p不實際運行被測試的程序n動態測試p通過運行軟件來檢驗軟件的動態行為和運行結果的正確性p基本要素
22、被測試程序測試用例軟件需求和規約需求評審設計評審代碼走查代碼檢查單元測試集成測試系統測試驗收測試35 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.主持人主持人作者記錄員列席人員內審員內審員技術專業人員用戶代表不正式正式互審 走讀 審查會議運行程序運行程序36 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.手工模擬用戶手工模擬用戶操作操作37
23、 Pactera. Confidential. All Rights Reserved.軟件的相關知識軟件測試的重要性軟件測試的分類和階段軟件測試的基本方法測試面臨的挑戰測試工程師自身素質培養38 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.n舉例1:對程序中的每條語句序列至少執行一次,包含的不同執行路徑數達5的20次冪,對每一條路徑進行測試需要1毫秒,固定一年工作365*24小時,要把所有路徑都測試過,需要3170年循環循環20次次39 Pactera. Conf
24、idential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.n舉例2:計息計算模塊,需要將規則允許的所有存款金額和存期進行組合輸入n結論:窮舉輸入測試是無法實現的我們無法測試一個程序的所有輸入可能軟件測試要考慮其經濟性即使可以窮舉所有路徑進行測試,程序中仍然可能存在沒有檢查出的缺陷3940 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.n誤區一:根據軟件開發瀑布模型,軟件測試是開發
25、后期的一個階段n 誤區二:軟件測試技術要求不高,至少比編程容易多了n 誤區三:有時間就多測試一些,來不及就少測試一些 n 誤區四:軟件測試是測試人員的事,與開發人員無關 n 誤區五:如果發布出去的軟件有質量問題,都是軟件測試人員的錯4041 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights Reserved.n所有測試的標準都是建立在用戶需求之上n軟件測試必須基于“質量第一”的思想去開展各項工作,當時間和質量沖突時,時間要服從質量。n事先定義好產品的質量標準,只有有了質量標準,才能根據測試的結果,對產品的質量進行分析和評估。n軟件項目一啟動,軟件測試也就是開始,而不是等程序寫完,才開始進行測試。n窮舉測試是不可能的。甚至一個大小適度的程序,其路徑排列的數量也非常大,因此,在測試中不可能運行路徑的每一種組合。 42 Pactera. Confidential. All Rights Reserved. Pactera. Confidential. All Rights
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 華為子公司管理制度
- 垃圾焚燒場管理制度
- 排練廳使用管理制度
- 安全生產費管理制度
- 學生攀爬網管理制度
- 基建類財務管理制度
- 第七課學會合作(教學課件)-五年級下冊心理健康(川教版)
- 4unit2第三課時詞匯
- 顧問式銷售的營銷技巧
- 生活妝與職業妝課件
- 系統集成方案及實施步驟
- 2025年隴南村文書考試題及答案
- 2025年中科院心理咨詢師培訓考試復習題庫-上(單選題)
- 危化三級安全教育
- 馬克思主義基本原理與科技創新的結合心得體會
- 美發店投資入股協議書8篇
- 第四單元 課題3 物質組成的表示教學設計-2024-2025學年九年級化學人教版(2024)上冊
- DeepSeek零基礎到精通手冊(保姆級教程)
- 2024年中國軟件行業基準數據 (CSBMK-202410)
- 小學四年級下冊四則混合運算及簡便運算
- 國家開放大學本科《商務英語4》一平臺機考真題及答案(第四套)
評論
0/150
提交評論