從測試視角看DevOps:4大特性哪種最重要?
摘自PM圈子網—專案經理牛人聚集地
測試是DevOps轉換的核心,如果DevOps是關於團隊文化之間的差距,那麼測試就是一個分界點,這是Dev和Ops團隊的共同特徵。
隨著新技術和特性進入到應用程式的體系結構,在應用堆疊的各個級別都需要進行變革,比如程式碼重構、確保功能向後相容、重新訪問過去的核心設計決策,以及更改服務和資料模型。
DevOps是關於文化的,它需要一個健壯的測試實踐和文化的改變,下面,我們就來看看可以追求的文化改變,以便更好地進行測試實踐。
平衡速度和質量
每個DevOps轉換的承購是以實現當前設定的工作方式開始,釋出是高壓力的事件,充滿不可預測的失敗,結果是創新慢下來,一旦你決定要解決問題的根源,DevOps就變成了一個明確的解決方案,更快的釋出是組織採用DevOps的關鍵原因。
然而,通過關注開發管道,需要考慮整個產品生命週期的每一步,以實現更快的釋出——只有這樣才能有質量和可靠性,當在應用程式中限制新特性的數量和特性的複雜性時,這些特定需要在真實環境下持續使用,在如今支離破碎的移動生態系統中,實現這一目標更加困難。
致力於自動化
自動化是實現跨管道速度的關鍵,每個團隊開發人員,測試和Ops都需要致力於儘可能地自動化,這意味著每個人的實際情況會有所不同,但這一承諾對於真正的工作來說是必要的,對於Dev來說,使用Jenkins構建自動化是自動化的第一步,同樣,對於測試來說,自動化單元測試也是起點,對於Ops來說,能夠根據模板建立和配置不同的環境是它開始的地方,自動化減少了手工錯誤,並將質量引入到流程的每一步中。
從觸發-響應模型的角度考慮自動化是很重要的,在SDLC中,可以使用各種事件作為觸發器來啟動一個或多個響應,比如,每當開發人員提交程式碼時,該事件就充當Jenkins的觸發器,以自動編譯和構建程式碼,作為下一步,Jenkins可以整合測試工具來發起自動化單元測試,此外,在真實裝置上的功能測試可以使用裝置雲實現自動化。
這樣,團隊就可以毫不費力地得到流程的各個步驟的反饋,並且可以在更高價值的任務上花費更多的時間,但最重要的是,自動化帶來了一種速度,如果人類手動執行相同的任務,是不可能的,想象一下,每週購買一臺新的Android裝置,或者在每次測試執行前手動配置每一個裝置又或確保所有裝置都執行最新版本的作業系統和支援應用程式,自動化或將這些管道任務解除安裝到供應商可以在任何規模上帶來速度和質量。
自動化的另一個機會是使用模板來簡化環境的建立,如果您使用AWS進行基礎設施,這意味著使用如何CloudFormation這樣的工具,可以基於以前的配置或自行建立的模板來建立生產就緒的環境,將生產環境模擬為測試的目的是一項挑戰,但通過對流程進行模板化,它就變得可管理,併為您提供更可靠的測試結果。
利用監控告警
在微服務應用程式中事情會進展的很快,而且經常中斷,如果在一個穩定的未過濾的流中檢視警報的數量會變得勢不可擋,解決方案是使用一個路由邏輯,確保每個人和團隊看到與他們工作相關的告警,當它們被用作自動化的觸發器時,警報變得更有價值,例如,對於一個失敗的服務的告警可以被用來自動在Jira中建立,通知相關的團隊讓每個人進行相應的處理。
關注全域性
當自動化整個SDLC時,優化流程的每個部分會帶來更大的速度,但是要將這個過程變得更高,應該考慮全域性,隨著自動化的成熟,需要考慮如何做出影響整個管道的更改,如Spinnaker這樣的工具,由Netflix建立,AWS程式碼管道可以讓使用者以檢視的方式進行。
從整體上看,這條管道可以幫助致力於實現自動化的所有人員,這不僅僅丟擲了一些新工具,更深入地考慮這些工具支援的過程,更深層的是,它著眼於團隊如何一起工作,以及他們使用的工具和過程是否受到限制或授權。跨開發、測試和運維的自動化文化對於實現DevOps轉換承諾的速度至關重要。
總結
“質量”在SDLC中構建的每一步驟都是非常重要的,它需要來自每個團隊的努力,並要求實現對自動化的承諾,需要知道的是,當自動化是一件不僅要減少投入而且要加快速度、提高質量的時候,那麼你就在正確的軌道上,當接受自動化的文化時,它必然會改變測試的工作,並導致高質量的應用程式被傳送的更快。
相關推薦
從測試視角看DevOps:4大特性哪種最重要?
摘自PM圈子網—專案經理牛人聚集地 測試是DevOps轉換的核心,如果DevOps是關於團隊文化之間的差距,那麼測試就是一個分界點,這是Dev和Ops團隊的共同特徵。 隨著新技術和特性進入到應用程式的體系結構,在應用堆疊的各個級別都需要進行變革,比如程式碼重構、確
2018上半年網際網路惡意爬蟲分析:從全景視角看爬蟲與反爬蟲
導語:網際網路最激烈的對抗戰場,除了安全專家與黑客之間,大概就是爬蟲與反爬蟲領域了。據統計,爬蟲流量早已超過了人類真實訪問請求流量。網際網路充斥著形形色色的爬蟲,雲上、傳統行業都有不同規模的使用者被爬蟲愛好者盯上,這些爬蟲從哪裡來?爬取了誰的資料?資料將被用於何處? 近日,騰訊
高併發程式設計系列:4大併發工具類的功能、原理、以及應用場景
通常我們所說的併發包也就是java.util.concurrent,集中了Java併發工具類和併發容器等,今天主要介紹Java併發程式設計的工具類,我先從Java併發工具包談起。 01 — 併發工具包涵蓋範圍 1.併發工具類 提供了比synchronized更加高階
從彙編視角看函式呼叫
C語言函式如下 int bar(int c, int d) { int e = c + d; return e; } int foo(int a, int b) { return bar(a, b); } int main(void
程式人生-從上帝視角看問題
從上帝視角中想到的一些程式問題 什麼是上帝視角?這個名詞對於你寫程式有多大的幫助。 開啟上帝視角的唯一方法就是擁有及其強大的知識面積,擁有關於某個領域所有的資源和能量。這需要有效時間的積累和自我知識的補充。就如同一個在音樂圈混了四五年的人
從藍鯨視角談DevOps
DevOps源於Development和Operations的組合 常見的定義 DevOps
從技術雷達看DevOps的十年——容器技術和微服務
在這一篇,我們將通過技術雷達上相關條目的變化來考察 Docker 和微服務的發展。 在 Docker 技術出現之前,可以說是 D
從上帝視角看Java如何執行
JVM記憶體結構 可以看出JVM從巨集觀上可以分為 ‘內部’ 及 ‘外部’ 兩個部分(便於記憶理解): ‘內部’包含:執行緒共享(公有)資料區 和 執行緒隔離(私有)資料區 ‘外部’包含:類載入子系統、垃圾回收器、執行引擎、本地庫介面、本地方
C++從零開始區塊鏈:main函式的一種實現
前面已經把各種業務邏輯都寫好了,main函式怎麼呼叫就隨便了,這裡只是其中一種實現方法 int main(int argc, char **argv) { if (argc < 2) { std::cout << "argc error!
事務的4大特性
一.什麼是事務 事務(Transaction)是併發控制單位,是使用者定義的一個操作序列,這些操作要麼都做,要麼都不做,是一個不可分割的工作單位。 事務通常以BEGIN TRANSACTION開始,以COMMIT或ROLLBACK結束。 二.事務的 ACID 事務具有四個特徵:原子性( At
人生大問題1:什麼是你生命中最重要的
追求企業家哲學智慧,請點選上方藍色字關注,原創的新文章,追求思維縝密,方法得當,人生不再盲目 有沒有某種你願意為之付出生命的東西? 前面我們討論了人生大問題中的16個問題,關於人有沒有可以為之獻出生命的東西這一點,毛澤東時代的教育是非常成功的。我們先說說西方哲學是如何討論
MySql資料庫事務的4大特性
這個問題經常會在一些面試題中被問到。總得來說,資料庫事務的4大特性可以簡稱為ACID。 1、原子性(Atomicity) 事務中包含的程式作為資料庫的邏輯工作單位,它對資料庫中的資料進行操作時,要麼全部執行,要麼都不執行。 舉個例子,你給小A轉賬500塊時。這個時候銀行的資
性能測試四十二:sql案例之聯合索引最左前綴
src ima 響應 性能測試 但是 意義 slow 必須 情況 聯合索引:一個索引同時作用於多個字段 聯合索引的最左前綴: A、B、C3個字段--聯合索引 這個時候,可以使用的查詢條件有:A、A+B、A+C、A+B+C,唯獨不能使用B+C,即最左側那個字段必須匹配
mysql 事物的4大特性(ACID)+事物的開啟與關閉
原子性: 即整個事物是一個整體,要麼這個事物全部執行成功,要麼全部失敗一致性: 即事物執行狀態結果 與 原資料形成統一。例如轉賬,總金額是不變的隔離性: 在併發事物中,隔離開不能互相影響,但是也不能完全隔離,會降低效率永續性:如果執行成功,資料庫崩潰,如果重新啟動,資料庫已經
面向對象4大特性
沒有 調用 統一 n) 部分 函數 xtend body style 面向對象4大特性:抽象,封裝,繼承,多態。 抽象:在類的設計層次:將某些事務的共同屬性提取出來集合到一個類;類與對象之間的關系:類時抽象的,對象是具體的,類是對象的模板,對象的創建時以類未模板的,同一個
宏宇電商:當下流行的網絡推廣方式,你知道哪種最有效?
網絡營銷隨著市場競爭的日益激烈,網絡推廣已成為各品牌或企業的一個重要營銷宣傳方式。雖然我們也經常會接觸到一些網絡推廣方式,但是究竟哪一種網絡推廣方式對企業來說才是最有效的呢?下面小編結合幾種當下流行的網絡推廣方式,根據他們的特點,為大家在網絡推廣過程中提供一些參考性的建議。 ??NO.1 SEO??SEO是指
Android:wpa_supplicant決定選擇哪種驅動
1, main 函式的入口: external/wpa_supplicant_8/wpa_supplicant/main.c 2, init.rc中通過引數指定要載入哪個驅動 3, wpa_supplicant中載入驅動的原理 main.c: main() --&
逸管家:企業應該選擇哪種融資方式?
財務 由於 必須 改變 存在 環境 互聯網 方法 企業融資 考慮經濟環境的影響。經濟環境是指企業進行財務活動的宏觀經濟狀況,在經濟增速較快時期,企業為了跟上經濟增長的速度,需要籌集資金用於增加固定資產、存貨、人員等,企業一般可通過增發股票、發行債券或向銀行借款等融資方式獲得
從團隊管理視角看重複建設問題:輪子小造怡情,大造傷身,全域性出發成就更好的你
在一定規模的軟體研發團隊內,經常出現的情況是對同一個問題領域,會有多個人或多個者團隊矇頭再重複做系統或方案來解決相同問題。 甚至,在一些團隊內,技術人員為了職位晉升,會通過重複建設相關的系統來展示其能力,併名其名曰面向晉升程式設計。 對於個人來說,重複造輪子其實是人之本性,特別是對於優秀的研發工程師來說,自己
前沿 | 從5個視角看AI和大資料實踐
導讀:在這個五句話不離大資料和 AI 的時代,讓我們來看看它們給我們帶來了什麼,以下是麻省理工科技年度科技評論近 5 年來評選出的“全球十大突破性技術”,我們為每一年挑選了一項作為例子。 前 言 在這個五句話不離大資料和 AI 的