翻譯|行業(yè)資訊|編輯:胡濤|2024-01-17 11:15:54.167|閱讀 72 次
概述:測(cè)試影響分析使開發(fā)人員可以輕松地進(jìn)行更智能的測(cè)試,而不是更困難。這里全面介紹了測(cè)試影響分析的好處以及為什么開發(fā)人員應(yīng)該將其納入他們的軟件測(cè)試?yán)讨?。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
測(cè)試影響分析使開發(fā)人員可以輕松地進(jìn)行更智能的測(cè)試,而不是更困難。這里全面介紹了測(cè)試影響分析的好處以及為什么開發(fā)人員應(yīng)該將其納入他們的軟件測(cè)試?yán)讨小?
測(cè)試影響分析意味著將測(cè)試專門集中在每次迭代期間所做的更改,并自動(dòng)準(zhǔn)確地測(cè)試需要測(cè)試的內(nèi)容。利用這項(xiàng)技術(shù)的團(tuán)隊(duì)可以通過有關(guān)需要做什么的即時(shí)反饋來優(yōu)化他們的開發(fā)測(cè)試工作。
行業(yè)調(diào)查和報(bào)告經(jīng)常證實(shí),即使在實(shí)施敏捷、DevOps 和持續(xù)集成/部署等現(xiàn)代開發(fā)流程之后,軟件測(cè)試仍然是一個(gè)瓶頸。在某些情況下,軟件團(tuán)隊(duì)的測(cè)試不夠充分,必須在開發(fā)周期的后期階段處理錯(cuò)誤和安全漏洞,這會(huì)產(chǎn)生一個(gè)錯(cuò)誤的假設(shè),即這些新流程無法兌現(xiàn)其承諾。解決某些類別問題的一種解決方案是右移測(cè)試,它依賴于在生產(chǎn)環(huán)境中監(jiān)視應(yīng)用程序,但它需要堅(jiān)如磐石的基礎(chǔ)設(shè)施,以便在出現(xiàn)嚴(yán)重缺陷時(shí)回滾新的更改。
結(jié)果,組織仍然錯(cuò)過了最后期限,并且質(zhì)量和安全性受到影響。但還有更好的方法!為了更智能地進(jìn)行測(cè)試,組織正在使用稱為 測(cè)試影響分析的 技術(shù)來準(zhǔn)確了解要測(cè)試的內(nèi)容。這種數(shù)據(jù)驅(qū)動(dòng)的方法支持左移測(cè)試和右移測(cè)試。
任何迭代過程中的測(cè)試都是在有限的周期時(shí)間內(nèi)可以完成多少測(cè)試的折衷。在大多數(shù)項(xiàng)目中,不可能在每次迭代中進(jìn)行完全回歸。相反,執(zhí)行一組有限的測(cè)試,并且確切地測(cè)試什么是基于最佳猜測(cè)。由于通常沒有足夠的已完成新功能可供測(cè)試,因此測(cè)試也會(huì)在周期中進(jìn)行回載。生成的工作量與時(shí)間圖最終像鋸齒一樣,如圖 1 所示。在每個(gè)周期中,僅執(zhí)行一組有限的測(cè)試,直到執(zhí)行完整回歸測(cè)試的最后一個(gè)周期。
不幸的是,沒有一個(gè)項(xiàng)目在達(dá)到最終周期時(shí)具有零錯(cuò)誤和零安全漏洞。在此階段發(fā)現(xiàn)缺陷會(huì)增加延遲,因?yàn)殄e(cuò)誤會(huì)被修復(fù)并重新測(cè)試。即使 存在 這些延遲,許多錯(cuò)誤仍然會(huì)進(jìn)入已部署的產(chǎn)品中,如下所示。
這種情況導(dǎo)致了所謂的“右移測(cè)試”的采用,即組織在部署階段繼續(xù)測(cè)試其應(yīng)用程序。右移測(cè)試的目的是增強(qiáng)和擴(kuò)展測(cè)試工作,測(cè)試最適合部署階段,例如 API 監(jiān)控、切換生產(chǎn)中的功能以及從現(xiàn)實(shí)操作中檢索反饋。
重現(xiàn)真實(shí)測(cè)試環(huán)境以及在測(cè)試中使用真實(shí)數(shù)據(jù)和流量的困難導(dǎo)致團(tuán)隊(duì)使用生產(chǎn)環(huán)境來監(jiān)視和測(cè)試其應(yīng)用程序。這樣做有很多 好處 ,例如,能夠使用支持容錯(cuò)和性能改進(jìn)的實(shí)時(shí)生產(chǎn)流量來測(cè)試應(yīng)用程序。一個(gè)常見的用例是所謂的 金絲雀發(fā)布,其中軟件的新版本首先發(fā)布給一小部分客戶,然后隨著錯(cuò)誤的報(bào)告和修復(fù)而推廣到越來越大的群體。例如,Roku 就是這樣做來更新其設(shè)備固件的。
右移測(cè)試依賴于開發(fā)基礎(chǔ)設(shè)施,該基礎(chǔ)設(shè)施可以在出現(xiàn)嚴(yán)重缺陷時(shí)回滾版本。例如,金絲雀版本中的嚴(yán)重安全漏洞意味著回滾該版本,直到新的更新版本準(zhǔn)備就緒,如下圖所示:
但使用生產(chǎn)環(huán)境來監(jiān)控和測(cè)試軟件是有風(fēng)險(xiǎn)的,當(dāng)然, 右移測(cè)試的目的從來不是取代部署前的單元、API 和 UI 測(cè)試實(shí)踐! 右移測(cè)試是一種 補(bǔ)充 實(shí)踐,它將持續(xù)測(cè)試的理念擴(kuò)展到生產(chǎn)中。盡管如此,組織很容易濫用這個(gè)概念來證明在開發(fā)過程中進(jìn)行更少的單元和 API 測(cè)試是合理的。為了防止這種情況發(fā)生,我們需要使開發(fā)階段的測(cè)試變得更容易、更高效,并生產(chǎn)出質(zhì)量更高的軟件。
大多數(shù)軟件都沒有經(jīng)過充分測(cè)試,測(cè)試內(nèi)容的決定基本上基于開發(fā)人員對(duì)關(guān)鍵功能的最佳猜測(cè)。在 SCRUM 沖刺或其他流程的迭代期間,很難確定要測(cè)試什么,因?yàn)椤皽y(cè)試所有內(nèi)容”當(dāng)然不是一種選擇。由于時(shí)間很短,只能測(cè)試由最新功能更新的軟件部分,但具體哪些代碼受到影響通常是未知的。測(cè)試自動(dòng)化有所幫助,但如果不準(zhǔn)確了解測(cè)試地點(diǎn)和測(cè)試內(nèi)容,測(cè)試覆蓋率就會(huì)不足。
這些缺點(diǎn)可以通過使用測(cè)試影響分析來克服 ,測(cè)試影響分析是對(duì)測(cè)試覆蓋率、代碼更改和依賴關(guān)系的多變量分析,可以準(zhǔn)確指出需要測(cè)試的代碼。此外,這些精確的測(cè)試可以安排并自動(dòng)執(zhí)行。
測(cè)試影響分析在 IDE 內(nèi)的開發(fā)人員級(jí)別進(jìn)行,收集有關(guān)哪些測(cè)試執(zhí)行哪些代碼的信息,并在開發(fā)人員更改代碼時(shí)在開發(fā)人員的 IDE 中應(yīng)用該信息,使開發(fā)人員能夠輕松識(shí)別和執(zhí)行需要執(zhí)行的特定測(cè)試。需要運(yùn)行以驗(yàn)證更改的代碼不會(huì)破壞任何測(cè)試。此外,跟蹤哪些受影響的測(cè)試已運(yùn)行、哪些已通過、哪些已失敗,可以使開發(fā)人員輕松確定哪些測(cè)試仍需要運(yùn)行,或者哪些測(cè)試已失敗并需要解決。一旦所有測(cè)試都已運(yùn)行并通過,開發(fā)人員就知道可以安全地提交代碼并繼續(xù)前進(jìn)。
測(cè)試影響分析在 CI/CD 流程中工作,通過無縫集成到項(xiàng)目的構(gòu)建系統(tǒng)(例如 Maven 或 Gradle)中,以獲得有關(guān)更改的即時(shí)反饋。測(cè)試影響分析確定自基線構(gòu)建(即最后一次夜間構(gòu)建)以來哪些代碼發(fā)生了更改,確定需要運(yùn)行哪些測(cè)試來執(zhí)行該代碼,然后僅運(yùn)行該測(cè)試子集。此工作流程使團(tuán)隊(duì)能夠設(shè)置僅根據(jù)最近的代碼更改運(yùn)行測(cè)試的 CI 作業(yè),將運(yùn)行 CI 作業(yè)所需的時(shí)間從幾小時(shí)縮短到幾分鐘。
測(cè)試影響分析具有以下主要優(yōu)點(diǎn):
為了大大減少開發(fā)中的測(cè)試瓶頸,并提高測(cè)試人員在每次迭代中投入的“鋸齒”工作的效率,開發(fā)團(tuán)隊(duì)可以受益于測(cè)試影響分析技術(shù)。具有測(cè)試影響分析的測(cè)試自動(dòng)化意味著將測(cè)試專門集中在每次迭代期間所做的更改,并自動(dòng)準(zhǔn)確地測(cè)試需要測(cè)試的內(nèi)容。這些團(tuán)隊(duì)通過即時(shí)反饋來優(yōu)化他們的開發(fā)中測(cè)試工作,包括需要做什么、哪些代碼未通過測(cè)試以及哪些其他代碼受到新更改的影響。
如果您目前不是Parasoft C/C++test用戶,但希望通過C/C++test 2023.2,為C、C++開發(fā)人員賦能,歡迎聯(lián)系我們。了解更多有關(guān)Parasoft產(chǎn)品咨詢,歡迎咨詢
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn