您的位置:軟件測試 >> 測試技術(shù) >> 測試精品文章
從軟件測試的角度揭秘DevOps
作者:Prasad Ramanujam(澤眾軟件原創(chuàng)翻譯) 發(fā)布時間:[ 2015/5/28 14:06:12 ] 推薦標(biāo)簽:軟件測試

  DevOps對測試員意味著什么?
  當(dāng)任一應(yīng)用程序代碼改變了,只有將依賴于它的每樣事物都重新測試一遍,才能保證是正確的。軟件相關(guān)性通常是極其復(fù)雜的,功能中看起來毫不相關(guān)的bug很常見。即使是極小的改變也要求將所有代碼重新測試一遍,如果每一樣都是手動測試的話,這個過程需要大量資源和時間。因此,在短周期(持續(xù)集成的一部分)內(nèi),因為軟件中加入了附加組件或功能,軟件的每一部分都需要經(jīng)常性地重新測試。因為通常每隔幾天要部署一次,所以不太可能每隔幾天手動測試一遍所有的功能。自動化測試提供了一種理想的解決方案,因為這種編碼測試可以在短時間按照要求進行多次。只有擁有更多實質(zhì)性改變的新故事需要手動測試。一個故事的測試一完成,同樣故事的自動化測試也創(chuàng)建好了并被添加到一個中央儲存庫。于是,盡管測試的數(shù)目隨著項目增加而增加,但手動執(zhí)行的測試數(shù)目仍保持相對穩(wěn)定。
  如何將一切都自動化?
  DevOps中,理想情況是將測試的每個階段都自動化,可以追蹤方式的每一步并可以一次次地實現(xiàn)可預(yù)測的結(jié)果。盡管下面的一些做法已經(jīng)存在很久了,但不少團隊沒能成功利用其優(yōu)勢,因此還需要大幅度調(diào)整改善。
  自動化單元測試
  自動化測試的基礎(chǔ)應(yīng)該是整個單元測試覆蓋。單元測試將會測試獨立的單元,通常是在一個不依賴于其他系統(tǒng)的類中。盡管還沒有變成一個主流做法,但自動化單元測試已存在了很久,且往往被視作開發(fā)團隊的責(zé)任。
  自動化集成測試
  集成測試連接不同的單元,還經(jīng)常訪問數(shù)據(jù)庫和其他系統(tǒng)。這些服務(wù)測試進行地比單元測試更久且應(yīng)該只在構(gòu)建服務(wù)器上啟動,它通常是由測試團隊與開發(fā)團隊在一個類灰盒測試?yán)锖献鲌?zhí)行的。有不少工具如Fitnesse和NUnit,每個都擁有特定技術(shù)且能基于需求被采用。
  服務(wù)測試
  服務(wù)和組件層包含不同的單元。系統(tǒng)的各個組件被集成,它們的web服務(wù)需要通過分析對設(shè)置請求的回應(yīng)來檢查。這在一個應(yīng)用程序的敏感部分里執(zhí)行測試時尤其重要,比如保險系統(tǒng)中的保險金確認,一些自動化web服務(wù)驗證工具(比如GreenHat Tester,SOAP UI,SOAP UI Pro等)已經(jīng)存在很久了。
  UI測試
  UI測試是一種黑盒測試技術(shù),本質(zhì)上是測試應(yīng)用程序,中間設(shè)備和基礎(chǔ)設(shè)施的。這些GUI測試是常見的測試,其編寫和自動化很貴。但是對于有效的交付到生產(chǎn),自動進行所有系統(tǒng)和回歸測試極其重要。Devops的關(guān)鍵之一是要了解每一層的執(zhí)行者以及上述測試周期每一階段預(yù)期的質(zhì)量水平。舉個例子,仔細考慮一下下列要求:“當(dāng)點擊提交,數(shù)據(jù)庫中應(yīng)該建好一個條目”。事實上,在UI測試中測試這個是不可能的。然而,我們需要確保有一個單元測試能覆蓋這個場景,在這里任何失敗都可以追溯到上述任一測試中,且可以追究相應(yīng)執(zhí)行者(如:測試團隊,開發(fā)團隊等)的責(zé)任。


   其他自動化流程
  盡管上面展現(xiàn)了不同測試階段的自動化,開發(fā)和交付周期的一些其他流程可以自動提供靈活的DevOps團隊。
  --基于新簽入代碼的自動化和按需的構(gòu)建部署。
  --從系統(tǒng)到開發(fā)者/測試員回送反饋以確定潛在的性能差錯的自動化服務(wù)器和性能控制。
  --與多個系統(tǒng)相互連接并基于需求和要求按區(qū)域幫助分配團隊運行進程的自動化報告和批處理。
  --減少對專業(yè)運維人員或巨大資金支出需要的自動化基礎(chǔ)設(shè)計配置和設(shè)置。
  結(jié)論
  DevOps的目標(biāo)不僅僅是增加變化發(fā)生的速度,還要成功將這些變化部署到生產(chǎn)中,同時當(dāng)錯誤發(fā)生時快速發(fā)現(xiàn)并改正。要做到這一點,需要一個特定人員或團隊負責(zé)Quality Gate將大多數(shù)測試自動化。還有,DevOps是一種工作文化,沒有敏捷、高層管理的鼓勵和開發(fā)與運維團隊間的理解無法發(fā)展壯大。但是如果正確實施的話,能夠提供長期商業(yè)利益。
版權(quán)聲明:本文出自 SPASVO澤眾軟件測試網(wǎng):http://zxzscq.com/news/html/2015528142745.html
原創(chuàng)作品,轉(zhuǎn)載時請務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd