文/鄧紹偉
測(cè)試管理工具作為軟件測(cè)試不可或缺的重要組成部分之一,是軟件測(cè)試開(kāi)發(fā)工作人員數(shù)據(jù)交互順利進(jìn)行的關(guān)鍵。軟件開(kāi)發(fā)測(cè)試人員通過(guò)將測(cè)試流程程序化的方式,跟蹤、監(jiān)測(cè)軟件測(cè)試計(jì)劃、流程以及執(zhí)行過(guò)程中出現(xiàn)的各種問(wèn)題,以便于工作人員及時(shí)的制定解決問(wèn)題的措施,確保軟件測(cè)試工作的高效進(jìn)行。目前,常用的軟件測(cè)試管理工具主要包括了:TrackRecord、TestDirector、TestManager等幾種。比如,HPMercury公司質(zhì)量中心(QC)使用的測(cè)試管理工具,不但達(dá)到了覆蓋測(cè)試核心的目的,同時(shí)還具備了數(shù)據(jù)處理的功能。
軟件測(cè)試中的功能測(cè)試工具,就是運(yùn)用自動(dòng)檢測(cè)、回訪用戶(hù)操作等形式,對(duì)比、分析檢測(cè)系統(tǒng)中輸出的預(yù)先設(shè)定的數(shù)據(jù),以便于測(cè)試人員對(duì)軟件的可靠性做出準(zhǔn)確的判斷。
負(fù)載壓力測(cè)試工具實(shí)際上是一種的度量應(yīng)用系統(tǒng)可擴(kuò)展性與其他相關(guān)性能常用的工具,借助這種自動(dòng)化工具對(duì)系統(tǒng)的功能與行為進(jìn)行預(yù)測(cè),測(cè)試人員可以通過(guò)數(shù)以萬(wàn)計(jì)的用戶(hù)執(zhí)行關(guān)鍵的任務(wù),并利用實(shí)時(shí)檢測(cè)的性能來(lái)對(duì)問(wèn)題進(jìn)行確認(rèn)和查找。這種類(lèi)型的工具主要包括了:E-TestSuite、SilkPerformav、LoadRunner、QALoad等幾種。
白盒測(cè)試工具實(shí)際上就是人們常說(shuō)的代碼測(cè)試,軟件測(cè)試工作人員使用白盒測(cè)試工具測(cè)試軟件,不但能夠及時(shí)發(fā)現(xiàn)軟件中存在的漏洞和缺陷,同時(shí)也為其準(zhǔn)確定位代碼級(jí)別提供了技術(shù)支持。白盒測(cè)試方法作為一種以靜態(tài)測(cè)試工具和動(dòng)態(tài)測(cè)試工具為原理的測(cè)試方法,這種測(cè)試工具的推廣和應(yīng)用,對(duì)于軟件測(cè)試水平的提高有著極大的促進(jìn)作用。測(cè)試人員使用靜態(tài)測(cè)試工具可以在不掃描運(yùn)行代碼的情況下完成軟件運(yùn)行情況的測(cè)試,像PRQA、Logiscope都是常用的靜態(tài)測(cè)試工具。當(dāng)前常用的Klocwork測(cè)試工具,不但可以通過(guò)掃描C及Java項(xiàng)目代碼的方式測(cè)試軟件,同時(shí)還可以通過(guò)對(duì)代碼缺陷嚴(yán)重程度的分析,對(duì)所屬文件類(lèi)型進(jìn)行詳細(xì)的分類(lèi),促進(jìn)了軟件檢測(cè)質(zhì)量和效果的有效提升。軟件測(cè)試工作人員在使用動(dòng)態(tài)測(cè)試工具測(cè)試系統(tǒng)運(yùn)行狀態(tài)時(shí),主要典型的測(cè)試工具有RationalPurify、DevPartner。比如,在運(yùn)用單元測(cè)試工具進(jìn)行檢測(cè)時(shí),主要采取的插裝式的軟件測(cè)試方法,將檢測(cè)的代碼插入一些可執(zhí)行的文件中,比如JUnit、C++Test、GoogleTest等。
雖然輔助測(cè)試工具不具備執(zhí)行測(cè)試程序的功能,但是其可以通過(guò)生成測(cè)試數(shù)據(jù)的方式,為軟件測(cè)試工作的順利開(kāi)展提供數(shù)據(jù)依據(jù)。主要有TestcaseMaster,在測(cè)試的過(guò)程中,采用域測(cè)試法、逐級(jí)細(xì)分法、錯(cuò)誤猜測(cè)法、因果圖分析法等測(cè)試方法,為測(cè)試提供更好的測(cè)試用例,從而讓測(cè)試更加順利的進(jìn)行。
當(dāng)前,我國(guó)軟件自動(dòng)化測(cè)試技術(shù)應(yīng)該具備一下優(yōu)勢(shì):
(1)測(cè)試效率的大幅度提高。因?yàn)檐浖y(cè)試是一項(xiàng)工作量大且出錯(cuò)頻率較高的工作,所以,使用傳統(tǒng)測(cè)試技術(shù)取得的測(cè)試效果已經(jīng)無(wú)法滿(mǎn)足計(jì)算機(jī)信息技術(shù)發(fā)展的要求。引進(jìn)自動(dòng)化測(cè)試技術(shù)之后,可以將原本繁瑣的測(cè)試步驟代替,軟件測(cè)試人員通過(guò)引進(jìn)高效測(cè)試技術(shù)的方式,不僅有效的縮短了軟件測(cè)試的工作時(shí)間,減輕了軟禁測(cè)試的工作量,同時(shí)也提高了軟件測(cè)試的效率。
(2)軟件自動(dòng)化測(cè)試多樣化。自動(dòng)化測(cè)試技術(shù)最顯著的特點(diǎn)就是可以在完成手工測(cè)試工作的基礎(chǔ)上,完成很多手工無(wú)法完成的測(cè)試工作。比如,在開(kāi)展大數(shù)據(jù)測(cè)試、壓力測(cè)試、崩潰性測(cè)試等非功能性測(cè)試工作時(shí),如果使用手工測(cè)試方法,不僅需要投入大量的人力、物力和時(shí)間成本,而且測(cè)試結(jié)果的準(zhǔn)確性也無(wú)法保證,所以,這些測(cè)試工作都必須采用自動(dòng)化測(cè)試的方法進(jìn)行測(cè)試。
(3)降低了軟件測(cè)試的風(fēng)險(xiǎn),促進(jìn)了資源利用率的有效提升。在軟件自動(dòng)化技術(shù)應(yīng)用中可以降低風(fēng)險(xiǎn),還可以增加軟件的信任度,體改資源的有效利用。
(4)資源利用率高。在測(cè)試的過(guò)程中,將一些復(fù)雜的工作交給自動(dòng)化測(cè)試系統(tǒng)完成,不但降低了軟件測(cè)試的人工成本,將測(cè)試人員徹底解放出來(lái),使其可以將主要精力放在手工測(cè)試與案例的分析設(shè)計(jì)工作中,從而降低人員的浪費(fèi),提高工作人員的利用,提高工作效率。
自動(dòng)化軟件測(cè)試技術(shù)是上世紀(jì)九十年代出現(xiàn)的一種取代傳統(tǒng)人工測(cè)試的一種全新的軟件測(cè)試技術(shù)。這一技術(shù)在最初使用時(shí),主要是借助相關(guān)的硬件來(lái)著錄制輸入和操作的,但是不能對(duì)某個(gè)點(diǎn)進(jìn)行檢查,不能對(duì)某個(gè)點(diǎn)的功能和屬性進(jìn)行檢查。這種操作模式下記錄操作的腳本和操作的數(shù)據(jù)是混在一起的,在維護(hù)的時(shí)候需要很高的成本。不僅如此,如果界面出現(xiàn)變化導(dǎo)致腳本沒(méi)有辦法使用,測(cè)試人員必須重新進(jìn)行錄制,才能確保軟件測(cè)試的順利完成,所以,這種測(cè)試方法在實(shí)際應(yīng)用過(guò)程中不僅使用效率低,而且使用成本較高。
在計(jì)算機(jī)信息技術(shù)迅速發(fā)展的推動(dòng)下,軟件測(cè)試技術(shù)已經(jīng)由以往的硬件模式轉(zhuǎn)變?yōu)檐浖J剑瑴y(cè)試人員在開(kāi)展軟件測(cè)試工作時(shí),只需要按照測(cè)試工作的要求,進(jìn)行各個(gè)檢查點(diǎn)參數(shù)值、屬性值、預(yù)期值的檢測(cè),即可斷定這些功能是否可以實(shí)現(xiàn)。與最初的自動(dòng)化測(cè)試有所不同的是,這種技術(shù)可以實(shí)現(xiàn)文件中數(shù)據(jù)的讀取,將數(shù)據(jù)的讀取和操作進(jìn)行分離,因此可以稱(chēng)之為鯽魚(yú)數(shù)據(jù)的自動(dòng)化測(cè)試技術(shù)。這種技術(shù)可以將輸入數(shù)、預(yù)期輸出組織成表,然后將表中的數(shù)據(jù)進(jìn)行一一測(cè)試,在測(cè)試過(guò)程中可以進(jìn)行一行一行讀數(shù),然后再將事先錄制好的或者是工作人員手工編寫(xiě)的測(cè)試腳本用變量的方式傳入,就可以將不同類(lèi)型的輸入、輸出數(shù)據(jù)進(jìn)行組合。這樣可以更有效的對(duì)被測(cè)系統(tǒng)進(jìn)行測(cè)試。
自2001年開(kāi)始,基于關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測(cè)試技術(shù)開(kāi)始進(jìn)行應(yīng)用,然后通過(guò)對(duì)數(shù)據(jù)驅(qū)動(dòng)技術(shù)的有效擴(kuò)展。測(cè)試人員在進(jìn)行關(guān)鍵字的驅(qū)動(dòng)自動(dòng)化測(cè)試工作時(shí),需要利用語(yǔ)言描述進(jìn)行測(cè)試用例,還要將測(cè)試腳本進(jìn)行抽象化,讓不懂代碼的人員可以利用工具進(jìn)行測(cè)試。因?yàn)殛P(guān)鍵字驅(qū)動(dòng)自動(dòng)化測(cè)試比較抽象,邏輯性比較強(qiáng),其主要的思想是腳本與數(shù)據(jù)的分離,在測(cè)試中描述與具體的現(xiàn)實(shí)細(xì)節(jié)進(jìn)行分離。
所謂領(lǐng)域驅(qū)動(dòng)自動(dòng)化測(cè)試技術(shù),實(shí)際上就是從以往的關(guān)鍵字測(cè)試技術(shù)上發(fā)展衍生而來(lái)的。該測(cè)試技術(shù)最顯著的特點(diǎn)就是:從領(lǐng)域模型中利用被測(cè)軟件的領(lǐng)域語(yǔ)言描述測(cè)試用例,還要對(duì)測(cè)試的用例和關(guān)鍵字進(jìn)行有效的設(shè)計(jì)、分析、開(kāi)發(fā)和組織管理,這樣可以使得測(cè)試更有效。領(lǐng)域驅(qū)動(dòng)自動(dòng)化的優(yōu)勢(shì)主要有:
(1)在測(cè)試的過(guò)程中利用領(lǐng)域描述可以使得測(cè)試更好理解。
(2)在進(jìn)行軟件測(cè)試時(shí),工作人員可以根據(jù)要求隨意的進(jìn)行關(guān)鍵字和設(shè)置參數(shù)的整合,確保軟件測(cè)試工作的順利進(jìn)行。
(3)假如被測(cè)試軟件產(chǎn)品發(fā)生變化的話,還要將領(lǐng)域驅(qū)動(dòng)進(jìn)行更新,從而可以更加適應(yīng)這種變化,而對(duì)測(cè)試用例不用修改。
這種自動(dòng)化測(cè)試技術(shù)首先要將整個(gè)系統(tǒng)進(jìn)行劃分,從而形成多個(gè)獨(dú)立的模塊,每個(gè)模塊都可以作為測(cè)試的載體,還要包含相應(yīng)的數(shù)據(jù)信息和測(cè)試函數(shù),是一個(gè)獨(dú)立的測(cè)試用例,在需要的時(shí)候可以根據(jù)不同的需要調(diào)用相應(yīng)的測(cè)試模塊進(jìn)行應(yīng)用,從而將模塊中的數(shù)據(jù)進(jìn)行讀取。雖然應(yīng)用模塊將計(jì)算機(jī)系統(tǒng)中的所有系統(tǒng)界面、操作以及輸入等封裝整合在一起,但是,由于這些模塊是相對(duì)獨(dú)立存在的,因此,工作人員在進(jìn)行計(jì)算機(jī)軟件的維護(hù)時(shí),也必須根據(jù)要求對(duì)其進(jìn)行單獨(dú)的維護(hù)。
以指令驅(qū)動(dòng)為基礎(chǔ)的自動(dòng)化測(cè)試實(shí)際上是一種以數(shù)據(jù)驅(qū)動(dòng)自動(dòng)化技術(shù)為基礎(chǔ)改進(jìn)優(yōu)化而來(lái)的軟件測(cè)試技術(shù),這一技術(shù)主要是在軟件測(cè)試的過(guò)程中,通過(guò)響鈴的指令驅(qū)動(dòng)系統(tǒng),進(jìn)行軟件的測(cè)試。
總而言之,軟件測(cè)試是非常重要的,是不可忽視的重要環(huán)節(jié),軟件的測(cè)試影響著產(chǎn)品的質(zhì)量和用戶(hù)的體驗(yàn)感。目前軟件的功能越來(lái)越多,規(guī)模也會(huì)更加大、環(huán)境更復(fù)雜,這對(duì)軟件測(cè)試提出更高的挑戰(zhàn)。因此要不斷的完善軟件測(cè)試技術(shù),不斷創(chuàng)新和改進(jìn),從而提高測(cè)試的效率,滿(mǎn)足用戶(hù)的需求。