4個實施持續(xù)測試的“最佳實踐”
開發(fā)是一個有趣的大事件,因為我們處于傳統(tǒng)測試與現(xiàn)代和持續(xù)測試之間的邊界,正在從一個大型的筒倉式的結(jié)構(gòu)轉(zhuǎn)型到一個新的架構(gòu)。之前的組織架構(gòu)包含了開發(fā)團(tuán)隊和集中測試團(tuán)隊,瓶頸和延期不斷的在這兩個團(tuán)隊間交替進(jìn)行著。這種新架構(gòu)由小型,自管理和自給自足的團(tuán)隊組成,它們頻繁發(fā)布軟件,使用持續(xù)集成工具自動化,并管理自己的構(gòu)建環(huán)境以最大限度地減少瓶頸。
但是如何從傳統(tǒng)到現(xiàn)代呢?這篇文章將涵蓋持續(xù)測試實施的4個最佳實踐。
1. 找到正確的持續(xù)測試工具
您的工具是您工作中最重要的組成部分之一。如果您的工具可以幫助您完成工作,提升您的能力并最大限度地提高您的工作效率,那么您將完成工作。如果他們成為一個障礙,不但不能工作,而且你會感到沮喪和停止嘗試。
因此,工具能夠建立敏捷及測試能力前置的通路,自動化和協(xié)作方式的工具是成功進(jìn)入持續(xù)測試的關(guān)鍵。
所以請確保找到合適的工具,使您能夠持續(xù)開發(fā),測試和持續(xù)分析。您可以查看我們撰寫的有關(guān)DevOps工具生態(tài)系統(tǒng)的博客系列,以獲取具體的想法,但一般來說,我們建議以下提示:
- 在購買工具之前嘗試使用工具,讓您獲得他們的氛圍和感覺,并了解他們的能力。如果您可以使用開源工具,例如Apache JMeter進(jìn)行負(fù)載測試,請執(zhí)行此操作。開源工具不斷發(fā)展,他們擁有豐富的支持社區(qū),并根據(jù)您的需求進(jìn)行開發(fā),因為最終您是客戶。
- 選擇與您正在使用的現(xiàn)有工具集成的工具。持續(xù)測試和持續(xù)集成是關(guān)于使事情一起工作,所以嘗試找到工具,輕松將自己融入您的工作環(huán)境。我們特別建議您找到與Jenkins集成的工具,這是一款精彩的開源CI工具,還有GitHub(顯然)。
- 選擇具有自助服務(wù)平臺的工具。這樣,您可以立即輕松地修改和升級所需的任何東西,而無需等待其他人的決定。
- 找到具有豐富文檔的工具 - 如果您想快速入門,或者想要在任何工作時間找到答案,您需要使用該工具輕松訪問具有答案的地方。
- 測試時,確保您可以輕松設(shè)置通過失敗標(biāo)準(zhǔn)。持續(xù)測試是關(guān)于立即確定事情是否正常,所以請確保您可以輕松地進(jìn)行設(shè)置。
2. 思考“自動化”
如果您希望測試快速,順利,那么嘗試自動化您可以做的任何事情。這也節(jié)省了你的時間,使你的工作更有趣,因為你可能自動化了沉悶和重復(fù)性的工作,而不是令人興奮和創(chuàng)造性的部分。
我們建議您進(jìn)入自動化模式。必須確保系統(tǒng)每天穩(wěn)定?嘗試夜間自動化測試吧。必須確保代碼中的每個更改都不會影響您的產(chǎn)品?嘗試自動化每個構(gòu)建吧。在與人類交流之前,每天早晨需要喝咖啡嗎?你也可以自動化。
越來越多的工具可以實現(xiàn)自動化。 Taurus是一款開源自動化測試工具,可自動執(zhí)行JMeter,Gatling,Locust和Tsung等所有開源負(fù)載測試工具,以及功能測試Selenium。它還集成了CI自動化工具Jenkins和BlazeMeter。
3. 協(xié)作
將開發(fā)架構(gòu)更改為更小的原子團(tuán)隊對于使進(jìn)程變得敏捷至關(guān)重要。但不要忘記,這些團(tuán)隊中的每一個都是較大產(chǎn)品的組成部分,而且所有團(tuán)隊都需要一起合作。
因此,在功能團(tuán)隊之間共享測試和資產(chǎn),使報告易于訪問和在線共享(而不是電子郵件!),盡可能地開放角色和權(quán)限,并使用像Slack和HipChat這樣的webhook在測試開始和結(jié)束時通知用戶。要了解有關(guān)在開發(fā)過程中結(jié)合Slack警報的更多信息,請參閱此處。
更易于反復(fù)消化信息的是人們之間的共享,更多的想法和合作將會來臨。越多的開發(fā)者覺得他們對更多的部分負(fù)責(zé),他們就會有越多的合作來推動產(chǎn)品的發(fā)展。
4. 定義和顯示結(jié)果
所以你有了最好的工具,一切都是自動化的,你正在分享你的工作,那現(xiàn)在呢?現(xiàn)在是深度研究結(jié)果的時候了。結(jié)果將會顯示您的代碼和產(chǎn)品是否在運轉(zhuǎn),并且顯示當(dāng)前與要完成的工作之間的差距。
首先,定義可量化的KPI 。 這些關(guān)鍵績效指標(biāo)應(yīng)由產(chǎn)品確定,并反映產(chǎn)品的業(yè)務(wù)目標(biāo)和公司的業(yè)務(wù)計劃。 它們可以包括測試覆蓋率,通過失敗構(gòu)建的數(shù)量,平均響應(yīng)時間等。
其次,創(chuàng)建跟蹤這些KPI的儀表盤。 儀表板應(yīng)顯示每個KPI和他們的基線,這些信息隨時間變化而變化。 只要你給它足夠的時間,任何一個你掃描到的特殊的彈出,儀表盤都能夠給你直觀的深入的數(shù)據(jù)顯示。
第三,公開顯示結(jié)果,以創(chuàng)建透明度,并輕松識別測試覆蓋范圍的差距。 在走廊或隔間房間的大型顯示器上顯示結(jié)果是獲得更多工程師采納的關(guān)鍵,因為您在動員大家時刻準(zhǔn)備著并修復(fù)需要修復(fù)的東西,而不是等待。
持續(xù)測試需要改變您的思維方式,但是通過正確的工具和環(huán)境,您可以順利瀏覽更快,更有趣的開發(fā)。 使用BlazeMeter進(jìn)行測試是持續(xù)測試方向的巨大飛躍。 要查看它是如何工作的, 請求演示 。 您也可以立即開始測試,將jmx文件或URL放在頁面頂部的框中,您的測試將在幾分鐘內(nèi)開始。
【本文是51CTO專欄作者“王津銀”的原創(chuàng)稿件,轉(zhuǎn)載請注明出處】