“質(zhì)量門”正如其名:它們?cè)谲浖_(kāi)發(fā)生命周期(SDLC)的各個(gè)階段充當(dāng)質(zhì)量里程碑(或 "門檻"),防止不良代碼通過(guò),從而確保交付高質(zhì)量的軟件。
閱讀本文,您將了解什么是質(zhì)量門、質(zhì)量門的工作原理以及如何使用靜態(tài)代碼分析工具(如Klocwork 和 Helix QAC)實(shí)現(xiàn)質(zhì)量門。
什么是質(zhì)量門?
質(zhì)量門是在IT或開(kāi)發(fā)項(xiàng)目中實(shí)施的檢查點(diǎn),這些檢查點(diǎn)要求在進(jìn)入下一個(gè)開(kāi)發(fā)階段之前達(dá)到最低標(biāo)準(zhǔn)。質(zhì)量門可以阻止不合格代碼的部署,幫助確保更高質(zhì)量的產(chǎn)品。
通過(guò)質(zhì)量門,您可以根據(jù)為代碼設(shè)定的指標(biāo)和條件來(lái)執(zhí)行質(zhì)量和其他評(píng)估。這是一種識(shí)別瓶頸和問(wèn)題區(qū)域的有效方法,以避免在后續(xù)工作中遇到這些問(wèn)題。
在DevOps中,質(zhì)量門用于衡量整個(gè)開(kāi)發(fā)或質(zhì)量保證流程的質(zhì)量,并識(shí)別漏洞,防止后期的延誤和返工。它們是在重要關(guān)頭實(shí)施的項(xiàng)目管理措施,使團(tuán)隊(duì)放心地向前推進(jìn),因?yàn)樗麄冎雷约旱拇a已經(jīng)達(dá)到了該階段所要求的質(zhì)量標(biāo)準(zhǔn)。
為什么質(zhì)量門在DevOps流程中至關(guān)重要?
質(zhì)量門有助于確保軟件的穩(wěn)定性和可靠性。質(zhì)量門的迭代特性有助于質(zhì)量保證工程師和開(kāi)發(fā)人員跟蹤錯(cuò)誤,并在問(wèn)題出現(xiàn)時(shí)盡快解決,從而提高質(zhì)量和投資回報(bào)率。由于團(tuán)隊(duì)設(shè)定了通過(guò)質(zhì)量門的條件,因此可以根據(jù)項(xiàng)目需要隨時(shí)定制質(zhì)量門。
在開(kāi)發(fā)流程中構(gòu)建質(zhì)量門有諸多好處:
提高整體質(zhì)量并維護(hù)安全性:在整個(gè)SDLC過(guò)程中,有策略地設(shè)置質(zhì)量門可作為質(zhì)量基準(zhǔn),并通過(guò)盡早、頻繁地指出代碼中的薄弱環(huán)節(jié)來(lái)維護(hù)安全性。它們可作為左移方法的一部分,用于在SDLC的早期發(fā)現(xiàn)問(wèn)題,并可在CI/CD流水線中有效實(shí)施。
節(jié)省代碼審查時(shí)間:質(zhì)量門可作為一個(gè)檢查表,跟蹤目前已達(dá)到的要求,以便其他開(kāi)發(fā)人員在評(píng)估代碼時(shí)快速審查。
優(yōu)化軟件性能:理想情況下,代碼應(yīng)該是干凈、可維護(hù)和可重用的。質(zhì)量門提供的衡量標(biāo)準(zhǔn)有助于分析代碼性能,并刪除冗余或阻礙系統(tǒng)運(yùn)行的代碼。您可以為質(zhì)量門設(shè)置軟件指標(biāo),如循環(huán)復(fù)雜度。
持續(xù)監(jiān)控代碼庫(kù):質(zhì)量門持續(xù)監(jiān)控源代碼的質(zhì)量,就組織設(shè)定的關(guān)鍵指標(biāo)提供一致反饋。
合規(guī)性驗(yàn)證:質(zhì)量門可以確保并驗(yàn)證代碼是否符合既定的編碼安全標(biāo)準(zhǔn)。
質(zhì)量門的工作原理
作為持續(xù)集成的一部分,流水線質(zhì)量門確保項(xiàng)目符合預(yù)定義的標(biāo)準(zhǔn),以便進(jìn)入下一個(gè)開(kāi)發(fā)階段。代碼會(huì)先進(jìn)入暫存?zhèn)}庫(kù),直到滿足要求。
質(zhì)量門的狀態(tài)包括:
通過(guò):滿足要求,可以繼續(xù)生產(chǎn)。
警告:可能接近滿足要求,或勉強(qiáng)通過(guò),因此在允許進(jìn)入下一階段前,應(yīng)對(duì)代碼進(jìn)行驗(yàn)證。
失?。?/strong>不滿足要求。應(yīng)先解決標(biāo)記的問(wèn)題,然后才能繼續(xù)生產(chǎn)。
實(shí)施質(zhì)量門的最佳實(shí)踐是在開(kāi)發(fā)的每個(gè)關(guān)鍵階段設(shè)置質(zhì)量門:
規(guī)劃
編碼
構(gòu)建
測(cè)試
發(fā)布
部署
關(guān)鍵在于將質(zhì)量門限制在這些主要階段,因?yàn)樘砑拥馁|(zhì)量門越多,測(cè)試就會(huì)變得越復(fù)雜,從而可能導(dǎo)致代價(jià)高昂的延遲。在CI/CD流水線中策略性地設(shè)置質(zhì)量門,還意味著不必按順序進(jìn)行設(shè)置,可以有多個(gè)并行的流水線和并行或重疊的測(cè)試。
將Klocwork和Helix QAC用作質(zhì)量門
無(wú)論是執(zhí)行增量分析、差異分析還是集成分析,靜態(tài)分析/SAST工具旨在優(yōu)化DevOps和DevSecOps流程,并且可以作為一種質(zhì)量門,檢查代碼內(nèi)部的代碼質(zhì)量和安全問(wèn)題,而不會(huì)減慢開(kāi)發(fā)速度。
一些靜態(tài)分析工具,如Klocwork和Helix QAC,可以在新代碼進(jìn)入時(shí)執(zhí)行合并請(qǐng)求分析。在滿足設(shè)定的條件之前,質(zhì)量門會(huì)阻止將提交的代碼合并到受保護(hù)的分支中。例如,您可以在GitLab或類似的CI環(huán)境中使用Klocwork作為質(zhì)量門。
雖然實(shí)施質(zhì)量門需要一些初步規(guī)劃,但它有助于簡(jiǎn)化DevOps流程。使用正確的工具構(gòu)建質(zhì)量門可以加快您的流程,并確保代碼的最高質(zhì)量。
作者:Dzuy Tran,Perforce首席解決方案架構(gòu)師;Joe Wrijil,Perforce高級(jí)銷售工程師
來(lái)源:https://bit.ly/3Wgo6ss
審核編輯 黃宇
-
代碼
+關(guān)注
關(guān)注
30文章
4722瀏覽量
68229 -
Klocwork
+關(guān)注
關(guān)注
0文章
4瀏覽量
6351 -
devops
+關(guān)注
關(guān)注
0文章
108瀏覽量
11985
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論