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