CI/CD中的自動(dòng)化測(cè)試的概要知識(shí)
持續(xù)集成和持續(xù)交付是由測(cè)試驅(qū)動(dòng)的。以下是如何做到的。
“如果一切似乎都在控制之中,那只是你走的不夠快而已。” —Mario Andretti
測(cè)試自動(dòng)化是指在軟件開(kāi)發(fā)過(guò)程中盡可能早、盡可能快地持續(xù)關(guān)注檢測(cè)缺陷、錯(cuò)誤和 bug。這是通過(guò)使用那些追求質(zhì)量為最高價(jià)值的工具完成的,它們旨在確保質(zhì)量,而不僅僅是追求質(zhì)量。
持續(xù)集成/持續(xù)交付(CI/CD)解決方案(也稱(chēng)為 DevOps 管道)最引人注目的功能之一是可以更頻繁地進(jìn)行測(cè)試,而又不會(huì)給開(kāi)發(fā)人員或操作人員增加更多的手動(dòng)工作。讓我們談?wù)劄槭裁催@很重要。
為什么要在 CI/CD 中實(shí)現(xiàn)自動(dòng)化測(cè)試?
敏捷團(tuán)隊(duì)要更快的迭代,以更高的速度交付軟件和客戶滿意度,而這些壓力可能會(huì)危及質(zhì)量。全球競(jìng)爭(zhēng)制造了對(duì)缺陷的低容忍度,同時(shí)也增加了敏捷團(tuán)隊(duì)的壓力,要求軟件交付的迭代更快。減輕這種壓力的行業(yè)解決方案是什么?是 DevOps。
DevOps 是一個(gè)大概念,有很多定義,但是對(duì) DevOps 成功至關(guān)重要的一項(xiàng)技術(shù)是 CI/CD。通過(guò)軟件開(kāi)發(fā)流程設(shè)計(jì)一個(gè)連續(xù)的改進(jìn)循環(huán),可以為測(cè)試帶來(lái)新的機(jī)會(huì)。
這對(duì)測(cè)試人員意味著什么?
對(duì)于測(cè)試人員,這通常意味著他們必須:
- 更早且更頻繁地進(jìn)行測(cè)試(使用自動(dòng)化)
- 持續(xù)測(cè)試“真實(shí)世界”的工作流(自動(dòng)和手動(dòng))
更具體地說(shuō),任何形式的測(cè)試,無(wú)論是由編寫(xiě)代碼的開(kāi)發(fā)人員運(yùn)行還是由質(zhì)量保證工程師團(tuán)隊(duì)設(shè)計(jì),其作用都是利用 CI/CD 基礎(chǔ)架構(gòu)在快速推進(jìn)的同時(shí)提高質(zhì)量。
測(cè)試人員還需要做什么?
具體點(diǎn)說(shuō),測(cè)試人員負(fù)責(zé):
- 測(cè)試新的和現(xiàn)有的軟件應(yīng)用
- 根據(jù)系統(tǒng)要求評(píng)估軟件來(lái)驗(yàn)證和確認(rèn)功能
- 利用自動(dòng)化測(cè)試工具來(lái)開(kāi)發(fā)和維護(hù)可重復(fù)使用的自動(dòng)化測(cè)試
- 與 scrum 團(tuán)隊(duì)的所有成員合作,了解正在開(kāi)發(fā)的功能以及實(shí)施的技術(shù)設(shè)計(jì),以設(shè)計(jì)和開(kāi)發(fā)準(zhǔn)確、高質(zhì)量的自動(dòng)化測(cè)試
- 分析記錄在案的用戶需求,并針對(duì)中等到高度復(fù)雜的軟件或 IT 系統(tǒng)制定或協(xié)助設(shè)計(jì)測(cè)試計(jì)劃
- 開(kāi)發(fā)自動(dòng)化測(cè)試,并與功能團(tuán)隊(duì)一起審查和評(píng)估測(cè)試方案
- 與技術(shù)團(tuán)隊(duì)合作,確定在開(kāi)發(fā)環(huán)境中自動(dòng)化測(cè)試的正確方法
- 與團(tuán)隊(duì)合作,通過(guò)自動(dòng)化測(cè)試來(lái)了解和解決軟件問(wèn)題,并回應(yīng)有關(guān)修改或增強(qiáng)的建議
- 參與需求梳理、估算和其他敏捷 scrum 儀式
- 協(xié)助制定標(biāo)準(zhǔn)和流程,以支持測(cè)試活動(dòng)和材料(例如腳本、配置、程序、工具、計(jì)劃和結(jié)果)
測(cè)試是一項(xiàng)艱巨的工作,但這是有效構(gòu)建軟件的重要組成部分。
哪些持續(xù)測(cè)試很重要?
你可以使用多種測(cè)試。不同的類(lèi)型并不是學(xué)科之間的牢固界限。相反,它們是表示如何測(cè)試的不同方式。比較測(cè)試類(lèi)型不太重要,更重要的是對(duì)每一種測(cè)試類(lèi)型都要有覆蓋率。
- 功能測(cè)試: 確保軟件具有其要求的功能
- 單元測(cè)試: 獨(dú)立測(cè)試軟件的較小單元/組件以檢查其功能
- 負(fù)載測(cè)試: 測(cè)試軟件在重負(fù)載或使用期間的性能
- 壓力測(cè)試: 確定軟件承受壓力(最大負(fù)載)時(shí)的斷點(diǎn)
- 集成測(cè)試: 測(cè)試組合或集成的一組組件的輸出
- 回歸測(cè)試: 當(dāng)修改任意組件(無(wú)論多么?。?,測(cè)試整個(gè)應(yīng)用的功能
總結(jié)
任何包含持續(xù)測(cè)試的軟件開(kāi)發(fā)過(guò)程都將朝著建立關(guān)鍵反饋環(huán)路的方向發(fā)展,以實(shí)現(xiàn)快速和構(gòu)建有效的軟件。最重要的是,該實(shí)踐將質(zhì)量?jī)?nèi)置到 CI/CD 管道中,并意味著了解在軟件開(kāi)發(fā)生命周期中提高速度同時(shí)減少風(fēng)險(xiǎn)和浪費(fèi)之間的聯(lián)系。