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