《軟件測試第一講楖述》由會員分享,可在線閱讀,更多相關《軟件測試第一講楖述(33頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,軟件測試,概述,個人介紹,姓名:李鶴林,Email:,軟件測試背景,軟件是人編的所以不完美,軟件缺陷的例子,迪斯尼的獅子王,英特爾奔騰浮點錯誤,千年蟲,美國航天局火星極地登陸事故,愛國者導彈防御系統(tǒng),描述軟件失敗的術語,缺點(defect),謬誤(fault),問題(problem),錯誤(error),毛病(incident),異常(anomaly),偏差(variance),失?。╢ailure),矛盾(inconsistency),特殊(feature),缺陷(bug),軟件缺陷,軟件未達到產(chǎn)品說明書
2、標明的功能,軟件出現(xiàn)了產(chǎn)品說明書指明不會出現(xiàn)的錯誤,軟件功能超出產(chǎn)品說明書指明范圍,軟件未達到產(chǎn)品說明書雖未指出但應達到的目標,軟件測試員認為軟件難以理解、不易使用、運行速度緩慢,或者最終用戶認為不好,為什么會出現(xiàn)軟件缺陷,軟件缺陷的修復成本,軟件測試員究竟做什么,軟件測試員的目標是找出軟件缺陷,盡可能早一些,并確保其得以修復。,怎樣成為優(yōu)秀的軟件測試員,軟件測試員應具備的素質:,探索精神,故障排除能手,不懈努力,創(chuàng)造性,追求完美,判斷準確,老練穩(wěn)重,說服力,軟件產(chǎn)品的組成部分,客戶需求-Customer Requirements,市場需求文檔-MRD(Marketing Requiremen
3、t Document),軟件規(guī)格說明書-Specifications,技術設計文檔 Technical Design Docs,測試文檔 Test Documents,在線幫助-Online help,產(chǎn)品發(fā)布注釋-Release Notes/Read Me,產(chǎn)品軟件包-Release packages,軟件產(chǎn)品的其他內(nèi)容,幫助文件 Help files,示例 Samples and examples to illustrate points,產(chǎn)品支持文檔 Product support information,錯誤信息 Error messages,安裝手冊 Setup and instal
4、lation instructions,用戶手冊 User manual(s),產(chǎn)品標簽 Label and stickers,產(chǎn)品廣告或宣傳材料 Ads and marketing material,軟件的生存周期,制定計劃(Planning),需求分析和定義(Requirement Analysis and Definition),軟件設計(Software Design),程序編寫(Coding,Programming),軟件測試(Testing),運行/維護(Running/Maintenance),軟件開發(fā)過程,需求分析:,根據(jù)客戶的要求,清楚了解客戶需求中的產(chǎn)品功能、特性、性能、界
5、面和具體規(guī)格等,然后進行分析,確定軟件產(chǎn)品所能達到的目標。,設計:,根據(jù)需求分析的結果,考慮如何在邏輯、程序上去實現(xiàn)所定義的產(chǎn)品功能、特性等,可以分為概要設計和詳細設計,也可分為數(shù)據(jù)結構設計、軟件體系結構設計、應用接口設計、模塊設計、界面設計等。,編程:,將設計轉換成計算機可讀的形式。,測試:,對設計、編程進行驗證和用戶需求確認的過程,維護:,維持軟件運行,修改軟件缺陷、增強已有功能、增加新功能、升級等。,軟件開發(fā)過程模型,瀑布開發(fā)模型,原型開發(fā)模型,快速應用開發(fā)(RAD)模型,RUP開發(fā)模型,迭代開發(fā)模型,增量開發(fā)模型,組件開發(fā)模型,并發(fā)開發(fā)模型,XP開發(fā)模型,瀑布模型,快速原型模型,增量開
6、發(fā),1,1,2,1,2,3,4,1,2,3,迭代開發(fā),1,1,2,1,2,3,4,1,2,3,軟件的質量問題,已交付的軟件頻繁的出現(xiàn)故障,系統(tǒng)運行失敗所帶來的后果令人無法接受,如經(jīng)濟損失甚至威脅生命安全。,系統(tǒng)經(jīng)常不能實現(xiàn)預期的目的。,系統(tǒng)升級的成本很高。,發(fā)現(xiàn)并排除缺陷的成本過高。,軟件測試歷史,軟件測試分類,開發(fā)階段與測試類型,測試方法,黑盒子和白盒子,靜態(tài)的和動態(tài)的,文檔、代碼審查,數(shù)據(jù)輸入邊界條件法,等價劃分、數(shù)據(jù)流程圖,狀態(tài)變換圖,邏輯路徑法,黑盒測試與白盒測試,黑盒測試,在黑盒測試中,軟件測試員只需知道軟件要做什么即可而無法看到盒子是如何運作的。只要進行一些輸入,就能得到某種輸出結
7、果。,白盒測試,在白盒測試中,軟件測試員可以訪問程序員的代碼,并通過檢查代碼來協(xié)助測試可以看到盒子里面。根據(jù)代碼檢查結果判斷多大的數(shù)據(jù)可能出錯,并椐此調(diào)整測試程序。,靜態(tài)測試與動態(tài)測試,靜態(tài)測試,靜態(tài)測試是指測試不運行的部分只是檢查和審閱,動態(tài)測試,動態(tài)測試是指通常意義上的測試運行和使用軟件。,一個測試的生命周期,測試過程,測試過程可以分為如下步驟:,測試計劃,測試用例開發(fā),運行測試用例,評估測試結果,測試用例,軟件測試的本質是針對要測試的內(nèi)容確定一組測試用例,在測試中占據(jù)中心地位。,測試用例包含的信息,輸入:前提(在測試用例執(zhí)行之前已經(jīng)存在的環(huán)境)和由某種測試方法所標識的實際輸入),輸出:后
8、果和實際輸出,測試用例的重要性,制作測試用例是軟件測試員最 重要的一項任務。不正確的選擇可能導致測試量過大或者過小,甚至測試目標不對。,測試員能準確評估風險,把不可窮盡的可能性減少到可以控制的范圍是成功的訣竅。,測試人員的數(shù)學背景,測試本身要進行數(shù)學描述和分析,通過這些數(shù)學工具,測試人員會變得嚴格、精確和高效。,離散數(shù)學:包括集合論、函數(shù)、關系、命題邏輯和概率論,圖論:無向圖和有向圖,離散數(shù)學更適用于功能性測試。,圖論更適合結構性測試,測試原則,完全測試程序是不可能的,軟件測試是有風險的行為,測試無法顯示潛伏的軟件缺陷,找到的軟件缺陷越多,說明軟件缺陷越多,殺蟲劑怪事,并非所有軟件缺陷都能修復,難以說清的軟件缺陷,需求說明書不斷變化,軟件測試人員在項目組中不受歡迎,軟件測試是一項講究條理的技術專業(yè),小結,軟件缺陷,軟件測試的重要性,軟件開發(fā)過程,軟件測試方法,軟件測試原則,