軟件評測基礎知識
軟件測試基本概念
軟件質量與軟件測試:軟件測試是軟件質量保證工作的一個重要環節。軟件測試和軟件質量保證是軟件質量工程的兩個不同層面的工作。軟件測試只是軟件質量保證工作中的一個重要環節。質量保證(QA)的工作是通過預防、檢查與改進來保證軟件的質量,它所關注的是軟件質量的檢查和測量。軟件測試所關心的不是過程的活動,而是對過程的產物以及開發出的軟件進行剖析。
軟件測試定義:軟件測試就是在軟件投入運行前對軟件需求分析、軟件設計規格說明和軟件編碼進行的查錯(包括代碼執行活動與人工活動)。軟件測試是為了發現錯誤而執行程序的過程。軟件測試是根據軟件開發各階段的規格說明和程序的內部結構而精心設計一批測試用例(即輸入數據及其預期的輸出結果),并利用這些測試用例去運行程序,以發現程序的錯誤。是在軟件投入運行前,對軟件需求分析、軟件設計規格說明和軟件編碼的最終復審,是軟件質量保證的關鍵步驟。
軟件測試目的:(1)測試是一個為了尋找錯誤而運行程序的過程;(2)一個好的測試用例是指很可能找到迄今為止未發現的錯誤的用例;(3)一個成功的測試是指揭示了迄今為止尚未發現的錯誤的測試。
軟件測試的目標是能夠以耗費最少時間與最小工作量找出軟件系統中潛在的各種錯誤與缺陷。
測試只能證明程序中錯誤的存在,但不能證明程序中沒有錯誤。
軟件測試原則:(1)盡早地并不斷地進行軟件測試;(2)程序員或程序設計機構應避免測試自己設計的程序;(3)測試前應當設定合理的測試用例;(4)測試用例的設計不僅要有合法的輸入數據,還要有非法的輸入數據;(5)在對程序修改之后要進行回歸測試;(6)充分注意測試中的群集現象;(7)妥善保留測試計劃、全部測試用例、出錯統計和最終分析報告,并把它們作為軟件的組成部分之一,為軟件的維護提供方便;(8)應當對每一個測試結果做全面檢查;(9)嚴格執行測試計劃,排除測試的隨意性。
軟件測試對象:軟件的測試不僅僅是程序的測試,軟件的測試應貫穿于整個軟件生命同期中。在軟件定義階段產生的可行性報告、項目實施計劃、軟件需求說明書或系統功能說明書,在軟件開發階段產生的概要測試說明書、詳細設計說明書,以及源程序等都是軟件測試的對象。
軟件測試過程模型:V模型、W模型、H模型。
軟件測試模型的使用:在實際軟件測試的實施過程中,應靈活地運用各種模型的優點,通常可以在W模型的框架下,運用H模型的思想進行獨立的測試。當有變更發生時,按X模型和前置模型的思想進行處理。同時,將測試和開發緊密結合,尋找恰當的就緒點開始測試,并反復進行迭代測試,以達到按期完成預定的目標。
軟件問題分類:軟件錯誤、軟件缺陷、軟件故障、軟件失效。
軟件測試類型:
按開發階段分:單元測試、集成測試、確認測試(有效性測試)、系統測試
確認測試、驗收測試
按測試實施組織分:開發方測試(驗證測試或alpha測試)、用戶測試(beta)、第三方測試(獨立測試)
按測試方式分:動態測試、靜態測試
按測試技術分:白盒測試、黑盒測試、灰盒測試
軟件測試過程:用黑盒法設計基本的測試方案,再利用白盒法補充一些必要的測試方案。可以用以下策略結合各種方法:
(1)在任何情況下都應該使用邊界值分析的方法;
(2)必要時用等價劃分法補充測試方案;
(3)必要時用錯誤推測法補充測試方案;
(4)如果在程序的功能說明中含有輸入條件的組合,最好在一開始就用因果圖法,然后再按以上(1)、(2)、(3)步進行。
(5)對照程序邏輯,檢查已設計出的設計方案。可以根據對程序可靠性的要求采用不同的邏輯覆蓋標準,如果現有測試方案的邏輯覆蓋程度沒有達到要求的覆蓋標準,則應再補充一些測試方案。
單元測試主要是對模塊的5個基本特性進行測試和評價:(1)模塊接口;(2)局部數據結構;(3)重要的執行路徑;(4)錯誤處理;(5)邊界測試。
在集成測試時,要考慮的問題有:數據經過接口是否會丟失;一個模塊對另一模塊是否造成不應有的影響;幾個子功能組合起來能否實現主功能;誤差不斷積累是否達到不可接受的程度;全局數據結構是否有問題。
確認測試又稱為有效性測試、合格測試或驗收測試。確認測試主要由使用用戶參加測試,檢驗軟件規格說明的技術標準的符合程度,是保證軟件質量的最后關鍵環節。
系統測試是將通過確認測試的軟件,作為整個基于計算機系統的一個元素,與計算機硬件、外設、某些支持軟件、數據和人員等其他系統元素結合在一起,在實際運行(使用)環境下,對計算機系統進行一系列的組裝測試和確認測試。系統測試實質上是由一系列不同測試組成的,其主要目的是充分運行系統,驗證系統各個部件是否都能正常工作并完成所分配的功能。
系統測試包括:恢復測試、安全性測試、強度測試、性能測試等。
驗收測試是以用戶為主,軟件開發人員和質量保證人員也應參加的測試。由用戶參加設計測試用例。使用用戶界面輸入測試數據,并分析測試的輸出結果。驗收測試往往知系統測試完成后,項目最終交付前進行。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |