車延雪 王志強(qiáng)
摘要:軟件的質(zhì)量決定了軟件的生命周期的長(zhǎng)短。軟件測(cè)試是軟件質(zhì)量的一個(gè)有力保障。軟件測(cè)試不是簡(jiǎn)單的“挑錯(cuò)”,而是貫穿于軟件整個(gè)開發(fā)過程的,一套完整的質(zhì)量體系。軟件測(cè)試是通過人工或者自動(dòng)手段來運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過程,從而驗(yàn)證軟件是否能達(dá)成期望功能,它是驗(yàn)證軟件期望功能的唯一有效方法,也是保證軟件產(chǎn)品質(zhì)量的唯一途徑。
關(guān)鍵詞:軟件測(cè)試;軟件開發(fā)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)13-0065-02
1 系統(tǒng)測(cè)試的意義
軟件測(cè)試的目的在于證明軟件能夠正確完成其預(yù)定的功能。最終目的是確保軟件的功能符合用戶的需求,把盡可能多的問題在發(fā)布或交付前發(fā)現(xiàn)并改正確保軟件完成了它所承諾或公布的功能及性能的要求。
2 測(cè)試內(nèi)容
2.1 測(cè)試目標(biāo)
利用軟件測(cè)試W模型,以及黑盒測(cè)試、白盒測(cè)試、靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試等手段,測(cè)試當(dāng)前軟件能否達(dá)到設(shè)計(jì)階段的要求,系統(tǒng)操作和運(yùn)行的穩(wěn)定性是否良好,缺陷率是否在可接受的范圍,是否能夠被用戶接受。W模型測(cè)試貫穿軟件的整個(gè)開發(fā)周期,測(cè)試包括程序、需求和設(shè)計(jì)等。在軟件開發(fā)的初期,就開始測(cè)試,這有利于盡早發(fā)現(xiàn)問題。因?yàn)樗衍浖_發(fā)中需求分析、軟件設(shè)計(jì)及代碼實(shí)現(xiàn)看做是一個(gè)連貫的過程,一般是各階段有嚴(yán)格的界限,一個(gè)階段結(jié)束,另一個(gè)階段才可以開始,而實(shí)際的開發(fā)和測(cè)試中,可能會(huì)有迭代現(xiàn)象,而不存在嚴(yán)格的次序,這是此模型的缺陷[43]。軟件測(cè)試W模型如圖1所示。
2.2 測(cè)試項(xiàng)
2.2.1 黑盒測(cè)試
黑盒測(cè)試也叫做功能測(cè)試,用來檢測(cè)各個(gè)功能是否能夠正常使用。在測(cè)試過程中,著眼于程序的外部結(jié)構(gòu),把它看做是一個(gè)打不開的黑盒子,不考慮內(nèi)部的邏輯結(jié)構(gòu),只檢查程序能否按需求說明中的規(guī)定使用正常。通常針對(duì)軟件界面和功能進(jìn)行測(cè)試。黑盒測(cè)試可以最大程度上保證產(chǎn)品的功能滿足用戶的需求,測(cè)試針對(duì)性強(qiáng),問題定位準(zhǔn)確。但是代碼的不到測(cè)試,測(cè)試不能充分進(jìn)行,結(jié)果的準(zhǔn)確性取決于測(cè)試用例的設(shè)計(jì)。
2.2.2 白盒測(cè)試
白盒測(cè)試也別叫做結(jié)構(gòu)測(cè)試,是根據(jù)程序的內(nèi)部結(jié)構(gòu)測(cè)試程序,檢驗(yàn)軟件內(nèi)部能否按需求正常運(yùn)行,程序中的每條分支能否正常執(zhí)行。這種測(cè)試把對(duì)象看做一個(gè)打開的盒子,根據(jù)程序內(nèi)部的結(jié)構(gòu),設(shè)計(jì)和選擇合理的測(cè)試用例,檢測(cè)代碼中的每一個(gè)分支和路徑,看所有程序可能出現(xiàn)的狀態(tài)與預(yù)期是否一致,找到隱藏在代碼中的錯(cuò)誤。
2.2.3 靜態(tài)測(cè)試
靜態(tài)測(cè)試是指程序在不運(yùn)行的狀態(tài)下,通過分析和檢查程序的語法、結(jié)構(gòu)、接口等來判定程序的正確性。需求說明書、軟件設(shè)計(jì)說明書、流程圖等都是其檢測(cè)的對(duì)象,通過程序靜態(tài)特性的分析,找出欠缺和可疑之處。靜態(tài)測(cè)試結(jié)果可為測(cè)試用例選取提供指導(dǎo),可用于進(jìn)一步的查錯(cuò)。靜態(tài)測(cè)試階段和方法如圖2所示。
2.2.4 動(dòng)態(tài)測(cè)試
動(dòng)態(tài)測(cè)試在程序運(yùn)行的狀態(tài)下,檢查運(yùn)行結(jié)果與預(yù)期是否一致,并可以分析程序的健壯性及運(yùn)行效率。這種方法由三部分組成:構(gòu)造測(cè)試實(shí)例、執(zhí)行程序、分析程序的輸出結(jié)果。動(dòng)態(tài)測(cè)試階段和方法如圖3所示。
2.2.5 功能測(cè)試
功能測(cè)試是對(duì)系統(tǒng)各個(gè)功能模塊進(jìn)行驗(yàn)證,根據(jù)測(cè)試用例,檢查各項(xiàng)功能能否達(dá)到預(yù)期目標(biāo),滿足用戶需求。下面給出一個(gè)功能測(cè)試如表1所示。
2.2.6 業(yè)務(wù)測(cè)試
業(yè)務(wù)測(cè)試主要測(cè)試是業(yè)務(wù)流程,及數(shù)據(jù)在模塊間傳遞過程中能否保證正確。下面給出一個(gè)業(yè)務(wù)測(cè)試如圖5-2所示。
2.2.7 壓力、容量、性能測(cè)試
壓力測(cè)試目的是確認(rèn)軟件能夠在某種高度壓力的情況下依然能正確地運(yùn)行。壓力測(cè)試有時(shí)候也包含性能測(cè)試。我們模擬實(shí)際環(huán)境,重復(fù)執(zhí)行一個(gè)操作,多個(gè)操作并發(fā)執(zhí)行,增加操作的工作量等,確認(rèn)軟件可以在上訴情況下依然正確運(yùn)行。
2.2.8 認(rèn)可度和可用性測(cè)試
在軟件投入使用之前,需要用戶一起來做業(yè)務(wù)測(cè)試和壓力測(cè)試,使軟件被用戶認(rèn)可。
3 測(cè)試結(jié)果
軟件測(cè)試貫穿了整個(gè)軟件的開發(fā)環(huán)節(jié),使我們及時(shí)發(fā)現(xiàn)并修正了很多問題。此系統(tǒng)現(xiàn)在還未投入使用,但是從各個(gè)階段的測(cè)試結(jié)果來看,基本能夠滿足用戶的需求。與此同時(shí),我們也發(fā)現(xiàn)的一些需要改進(jìn)的地方,希望在以后投入使用的過程中,能夠通過用戶的反饋,不斷對(duì)系統(tǒng)加以完善,使系統(tǒng)變大、變強(qiáng)。
參考文獻(xiàn):
[1] James Whittaker, Jason Arbon, Jeff Carollo.Google軟件測(cè)試之道[M].北京:人民郵電出版社,2013.
[2] Paaton R. 軟件測(cè)試(英文版)——經(jīng)典原版書庫[M]. 2版.北京:機(jī)械工業(yè)出版社,2006.