軟件測試方法是指測試軟件的方法。隨著軟件測試技術的不斷發展,測試方法也越來越多樣化,針對性更強;選擇合適的軟件測試方法可以讓我們事半功倍。本文主要介紹的是軟件測試方法和規范,跟隨小編一起來了解一下具體的測試流程及規范吧。
軟件測試基本流程圖
軟件測試的規范
測試代碼和項目開發代碼應該利用配置管理工具(如SVN)分開管理。測試代碼編寫完成后,存放在配置庫中。開發過程中,可根據需要對自己編寫代碼進行測試。
并且測試環境和開發環境應分隔開來,以免相互影響,便于缺陷的復現和定位,在條件允許的情況下,性能測試環境應和功能測試環境分開,以免在性能測試過程中對功能測試造成影響。
1、測試階段所基于的文檔(包括但不限于)
測試規范形成的前提是需要有有章可循的依據,這些依據需要基于標準的項目文檔,常見的文檔包括下面幾種:
1.1、軟件需求規格說明書
軟件需求說明書是為了使用戶和軟件開發者雙方對該軟件的初始規定有一個共同的理解,使之成為整個項目組開展工作的基礎。包含硬件、功能、性能、輸入輸出、接口需求、警示信息、保密安全、數據與數據庫、文檔和法規的要求等等。
軟件需求說明書的作用在于便于用戶、開發人員進行理解和交流,反映出用戶問題的結構,可以作為軟件開發工作的基礎和依據,并作為確認測試和驗收的依據。
1.2、軟件設計說明(概要設計或詳細設計)
軟件設計又劃分為概要設計和詳細設計。概要設計是在用戶提出的需求和軟件的設計實現之間架起橋梁,是將用戶提出的目標和需求轉換成具體界面設計解訣方案的重要階段。概設的主要任務是把需求分析得到的系統擴展用例圖轉換為軟件結構和數據結構。設計軟件結構的具體任務是:將一個復雜系統按功能進行模塊劃分、建立模塊的層次結構及調用關系、確定模塊間的接口及人機交互的界面等。從而設計建立一個目標系統的邏輯模型。
而詳細設計是軟件工程中軟件開發的一個步驟,就是對概要設計的一個細化,就是詳細設計每個模塊實現算法,所需的局部結構。在詳細設計階段,主要是通過需求分析的結果,設計出滿足用戶需求的軟件系統產品。軟件設計說明對測試工作開展有很大影響,沒有軟件設計說明很多問題將無法溯源,測試準備的前期工作也是根據軟件設計說明來制定的。
1.3、軟件設計原型(demo)
頁面原型是項目人員快速熟悉項目的最佳路徑,讓開發人員和測試人員更直觀的了解客戶的需求和產品的實現方式、業務邏輯,幫助項目人員更快的理解用戶需求、業務邏輯,用更直觀,具體的界面化方式來說明用戶想要如何來實現他們需要的功能。或者在需求不夠明確,設計說明書不夠全面的情況下,頁面原型也是后期測試用例編寫思想的重要根據。
1.4、接口文檔
當項目中各個子系統間、各個功能模塊間有交互,需要開發接口時,接口文檔會定義出參數傳遞、參數返回的規則,比如:參數的名稱、參數的類型、長度、是否必填、各個返回碼所代表的含義。。,當項目中有接口測試需求的時候,此文檔是很重要的測試依據。
軟件測試方法
1、測試的策略:
(1)靜態測試:不測試程序本身,而直接尋找程序中可能存在的缺陷或評估代碼品質的行為。主要是在單元測試行為中,對技術、設計文件進行評核,程序無法執行或需要對原始程序進行規范符合性檢查時該使用這種策略。
(2)動態測試:運作被測程序,輸入測試資料,檢查運作結果與預期結果的差異,從而判斷系統中是否存在缺陷的過程。
2、動態測試的測試技術:
(1)黑箱測試:測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能性說明的測試方法。主要是在系統測試階段時采用。
(2)白箱測試:使用被測程序內部如何工作的資訊,允許測試人員對程序內部邏輯結構及有關資訊來設計和選擇測試案例,對程序的邏輯路徑進行測試。其測試基于覆蓋全部代碼、分枝、路徑、條件。
(3)灰箱測試:基于被測試程序邏輯結構的基礎上,從系統功能接口上設計測試案例。通常是作為黑箱測試的補充或在黑箱發現缺陷以后,回到原始代碼分析原因確認問題時采用。
3、測試的階段:
(1)單元測試:為最小單位的測試。在單元測試行為中,各獨立單元模塊在與系統其他模塊隔離的情況下進行測試,檢查每個程序模塊是否實現了規定的功能。
(2)整合測試:是在單元測試的基礎上將已經通過測試的單元模塊按照設計要求組裝成系統或子系統進行測試的活動。測試著重在各模塊、各子系統之間界面上的缺陷。
(3)系統測試:透過整合測試的軟件,同其運作環境、資料和使用者結合在一起,在實際或模擬實際環境下,對系統進行全面的測試。目的在于通過與系統需求規格書進行比較,發現軟件與系統定義不符合的地方。
(4)驗收測試:為最后一個測試行為。它是以使用者為主的測試,由使用者設計測試案例,使用實際資料進行測試。
4、測試的方法:
(1)功能測試:檢查軟件的功能是否符合規格說明書上的需求。
(2)性能測試:檢察系統是否實現了規定的性能指標要求。
5、測試的實施組織劃分:
(1)開發者測試(α測試):開發者透過檢測和提供客觀證據,證實軟件的實現是否滿足規定的需求。主要是在系統交付給第三方測試或驗收測試之前進行的活動。
(2)使用者測試(β測試):在使用者的應用環境下,透過使用檢測軟件來驗證是否符合自己預期的需求。
(3)第三方測試(外包測試):軟件發展方和使用者方之間的測試團隊進行的測試行為。
6、測試的其他概念:
(1)人工測試:由測試人員來執行測試案例,然后根據實際的結果和預期的結果進行比較,并記錄測試結果。
(2)自動化測試:透過回放錄制或編寫的自動化腳本,驅動系統運行的測試行為。
(3)回歸測試:軟件在修改以后再次運作之前,為尋找錯誤而執行程序曾用過的測試案例,以測試缺陷是否再次出現的行為。
(4)冒煙測試:軟件版本交付后,對其重要的部分先進行大概的測試,檢查主要功能是否正確,再進行后面的測試。
軟件測試注意事項
1、邊界測試,測試用戶輸入框中的數值的最大數和最小數,以及為空時的情況。
2、非法測試,例如在輸入數字的地方輸入字母。
3、跟蹤測試,跟蹤一條數據的流程,保證數據的正確性。
4、在開始測試時應保證數據的正確性,然后在從系統中找出各種BUG。
5、接口測試,程序往往在接口的地方很容易發生錯誤,要在此模塊測試勿掉以輕心。
6、代碼重用測試,在開發過程中有些模塊功能幾乎相同,程序員在重用代碼時可能忘記在原有代碼上修改或修改不全面,而造成的錯誤。
7、突發事件測試,服務器上可能發生意外情況的測試。
8、外界環境測試,有些系統在開發時依賴于另外一個系統,當另外一個系統發生錯誤時, 這個系統所受到的影響的情況。
9、缺陷驗證:在程序員剛修復Bug之后的地方,一定要在次驗證、測試,往往程序員只修復報告出來的缺陷而不去考慮別的功能在修改時可能會重新造成錯誤。
10、做好BUG管理工作,認真做好測試記錄,在做完一天的測試記錄之后,第二天再根據第一天的測試記錄重復測試你會發現有未修正的錯誤。
11、錯字、錯詞測試,如果在系統中有用詞不當的地方,我想這是不應該的。
12、系統兼容測試,例如有些程序在IE6能運行正常,到IE5下不能運行。有些程序在WIN2000下能運行,而到WIN98卻不能運行。像一些很特別的用戶去使用系統,你很有可能發現BUG。
13、用戶的易用性測試,往往用戶的需求是不斷的變化的,而其中一部份變化的原因,是由用戶操作上不方便引起的。
-
軟件測試
+關注
關注
2文章
229瀏覽量
18586
發布評論請先 登錄
相關推薦
評論