DevOps興起意味著專職測試人員消失?三分鐘測試:什麼是DevOps?
出品方:Atstudy網校
網友小Q的提問:
我最近準備去面試測試開發工程師崗位,崗位要求中提到需要熟悉“Devops方法論”,會使用相關工具鏈及部署Docker、Jenkins等”,我想知道面試官會提些什麼問題?我又該如何回答呢?
Atstudy網校小A的回答:
DevOps是一種軟體開發的解決方案,涉及軟體在整個開發生命週期中的持續開發,持續測試,持續整合,持續部署和持續監控。
DevOps 適合“軟體即服務(SaaS)”或“平臺即服務(PaaS)”這樣的應用領域,其最顯著的特徵就是:
打通使用者、PMO、需求、設計、開發(Dev)、測試、運維(Ops)等各上下游部門或不同角色;
打通業務、架構、程式碼、測試、部署、監控、安全、效能等各領域工具鏈;
DevOps是一個自動化過程,允許快速,安全和高質量的軟體開發和釋出,它可以提高客戶滿意度,這就是為什麼前沿網際網路公司及中大規模企業選擇DevOps作為其業務目標的前進方向的原因, 同時也是當前及未來整個IT行業大趨勢下的主流解決方案,無論你以什麼角色出現在專案團隊中,Devops必須是你知識儲備錦囊中不可或缺的點金石。
面試官通常在面試中會問到以下幾個問題,供參考。
問題1:談談您對DevOps和持續交付的理解。
DevOps 是旨在打破開發團隊與運維團隊之間的壁壘的一次嘗試。
通常來說 DevOps 與持續交付實踐是一回事,因為在我們進行軟體交付時,這兩者是緊密關聯的。
不過,有一種關鍵的實踐會鞏固 CD 流程,即部署管道。
它的作用不僅僅體現在透過某個 CI 伺服器對每次程式碼變更重新構建並測試你的應用,部署管道是整個交付流程的一個模型,包含了從提交到投入生產環境的全部過程。
問題2:如何從工程角度來保證UI自動化測試的落地實施。
使用適合的設計模式編寫測試指令碼;
引入爬蟲策略,執行UI自動化測試前先對比變動範圍並更新元素資訊;(對UI自動化測試來說,元素資訊的變更非常頻繁這個因素是我們實施UI自動化測試最頭痛的因素,那麼我們就可以引入爬蟲策略來減少UI變動頻繁帶來的煩惱。具體策略是:先執行爬蟲,將我們UI自動化測試指令碼中所用到的元素資訊全部更新成最新的,這樣,在我們執行UI自動化測試指令碼時就可以節省很多時就來規避因為UI層元素資訊變更帶來的大量的測試指令碼維護工作了)
同時使用多機並行策略,減少UI自動化執行的耗時。
問題3:您所瞭解的持續交付流水線是怎樣的?
開發提交程式碼到遠端倉庫;觸發持續交付中的構建(拉取程式碼並編譯);
更新測試環境;執行自動化測試;生成測試報告;推送構建訊息。
問題4:白盒測試策略有哪些?
程式碼走查,靜態程式碼掃描,單元測試。
問題5:您瞭解的Java編譯工具有哪些?它們的優缺點是什麼?
常用的Java的編譯工具有Ant,Maven,Gradle。
它們的區別是:
Ant是第一個“現代”構建工具,在很多方面它有些像Make。2000年釋出,在很短時間內成為Java專案上最流行的構建工具。它主要的不足是用XML作為指令碼編寫格式,大型專案中配置資訊很多,這種方式很難維護。
Maven則是使用POM專案物件模型來管理專案配置,這樣一來配置檔案就會相對簡潔,並且配置檔案的複用性非常好。另外,Maven有3個獨立的生命週期,在任何一個生命中執行構建目標,該生命週期階段的之前所有階段都會被執行,非常便於我們的編譯構建。
Gradle結合了前ant和maven的優點,它具有Ant的強大和靈活,又有Maven的生命週期管理且易於使用。
Gradle不用XML作為配置檔案,它使用基於Groovy的專門的DSL(Domain-Specific Language領域特定語言)來作為配置檔案,從而使Gradle的構建指令碼非常簡潔清晰。
問題6:聊聊您對Svn和Git的理解。
SVN是集中化版本管理工具的代表,它要解決的問題是:如何讓在不同系統上的開發者協同工作。 SVN的工作原理是:有一個單一的集中管理的伺服器,儲存所有檔案的修訂版本,而協同工作的人們都透過客戶端連到這臺伺服器,取出最新的檔案或者提交更新。
Git是分散式管理工具,它要解決的問題是:集中化版本控制的不足。 Git的工作原理是:客戶端把程式碼倉庫完整地映象下來,這樣一來,每一次的拉取操作,實際上都是一次對程式碼倉庫的完整備份,就不存在中央倉庫的概念了,因為任何一個客戶端的映象都和遠端倉庫一樣。
加我VX:ww-51testing 回覆關鍵詞“測試”領取限量軟體測試學習資料哦~~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2653937/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DevOps 未來,測試究竟有什麼樣的可能dev
- DevOps是什麼?5分鐘帶你瞭解DevOpsdev
- DevOps 中的測試實踐dev
- DevOps中的測試實踐dev
- Devops-01-devops 是什麼?dev
- DevOps 時代的高效測試之路dev
- 【Azure DevOps系列】什麼是Azure DevOpsdev
- 為什麼測試人員必學Linux?Linux
- 什麼是 DevOpsdev
- 什麼是DevOps?dev
- [專業術語]什麼是DevOps?dev
- 測試行業 怎麼招聘女測試人員,行業
- DevOps 的職業認證對測試職業發展幫助大嗎?dev
- 什麼是測試左移和測試右移
- 測試人員為什麼要深入到專案實現中去?
- 測試人員承接測試需求的策略
- 敏捷測試是什麼?敏捷測試
- 什麼是MIPI測試?
- 測試人員為什麼必須要會 LinuxLinux
- 好的軟體測試人員簡歷是什麼樣子的?
- 什麼是滲透測試?與安全測試的區別是什麼?
- DevOps是什麼?DevOps能夠給我們帶來什麼?dev
- 什麼是滲透測試?為什麼要做滲透測試?
- 在持續測試中使用哪種測試?談談DevOps在測試策略中的實踐!dev
- 關於什麼是 DevOpsdev
- 測試人員如何提高API功能測試效率?API
- 測試人員如何攻破物聯網測試?
- 測試工程師必學:測試人員如何深入瞭解專案工程師
- 軟體測試中的黑盒測試是什麼?
- 什麼是功能測試?-Alltesting|澤眾雲測試
- 介面測試是什麼?如何做好介面測試?
- 軟體測試初級人員如何應對職場面試?面試
- 建立有效DevOps測試策略的5大技巧dev
- 自動化測試是什麼?什麼軟體專案適合自動化測試?
- 縱觀整個測試行業,為什麼優秀的測試人員不到20%?行業
- 軟體驗收測試之α測試和β測試分別是什麼?
- 什麼是冒煙測試?
- 測試人員如何上手去測試鴻蒙 NEXT鴻蒙