性能測試的門(mén)檻 軟件測試
隨著(zhù)軟件測試行業(yè)的逐漸發(fā)展,性能測試也變得火熱起來(lái)。從各大測試論壇和測試交流群的交流主題的熱門(mén)程度來(lái)看,性能測試已經(jīng)成為大家非常感興趣的話(huà)題。性能測試作為軟件測試行業(yè)技術(shù)性相對較高的工作(自動(dòng)化測試、白盒測試、性能測試)來(lái)說(shuō),個(gè)人覺(jué)得其操作門(mén)檻還是不低的。對于測試新手來(lái)說(shuō)入門(mén)有一定的難度,做的好就更加不容易了,可能花了不少時(shí)間而實(shí)際收獲不大。因此覺(jué)得有必要來(lái)專(zhuān)門(mén)探討一下性能測試的門(mén)檻,以及如何更好的邁進(jìn)這個(gè)門(mén)檻。
先來(lái)分析一下一些關(guān)于性能測試入門(mén)級的常見(jiàn)問(wèn)題:
1、請問(wèn)怎么做象PhotoShop這類(lèi)單機程序的性能測試;
2、用Delphi開(kāi)發(fā)的程序,應該用什么協(xié)議來(lái)錄制腳本;
3、用IP欺騙能對外網(wǎng)進(jìn)行測試嗎;
關(guān)于第1個(gè)問(wèn)題,問(wèn)題本身并沒(méi)有錯誤,單機版也有性能問(wèn)題。但和我們通常所說(shuō)的性能測試是兩回事,不能混為一談。如果這個(gè)算是問(wèn)題的話(huà),那我想是由于不清楚性能測試的概念和原理所造成的。第2個(gè)問(wèn)題也不少見(jiàn),但這種問(wèn)題無(wú)法回答。我們知道,性能測試采用的協(xié)議是由被測系統的體系架構和通信協(xié)議決定的,而不在乎你用什么開(kāi)發(fā)工具或開(kāi)發(fā)語(yǔ)言。第3個(gè)問(wèn)題,關(guān)于IP欺騙一般只用在內網(wǎng),不管你在內網(wǎng)如何欺騙,經(jīng)過(guò)網(wǎng)絡(luò )地址轉換后到了外網(wǎng)上的IP地址表現就是你的公網(wǎng)的IP,除非你一開(kāi)始就設置成公網(wǎng)的IP地址,但這個(gè)一般都不可能。這個(gè)問(wèn)題體現提問(wèn)者對于網(wǎng)絡(luò )知識的理解還不深入。
以上問(wèn)題反映了在學(xué)習性能測試人員的一個(gè)比較普遍的現象,缺乏必要的知識積累、知識面不足,但又由于學(xué)習興趣或工作壓力期望急于求成,由此而形成這樣一個(gè)矛盾的局面。
在我看來(lái),性能測試是一項綜合性很強的工作,甚至可以作為一項工程來(lái)看待。
從性能測試的知識體系來(lái)看,性能測試需要掌握性能測試的基礎知識、業(yè)務(wù)知識、開(kāi)發(fā)相關(guān)知識、以及性能測試工具。
基礎知識包括性能測試的原理、常見(jiàn)的測試類(lèi)型、方法、策略,如何進(jìn)行一個(gè)計劃、設計、實(shí)施、分析等性能測試過(guò)程。沒(méi)有性能測試基礎知識,一切簡(jiǎn)單的性能測試在你手上都將出現各種問(wèn)題,測試交流將變得難以溝通,同時(shí)性能測試的成功率將大大降低。
業(yè)務(wù)知識通常都被忽略了。性能測試要基于被測系統的應用場(chǎng)景才有實(shí)際的價(jià)值,測試場(chǎng)景對性能測試結果有決定性的影響,因此測試場(chǎng)景的設計是非常關(guān)鍵的,場(chǎng)景的設計需要和業(yè)務(wù)應用結合起來(lái)。在一些比較正規的性能測試過(guò)程中,會(huì )有業(yè)務(wù)人員配合一起做性能用例設計的。
開(kāi)發(fā)相關(guān)的知識也是必須具備的知識,通常在這方面也是我們最大的缺點(diǎn)。這方面的知識包括操作系統、數據庫、應用服務(wù)器、中間件、網(wǎng)絡(luò )等,每一個(gè)都是一門(mén)很深的學(xué)問(wèn),而要求性能測試人員都精通好像也不太現實(shí)。但起碼的知識還是需要掌握的,比如通常有哪些參數需要監控和調整,它們之間是如何通信和運作的,某一方面知識的欠缺都可能導致測試模擬不準確或問(wèn)題定位不充分,沒(méi)有這些知識的支撐性能測試將變得難以下手或者學(xué)習工作的進(jìn)展都會(huì )有很大的影響。
測試工具的應用,這個(gè)是目前學(xué)習的焦點(diǎn)。只有在前面3點(diǎn)的基礎上,采用合適的測試工具,才有助于測試目標的達成。
從另外的角度分析,性能測試又可以分為技術(shù)、方法和管理方面的范疇。沒(méi)有方法的指導光有技術(shù)那是行不通的,那是有勇無(wú)謀的體現。同時(shí)性能測試經(jīng)常作為一個(gè)獨立的階段和活動(dòng),更需要用項目管理的方法進(jìn)行,比如一個(gè)在客戶(hù)現場(chǎng)的性能測試驗收測試,與客戶(hù)進(jìn)行交流、時(shí)間計劃的制定、測試進(jìn)度的控制、測試腳本和測試數據的版本管理、各種資源的諧調等,都是需要用管理的思想進(jìn)行的。
從以上分析可以看出,由于性能測試工作需要具備這么多的知識,因此在一定程度上也成為了性能測試的門(mén)檻。這個(gè)綜合的門(mén)檻將會(huì )成為很多性能測試新手入門(mén)的一道障礙,要突破這道障礙,建議結合自己的知識體系有針對性地去學(xué)習和提高。
性能測試是一個(gè)技術(shù)與方法并重的工作,目前論壇上多談技術(shù),少談方法,很多人甚至在沒(méi)有任何性能測試基礎知識的情況下就埋頭苦學(xué)測試工具,我覺(jué)得是不應該的。我們應該意識到,測試工具只是性能測試中的一部分,僅是為達到性能測試目的而采用的一種手段。性能測試對于我們最大的價(jià)值在于方法和經(jīng)驗,我們學(xué)習的目標是整個(gè)性能測試過(guò)程上方法學(xué)的東西,而不是掌握具體某個(gè)測試工具。LoadRunner并不是萬(wàn)能的,在什么情況下應該采用什么工具才能達到最佳的效果,需要我們去判斷。
另外,學(xué)習需要有一個(gè)循序漸進(jìn)的過(guò)程,性能測試需要長(cháng)時(shí)間的知識積累,沒(méi)有什么捷徑可言。從學(xué)習效率和職業(yè)發(fā)展方面考慮,本人不太建議沒(méi)有工作經(jīng)驗的測試新手一上來(lái)就扎進(jìn)性能測試之中去,這樣將花費你更多的時(shí)間精力去學(xué)習,是一種事倍功半的效果。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/