軟件測試的背景_第1頁
軟件測試的背景_第2頁
軟件測試的背景_第3頁
軟件測試的背景_第4頁
軟件測試的背景_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第四章檢查產品說明書(靜態(tài)的黑盒測試)主講人:廖雪花《軟件質量保證與測試》大綱4.1開始測試4.2對產品說明書進行高級審查4.3產品說明書的低層次測試技術本章重點什么是黑盒測試和白盒測試靜態(tài)測試和動態(tài)測試有何區(qū)別審查產品說明書有哪些高級技術在詳細審查產品說明書時應注意哪些特殊的問題4.1開始測試測試應該貫穿軟件開發(fā)的全過程,從產品說明書開始,我們就應該開始工作了。回顧上一講“軟件開發(fā)過程”中所介紹的4種“軟件開發(fā)模式”:大爆炸、邊寫邊改、瀑布和螺旋模式。除大爆炸模式外,在其它每一種中,開發(fā)小組都應該根據(jù)需求文檔,編寫一個產品規(guī)格說明,用以定義該軟件將是什么樣的。產品說明書是軟件開發(fā)小組的一個協(xié)定。它對開發(fā)的產品進行定義,給出產品的細節(jié)、如何做、做什么、不能做什么。編制產品說明書的必要性:保證最終產品與預期的一致作為測試的重要依據(jù)可以提前發(fā)現(xiàn)錯誤產品說明書產品說明書通常是利用文字和圖形描述產品的書面文檔。說明書中對軟件功能不但要描述其實現(xiàn)的操作,還應對其實現(xiàn)的方式、與其它功能的關系等進行盡可能詳細的說明。產品說明書的樣例可看參考書的1、2章。例如Windows計算器程序的產品規(guī)格說明中對“復制與粘貼”功能摘錄如下:計算器的功能說明編輯菜單有兩個選項:復制和粘貼。復制功能是將數(shù)字輸入框中顯示的內容復制到Windows的剪貼板中。粘貼功能是將剪貼板中存儲的數(shù)值粘貼到數(shù)字輸入框中。選擇的方式有三種:使用鼠標指向并單擊菜單項,利用熱鍵(Alt+E,然后Copy按C,粘貼按P),或利用Windows快捷鍵Ctrl+CforCopyandCtrl+VforPaste.編寫產品說明書的好處確保最終產品符合客戶要求以及正確計劃測試投入的唯一方法是在產品說明書中完整描述產品。編寫產品說明書的另一個好處是軟件測試員可以將其作為測試項目的書面材料,據(jù)此可以在編寫代碼之前找出軟件缺陷。(1)軟件測試的分類:按照不同的分類方法,軟件測試可分為以下幾種類型。按照開發(fā)階段劃分按照開發(fā)階段劃分,軟件測試可分為單元測試、集成測試、系統(tǒng)測試和驗收測試。按照測試實施組織劃分按照測試實施組織劃分,軟件測試可分為開發(fā)方測試、用戶測試(β測試)和第三方測試。按照測試技術劃分按照測試技術劃分,軟件測試可分為白盒測試和黑盒測試,也可分為靜態(tài)測試和動態(tài)測試。(2)黑盒測試和白盒測試用于描述測試方式的兩個常用術語是黑盒測試(Black-Box)和白盒測試(White-Box)。下圖說明它們的差別:黑盒測試—功能性測試或行為測試黑盒測試是最常用的測試策略數(shù)據(jù)驅動的測試輸入/輸出驅動的測試功能性測試/行為測試黑盒測試的特點將被測試的程序看作一個黑盒子,測試目標與程序的內部機制和結構完全無關,而是將重點集中在發(fā)現(xiàn)程序不按其規(guī)范正確運行的環(huán)境條件。測試數(shù)據(jù)完全來源于軟件規(guī)范,不需要了解程序的內部結構。白盒測試—結構性測試白盒測試邏輯驅動的測試結構性測試白盒測試的特點白盒測試允許我們檢查程序的內部結構,并從邏輯結構中獲取測試數(shù)據(jù)。使用測試用例執(zhí)行程序中所有可能的控制流路徑。注意:進行白盒測試要冒一些風險,因為要適應代碼操作來定制測試,所以很容易形成偏見而無法進行客觀測試。黑盒測試與白盒測試的比較完全黑盒測試通常比完全白盒測試代價要高很多(滿足所有可能執(zhí)行路徑的測試用例只是白盒測試的測試用例的子集)。白盒測試可能不會暴露數(shù)據(jù)敏感錯誤,在該意義上講不如黑盒測試。黑盒測試在發(fā)現(xiàn)算法錯誤、定位錯誤方面不如白盒測試。白盒測試與黑盒測試都不能保證能發(fā)現(xiàn)軟件中的全部錯誤。(3)動態(tài)測試和靜態(tài)測試描述軟件是如何被測試的另外兩個術語是靜態(tài)測試(StaticTesting)和動態(tài)測試(DynamicTesting)靜態(tài)測試:測試產品不運行的部分—只是檢查與審核靜態(tài)黑盒測試:測試產品規(guī)格說明動態(tài)測試:通過運行軟件進行測試動態(tài)白盒測試:查看代碼結構及其實現(xiàn)方式,從而設計有針對性的測試用例并執(zhí)行測試(3)動態(tài)測試和靜態(tài)測試靜態(tài)黑盒測試:測試產品規(guī)格說明無論產品說明書的格式如何,都可以利用靜態(tài)黑盒技術測試。產品說明書是書面文字文檔或圖形文檔,或者兩者兼而有之。通過詢問軟件的設計者和編制者甚至可以測試沒有寫出來的產品說明書。(3)靜態(tài)測試和動態(tài)測試靜態(tài)測試(人工測試)不運行程序進行測試,即檢查和審閱靜態(tài)黑盒測試——檢查產品說明書靜態(tài)白盒測試——檢查代碼,在不執(zhí)行的條件下有條理地仔細審查軟件設計、體系結構和代碼,從而找出軟件缺陷的過程,有時稱為結構分析。動態(tài)測試(基于計算機的測試)運行和使用軟件以發(fā)現(xiàn)錯誤,即通常意義上的測試(4)人工測試的好處人工測試方法的正規(guī)性、精確性不如基于計算機測試,但并不妨礙測試取得成功,相反可以提高測試的功效和可靠性錯誤發(fā)現(xiàn)得越早,改正錯誤成本越低,正確改正錯誤可能性越大程序員在開始基于計算機的測試時要經歷一個心理上的轉變,改正早期發(fā)現(xiàn)的錯誤比改正后期計算機執(zhí)行發(fā)現(xiàn)的錯誤時失誤更少更容易定位以及發(fā)現(xiàn)由該錯誤引發(fā)的其他缺陷(如連鎖錯誤或類似錯誤)降低調試成本通常會有效地查找出30%-70%的邏輯設計和編碼錯誤18測試技術不實際運行程序,而是通過檢查和閱讀等手段來發(fā)現(xiàn)錯誤并評估代碼質量的軟件測試技術。也稱為靜態(tài)分析技術。實際運行程序,并通過觀察程序運行的實際結果來發(fā)現(xiàn)錯誤的軟件測試技術。在不知道程序內部結構,只知道程序規(guī)格的情況下采用的測試技術或策略。在知道程序內部結構的情況下采用的測試技術或策略。開發(fā)組內部進行的,采用講解、討論和模擬運行的方式進行的查找錯誤的活動。開發(fā)組內部進行的,采用講解、提問并使用Checklist方式進行的查找錯誤的活動。一般有正式的計劃、流程和結果報告。開發(fā)組、測試組和相關人員(QA、產品經理等)聯(lián)合進行的,采用講解、提問并使用Checklist方式進行的查找錯誤的活動。一般有正式的計劃、流程和結果報告。針對要求的程序功能,按照規(guī)范的流程進行的測試。針對要求的程序功能以外的其他要求,包括性能、安全、配置、負載等指標,按照規(guī)范的流程進行的測試。針對要求的程序功能、性能、安全、配置、負載等指標,基于破壞目的、按照經驗進行的隨機測試。程序修改或者版本更新以后,為了確保以前正確的功能和其他指標仍舊正確,而重新進行的測試。在測試過程中,選擇足夠的測試用例,使得每一個可執(zhí)行語句至少被執(zhí)行一次。在測試過程中,選擇足夠的測試用例,使得程序中的每一個分支判斷的每一種可能結果都至少被執(zhí)行一次。在測試過程中,選擇足夠的測試用例,使得程序中的每一條可能執(zhí)行的路徑都至少執(zhí)行一次。4.2對產品說明書進行高級(宏觀)審查產品說明書的構建是一個模糊的過程,難免不出問題。不應一開始就陷入細節(jié)之中,而應從宏觀的角度查找根本性的問題、疏忽或遺漏只有深入理解了軟件應該做什么、怎么做,才能更好地對細節(jié)進行檢查假設自己是客戶立場決定你考慮問題的角度不要憑自己的想象來推測,而是深入了解用戶的實際想法。盡量和最終用戶交流了解相關專業(yè)的知識假設自己是客戶在假設自己是客戶時不要忘記了軟件的安全性。研究現(xiàn)有的標準和規(guī)范標準和規(guī)范的差別在于程度不同,標準比規(guī)范更加嚴格。如果小組認為很重要,則標準應嚴格遵守;規(guī)范是可選的,但應該遵守。小組將標準作為規(guī)范也不罕見,前提只要每個人都清楚就行。研究現(xiàn)有的標準和規(guī)范很多行業(yè)都有相關的規(guī)范、標準等必須要遵守的東西:公司慣用語和約定行業(yè)要求:醫(yī)藥、工業(yè)和金融行業(yè)政府標準:特別是軍隊圖形用戶界面標準(GUI)安全標準:軟件及其界面和協(xié)議可能需要滿足一定的安全標準或級別。也許還需要進行獨立的認證,以確保其滿足必要的標準。審查和測試類似軟件現(xiàn)有的經驗、教訓可以給我們提供參考規(guī)模:功能越多越強大?復雜性:簡單還是復雜,對測試會有什么影響測試性:是否有資源、時間、經驗來進行測試質量和可靠性安全性技巧:閱讀關于競爭對手軟件的評價方面的文章。這對安全方面的問題特別有幫助,因為軟件測試員使用軟件不一定能發(fā)現(xiàn)安全方面的缺陷。然而在出版物中,這些問題會特別引起關注。產品說明書屬性檢查清單(好的產品說明書應該具備下列8個重要屬性)完整:是否有遺漏準確:解決方案、目標等是否正確精確、不含糊、清晰:易理解、無二義性一致:是否有自相矛盾、沖突之處貼切:描述與實際要求的符合程度合理:現(xiàn)有的技術、資源等能否實現(xiàn)代碼無關:定義產品而不是設計、架構、代碼等可測試性:功能可否測試4.3對產品說明書進行低層(微觀)審查產品說明書屬性檢查清單:完整。準確。精確、不含糊、清晰。一致。貼切。合理。代碼無關??蓽y試性。4.3對產品說明書進行低層(微觀)審查完整。是否有遺漏或丟失?完全嗎?單獨使用時是否包含所以內容?準確。既定解決方案正確嗎?目標定義明確嗎?有沒有錯誤?精確、不含糊、清晰。描述是否一清二楚?是否有單獨的解釋?容易看懂和理解嗎?一致。產品功能描述是否自相矛盾,或與其他功能有無沖突?4.3對產品說明書進行低層(微觀)審查貼切。描述功能的陳述是否必要?有沒有多余信息?功能是否符合原來的客戶要求?合理。在規(guī)定的預算和進度下,以現(xiàn)有人力、工具和資源能否實現(xiàn)?代碼無關。產品說明書是否堅持定義產品,而不是定義其軟件設計、架構和代碼?可測試性。功能能否測試?給測試員提供的建立驗證操作的信息是否足夠?4.3對產品說明書進行低層(微觀)審查產品說明書術語檢查清單使用可度量的描述,盡量避免下面一些含糊、有疑問的描述:總是、每一種、所有、沒有、從不。當然、因此、明顯、顯然、必然。某些、有時、常常、通常、經常、大多、幾乎。等等、諸如此類、依次類推。良好、高效、小、穩(wěn)定。如果…那么…(沒有否則,條件不成立怎么辦?)4.3對產品說明書進行低層(微觀)審查本章小結產品說明書的格式千變萬化,無論是從他人想

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論