1. 程式人生 > >軟件測試理論基礎

軟件測試理論基礎

判定覆蓋 特征 規格 輸入數據 它的 缺點 組成 是把 科學

1.什麽是軟件測試?其目的是? 軟件測試的定義為:使用人工和自動手段來運行或測試某個系統的過程,其目的在於檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差異。 該定義明確提出了軟件測試以檢驗是否滿足需求為目標。 軟件測試的目的在於發現錯誤;一個好的測試用例在於發現從前未發現的錯誤;一個成功的測試時發現了從前未發現的錯誤的測試。 所以更為合適的的定義是:測試時為發現錯誤而執行程序的過程。 2.什麽是軟件缺陷? 滿足下列五個規則之一才稱為軟件缺陷: 軟件未達到產品說明書標明的功能 軟件出現了產品說明書指明不會出現的錯誤 軟件功能超出產品說明書指明的範圍 軟件未達到產品說明書雖未指出但應該達到的目標 軟件測試人員認為軟件難以理解、不易使用、運行速度緩慢,或者最終用戶認為不好 3.什麽是黑盒測試?黑盒測試方法都包括哪些? 黑盒測試意味著測試要在軟件的接口處進行,是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫做功能測試或者數據驅動測試。 黑盒測試方法包括:等價類劃分、邊界值分析、因果圖分析、錯誤推測法、功能圖分析等。 4.什麽是白盒測試?白盒測試方法包括哪些? 白盒測試是對軟件的過程性細節做細致的檢查。是把測試對象看做一個打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態,確定實際狀態是否與預期的狀態一致。因此白盒測試又成為結構測試或邏輯驅動測試。 白盒測試方法包括:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋等。 5.軟件測試策略包括哪些? 一般講軟件測試過程分為:單元測試、集成測試、系統測試、驗收測試四個大的階段。 6.靜態測試和動態測試的概念。 答: 靜態方法是指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性。對需求規格說明書、軟件設計說明書、源程序做結構分析、流程圖分析、符號執行來找錯。靜態方法通過程序靜態特性的分析,找出欠缺和可疑之處,例如不匹配參數、不適當循環嵌套和分支嵌套、不允許的遞歸、未使用過的變量、空指針的引用和可疑的計算等。靜態測試結果可用於進一步的查錯,並為測試用例選取提供指導。 動態方法是指通過運行被測程序, 檢查運行結果與預期結果的差異,並分析運行效率和健壯性等性能,這種方法有三部分組成:構造測試實例、執行程序、分許程序的輸出結果。所謂軟件的餓動態測試,就是通過運行軟件來檢驗軟件的動態行為和運行結果的正確性。目前,動態測試也是公司的測試工作的主要方式。根據動態測試在軟件開發過程中所處的階段和作用,動態測試可分為:單元測試、集成測試、系統測試、驗收測試、回歸測試。 7.什麽是Alpha和Beta測試? Alpha測試由用戶在開發者的場所進行,並且在開發者對用戶的“指導”下進行測試。開發者負責記錄發現在錯誤和使用中遇到的問題。總之,Alpha測試是在受控的環境中進行的。 Beta測試由軟件的最終用戶們在一個或多個客房場所進行。與Alpha測試不同,開發者通常在Beta測試的現場,因Beta測試是軟件在開發者不能控制的環境中的“真實”應用。用戶Beta測試過程中遇到的一切問題(真實在或想像的),並且定期把這些問題報告給開發者。接收到在Beta測試期間報告的問題之後,開發者對軟件產品進行必要的修改,並準備向全體客戶發布最終的軟件產品。 8.什麽是冒煙測試? 冒煙測試的名稱可以理解為該種測試耗時短,僅用一袋煙功夫足夠了。 冒煙測試的對象是每一個新編譯的需要正式測試的軟件版本,目的是確認軟件基本功能正常,可以進行後續的正式測試工作。冒煙測試的執行者是版本編譯人員。 9.什麽是功能測試? Functional testing (功能測試),也稱為behavioral testing(行為測試),根據產品特征、操作描述和用戶方案,測試一個產品的特性和可操作行為以確定它們滿足設計需求。本地化軟件的功能測試,用於驗證應用程序或網站對目標用戶能正確工作。使用適當的平臺、瀏覽器和測試腳本,以保證目標用戶的體驗將足夠好,就像應用程序是專門為該市場開發的一樣。 功能測試也叫黑盒子測試或數據驅動測試,只需考慮各個功能,不需要考慮整個軟件的內部結構及代碼.一般從軟件產品的界面、架構出發,按照需求編寫出來的測試用例,輸入數據在預期結果和實際結果之間進行評測,進而提出更加使產品達到用戶使用的要求。 10.什麽是性能測試? 性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項性能指標進行測試。負載測試和壓力測試都屬於性能測試,兩者可以結合進行。通過負載測試,確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時,系統各項性能指標的變化情況。壓力測試是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級別的測試。 11.什麽是測試用例? 測試用例是為某個特殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試某個程序路徑或核實是否滿足某個特定需求。 測試用例目前沒有經典的定義,比較通常的說法是:指對一項特定的軟件產品進行測試任務的描述,體現測試方法、方法、技術和策略。內容包括測試目標、測試環境、輸入數據、測試步驟、預期結果、測試腳本等,並形成文檔。 測試用例是將軟件測試的行為活動做一個科學化的組織歸納,目的是能夠將軟件測試的行為轉化成可管理的模式;同時測試用例也是講測試具體量化的方法之一。 12.等價類有幾種,含義分別是什麽? 等價類分為有效等價類和無效等價類: 有效等價類:對程序的規格說明有意義的,合理的輸入數據所構成的集合,利用有效等價類可驗證程序是否實現了規格說明中的功能和性能。 無效等價類是那些對程序的規格說明不合理或者無意義的數據所構成的,為了驗證程序做其不應作的事情。 13.等價類劃分的優缺點: 優點:考慮了單個數據域的各類情況,避免盲目或隨機的選取輸入數據的不完整性和不穩定性,同時可有效控制測試設計的數量。 缺點:對組合情況考慮不足,同時等價類劃分基於等價類中的輸入都能產生相同的效果,在很多情況下用例選擇不當會產生問題(如邊界)。 14.等價劃分類的原則: (1)在輸入條件規定的取值範圍或值的個數的情況下,則可以確立一個有效等價類和兩個無效等價類 (2)在輸入條件規定了輸入值的集合或者規定了“必須如何”的條件的情況下,可確力一個有效等價類和一個無效等價類 (3)在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類 (4)在規定了輸入數據的一組值(假定n個),並且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類 (5)在規定了輸入數據必須遵守的規則的情況下,可確定一個有效等價類(符合規則)和若幹個無效等價類(從不同角度違反規則) (6)在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應再將該等價類進一步劃分為更小的等價類。 15.邊界值測試方法的優缺點: 長期的測試工作經驗告訴我們,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是發生在輸入輸出範圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。 不過邊界值分析法與等價類劃分法一樣,沒有考慮輸入之間的組合情況,因此需要進一步結合其他測試用例設計方法。 啦啦啦,小姐姐的分享!

軟件測試理論基礎