軟件測(cè)試是軟件工程中的一個(gè)重要過(guò)程,也是保證軟件質(zhì)量的重要手段。隨著軟件測(cè)試的地位在軟件開發(fā)過(guò)程中逐步提高,重要性逐步顯現(xiàn),測(cè)試工具的應(yīng)用也已經(jīng)成為了普遍的趨勢(shì)。目前用于測(cè)試的工具比較多,基本上覆蓋了整個(gè)測(cè)試周期。其中國(guó)際主流的HP系列測(cè)試工具、IBM系列測(cè)試工具、Segue系列測(cè)試工具及Compuware系列測(cè)試工具占據(jù)了市場(chǎng)的90%以上。按照測(cè)試方法及測(cè)試目的,我們可以將測(cè)試工具分為白盒測(cè)試工具、黑盒測(cè)試工具、測(cè)試管理工具等。

  白盒測(cè)試工具一般是針對(duì)被測(cè)源程序進(jìn)行的測(cè)試,測(cè)試所發(fā)現(xiàn)的故障可以定位到代碼級(jí)。根據(jù)測(cè)試工具工作原理不同,白盒測(cè)試的自動(dòng)化工具可分為靜態(tài)測(cè)試工具和動(dòng)態(tài)測(cè)試工具。

  目前普遍使用的該類測(cè)試工具主要有Parasoft公司的Jtest、Jcontract、C++ Test,Compuware公司的BoundsChecker、TrueTime、FailSafe等,這類工具可以對(duì)C/ C + +、Java 等語(yǔ)言的軟件源代碼進(jìn)行靜態(tài)分析,內(nèi)置標(biāo)準(zhǔn)的編碼規(guī)則檢查,以及功能確認(rèn)、接口測(cè)試、覆蓋率分析、性能分析等。

  黑盒測(cè)試工具適用于黑盒測(cè)試的場(chǎng)合,黑盒測(cè)試工具包括功能測(cè)試工具和系統(tǒng)測(cè)試工具。黑盒測(cè)試工具的一般原理是利用腳本的錄制和回放,模擬用戶的操作,然后將被測(cè)系統(tǒng)的輸出記錄下來(lái)同預(yù)先給定的標(biāo)準(zhǔn)結(jié)果比較。黑盒測(cè)試工具可以大大減輕黑盒測(cè)試的工作量,在迭代開發(fā)的過(guò)程中,能夠很好地進(jìn)行回歸測(cè)試。

  目前常見的功能測(cè)試工具有HP公司的Winrunner、QuickTest Professional,IBM公司的Rational Functional Tester,Segue公司的SilkTest,Compuware公司的QARun等,這類工具主要為用戶提供了符合所有主要應(yīng)用軟件環(huán)境的功能測(cè)試和回歸測(cè)試的自動(dòng)化測(cè)試功能。常見的性能測(cè)試工具有HP公司的LoadRunner,IBM公司的Rational Performance Tester,Segue公司的SilkPerformer,Compuware公司的QALoad等,這類工具主要通過(guò)模擬上千萬(wàn)用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來(lái)確認(rèn)和查找問(wèn)題,幫助測(cè)試人員和性能工程師驗(yàn)證系統(tǒng)的性能。

  測(cè)試管理工具主要用于對(duì)測(cè)試進(jìn)行管理。一般而言,測(cè)試管理工具對(duì)測(cè)試計(jì)劃、測(cè)試用例、測(cè)試實(shí)施進(jìn)行管理,并且,測(cè)試管理工具還包括對(duì)缺陷的跟蹤管理。

  常用的測(cè)試管理工具主要有HP公司的Quality Center、IBM公司的Rational Test Manager,Segue公司的SilkCentral Test Manager等。

  除了上述測(cè)試工具外,還有一些專用的測(cè)試工具,例如,針對(duì)數(shù)據(jù)庫(kù)測(cè)試的TestBytes,對(duì)應(yīng)用性能進(jìn)行優(yōu)化的EcoScope等。

  近年來(lái),隨著測(cè)試技術(shù)的逐步發(fā)展,加上測(cè)試工作者及測(cè)試廠商的努力,測(cè)試工具在軟件行業(yè)中得到了較為廣泛的應(yīng)用。在2009年下半年由工業(yè)和信息化部組織的范圍內(nèi)對(duì)軟件企業(yè)所進(jìn)行的調(diào)研數(shù)據(jù)來(lái)看,80%以上的軟件企業(yè)都使用了自動(dòng)化測(cè)試技術(shù)。雖然軟件測(cè)試工具得到了很大的發(fā)展,但工具的使用情況來(lái)看,目前大多數(shù)公司是使用性能測(cè)試工具進(jìn)行性能測(cè)試。由于國(guó)內(nèi)的軟件開發(fā)過(guò)程不是很規(guī)范,軟件產(chǎn)品相對(duì)不夠成熟,大多數(shù)軟件往往不具備自動(dòng)化功能測(cè)試工具應(yīng)用的條件。因此,功能測(cè)試工具大規(guī)模的應(yīng)用還需要一定的時(shí)間。

  據(jù)山東省軟件評(píng)測(cè)中心多年科研及實(shí)踐分析,未來(lái)軟件測(cè)試工具發(fā)展將呈現(xiàn)以下趨勢(shì):傳統(tǒng)的軟件測(cè)試生命周期仍在指導(dǎo)著當(dāng)前軟件測(cè)試的組織和實(shí)施,人們對(duì)于軟件測(cè)試過(guò)程模型的研究并沒(méi)有革命性的改變,自動(dòng)化測(cè)試從技術(shù)到工具還沒(méi)有取得與其宣傳相匹配的實(shí)際功效。如何解決“完善的測(cè)試用例、更快的開始并結(jié)束測(cè)試、更多的報(bào)告軟件缺陷”這些問(wèn)題之間的關(guān)系,這將是未來(lái)測(cè)試技術(shù)發(fā)展的重點(diǎn)。在此基礎(chǔ)上,現(xiàn)有的測(cè)試工具也將進(jìn)行更新?lián)Q代。下一代的測(cè)試工具應(yīng)當(dāng)提供怎樣的功能?它們需要內(nèi)嵌高級(jí)的測(cè)試編輯器,并通過(guò)這個(gè)編輯器來(lái)支持界面測(cè)試的自動(dòng)完成功能以及測(cè)試代碼的重構(gòu)和分析么?它需要將測(cè)試結(jié)果可視化么? 或者以自學(xué)習(xí)的方式來(lái)生成測(cè)試用例?

  除此之外,隨著軟件行業(yè)的不斷發(fā)展,大量的新技術(shù)在軟件開發(fā)中得到應(yīng)用,為了滿足日益復(fù)雜的軟件系統(tǒng)的測(cè)試需要,軟件測(cè)試技術(shù)也隨之不斷的發(fā)展,越來(lái)越系統(tǒng)化,越來(lái)越專業(yè)化,同時(shí)軟件測(cè)試工具也將在以下方面得到進(jìn)一步的發(fā)展:

  分布式測(cè)試工具:隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,大量分布式系統(tǒng)被部署在網(wǎng)絡(luò)中,常見的如Web應(yīng)用、Web Service等。分布式系統(tǒng)不同于一般軟件系統(tǒng),它通常由物理分布的多個(gè)子系統(tǒng)組成,這些子系統(tǒng)通過(guò)相互間的協(xié)作完成計(jì)算任務(wù),具有物理分布、并發(fā)訪問(wèn)、時(shí)序敏感、平臺(tái)異構(gòu)等特點(diǎn)。此外,分布式系統(tǒng)中的諸多子系統(tǒng)在觸發(fā)方式、工作方式等方面往往也不屬于同一類型,比如,通過(guò)網(wǎng)絡(luò)協(xié)議傳遞消息的子系統(tǒng)和利用本地接口進(jìn)行方法調(diào)用的子系統(tǒng)等。 因此,對(duì)分布式系統(tǒng)的測(cè)試也不同于一般軟件系統(tǒng)的測(cè)試,需要采用分布式測(cè)試工具。隨著越來(lái)越多的領(lǐng)域活動(dòng)依賴于分布式應(yīng)用,分布式測(cè)試將受到人們更大的關(guān)注,測(cè)試系統(tǒng)實(shí)現(xiàn)技術(shù)也將不斷發(fā)展成熟,分布式測(cè)試工具將成為下一步測(cè)試工具的重點(diǎn)發(fā)展方向。

  云測(cè)試工具:云測(cè)試是基于云計(jì)算的一種新型測(cè)試方案,云計(jì)算通過(guò)網(wǎng)絡(luò)以按需、易擴(kuò)展的方式向用戶交付所需的資源,包括基礎(chǔ)設(shè)施、應(yīng)用平臺(tái)、軟件功能等服務(wù)。作為軟件測(cè)試工具(包括功能測(cè)試工具、性能測(cè)試工具等)服務(wù)商提供的測(cè)試平臺(tái),軟件開發(fā)企業(yè)在其平臺(tái)上進(jìn)行相關(guān)自動(dòng)化測(cè)試、不再在本地計(jì)算機(jī)上安裝和使用這些工具。這種無(wú)須本地安裝和配置測(cè)試環(huán)境,在遠(yuǎn)程測(cè)試平臺(tái)上進(jìn)行測(cè)試的方式被稱作云測(cè)試。目前云測(cè)試平臺(tái)還處于實(shí)驗(yàn)階段,隨著云計(jì)算技術(shù)的逐步發(fā)展,云測(cè)試技術(shù)也將不斷發(fā)展完善。

  安全性測(cè)試工具:安全性測(cè)試工具以自動(dòng)化或半自動(dòng)化的方式驗(yàn)證系統(tǒng)安全功能運(yùn)行是否正確、安全機(jī)制是否有效和查找潛在的安全漏洞。隨著計(jì)算機(jī)網(wǎng)絡(luò)的迅速發(fā)展和軟件的廣泛應(yīng)用,軟件的安全性己經(jīng)成為備受關(guān)注的一個(gè)方面,漸漸融入我們的生活,成為關(guān)系到金融、電力、交通、醫(yī)療、政府以及軍事等各個(gè)領(lǐng)域的關(guān)鍵問(wèn)題。軟件安全漏洞造成的重大損失以及還在不斷增長(zhǎng)的漏洞數(shù)量使人們已經(jīng)開始深刻認(rèn)識(shí)到軟件安全的重要性。隨著安全性測(cè)試技術(shù)的深入研究,安全性測(cè)試工具也將是測(cè)試工具的重點(diǎn)發(fā)展方向。