作為一個(gè)開源測(cè)試工具的推崇者,我經(jīng)常被問(wèn)到這個(gè)問(wèn)題。許多測(cè)試工程師對(duì)商業(yè)測(cè)試工具情有獨(dú)鐘,總覺得商業(yè)測(cè)試工具既好用又強(qiáng)大,而開源測(cè)試工具功 能弱,缺陷多,而且不好用。對(duì)開源測(cè)試工具的偏見一方面來(lái)自于商業(yè)測(cè)試工具的宣傳,另一方面,也來(lái)自部分測(cè)試工程師在使用開源測(cè)試工具過(guò)程中的心態(tài)。
在本人所在的組織中,公司內(nèi)使用的絕大多數(shù)測(cè)試工具或多或少都有開源測(cè)試工具的影子,從開源測(cè)試工具在本組織的應(yīng)用中看來(lái),使用開 源測(cè)試工具帶來(lái)的優(yōu)勢(shì)非常明顯:
極低的License費(fèi)用:這個(gè)是顯而易見的一個(gè)優(yōu)點(diǎn)。設(shè)想,如果公司需要對(duì)Web應(yīng)用進(jìn)行上萬(wàn)并發(fā)的性能測(cè)試,使用 LoadRunner等商業(yè) 測(cè)試工具的費(fèi)用不是一個(gè)小數(shù)字;
更高的集成度:大多數(shù)商業(yè)測(cè)試工具本身也號(hào)稱提供了自己的“完整解決方案”,但商業(yè)測(cè)試工具往往 只能覆蓋測(cè)試中一部分的領(lǐng)域,對(duì)于集成測(cè)試或是針 對(duì)應(yīng)用的接口測(cè)試方面,商業(yè)測(cè)試工具很難提供企業(yè)需要的好的解決方案。這樣一來(lái),這部分企業(yè)自己建立的自動(dòng)化測(cè)試工具很難被集成到商業(yè)測(cè)試工具形成的 “測(cè)試框架”中。而采用開源測(cè)試工具解決方案的話,這個(gè)問(wèn)題根本不是問(wèn)題;
更適合企業(yè)需要:出于商業(yè)利益的考慮,商業(yè)測(cè)試工具總是 試圖覆蓋“大的用戶群體”,因此商業(yè)測(cè)試工具往往是那種“誰(shuí)都可以用”,但“在哪里都不 是特別好用”的那一類工具,反之,開源測(cè)試工具在這方面具有顯然的優(yōu)勢(shì);
更適合提高企業(yè)的測(cè)試技術(shù)水平:許多開源測(cè)試工具中都體現(xiàn)和 非常值得學(xué)習(xí)的測(cè)試思想和方法,由于開源本身的特性,這些思想和方法是非常容易通過(guò)對(duì) 開源測(cè)試工具的研究來(lái)進(jìn)行學(xué)習(xí)和掌握的。
以JMeter這個(gè)工具為例,我在許多場(chǎng)合下向測(cè)試工程師推薦這個(gè)性能測(cè)試工具,的確也有一些測(cè)試工程師嘗試了這個(gè)工具,但從他們那里,我得到的反 饋往往是:“為什么這個(gè)工具的界面這么難看?”,“為什么這個(gè)工具沒有xx功能(與商業(yè)測(cè)試工具相比)?”,“為什么這個(gè)工具沒有漂亮的文檔?”。許多人 在第一印象上便認(rèn)為,這個(gè)工具比不上商業(yè)測(cè)試工具,然后棄之如敝屐。實(shí)際上真是這樣嗎?我所在的組織的性能測(cè)試幾乎完全依賴于JMeter,通過(guò)在 JMeter上擴(kuò)展的圖表功能,支持集群等功能,通過(guò)少量的代碼,JMeter可以生成比商業(yè)測(cè)試工具更加漂亮,更加有價(jià)值的圖表,而且,更重要的 是,適合我們自己的環(huán)境需要。
當(dāng)然,除了看到開源測(cè)試工具的優(yōu)點(diǎn),我們也應(yīng)該看到開源測(cè)試工具的不便之處。與商業(yè)測(cè)試工具相比,開源測(cè)試工具在產(chǎn)品的用戶交互性,易用性,易學(xué)習(xí) 性方面顯然 不是那么好(當(dāng)然,在我看來(lái),這方面不是測(cè)試工具的重點(diǎn))。因此,要在組織中使用和引入開源測(cè)試工具的話,對(duì)組織中的成員,組織環(huán)境是有一定的要求的。
本人的經(jīng)驗(yàn)而言,許多目前的開源測(cè)試工具,例如Mantis、Testlink、JMeter、Selenium/Webdriver、 xUnit等都已經(jīng)是非常成熟的測(cè)試工具,擁有了大量的使用者,也有許多成功的應(yīng)用實(shí)例,本人的實(shí)踐已經(jīng)充分證明了這些工具在實(shí)際工作中能夠帶來(lái)的收益: 即使只是簡(jiǎn)單的使用開源測(cè)試工具去完成某個(gè)特定的任務(wù),或是用來(lái)搭建公司內(nèi)部的測(cè)試管理平臺(tái),也能從這些工具中受益不少;更何況開源測(cè)試工具擁有眾多的開 發(fā)者,處于不斷的完善和提高中,具有良好的擴(kuò)展性,給你充分修改和改造的自由,從這個(gè)角度來(lái)說(shuō),如果你擁有足夠的資源,想要打造屬于自己的測(cè)試平臺(tái),開源 測(cè)試工具是一個(gè)好的平臺(tái)。