翻譯|使用教程|編輯:黃竹雯|2019-01-10 13:57:04.000|閱讀 269 次
概述:本文主要介紹如何利用Parasoft Jtest征服遺留代碼
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Parasoft Jtest是一款能夠無縫集成Parasoft SOAtest的Java自動化測試工具,重點(diǎn)應(yīng)用于針對Java代碼的靜態(tài)分析、代碼審查、單元測試和運(yùn)行時(shí)錯(cuò)誤檢測。當(dāng)您處理遺留代碼時(shí),通常需要一種可持續(xù)的方式來管理代碼的變更。您可以通過利用適當(dāng)?shù)募夹g(shù)來克服遺留代碼給敏捷和DevOps所帶來的阻礙。
點(diǎn)擊下方鏈接免費(fèi)下載試用Parasoft Jtest最新資源:
許多人使用遺留代碼來表示舊代碼,但舊和遺留在一些層面上有一定的區(qū)別。本文用遺留代碼定義團(tuán)隊(duì)里知識有限的任何現(xiàn)有代碼。
由于以下幾個(gè)原因,有關(guān)代碼的知識可能不完整,例如:
首先要明確一點(diǎn),遺留代碼是規(guī)則而不是例外。當(dāng)今世界上的許多軟件基礎(chǔ)架構(gòu)都運(yùn)行在遺留代碼上。那么當(dāng)我們需要進(jìn)行更改時(shí),如何降低與遺留代碼相關(guān)的風(fēng)險(xiǎn)變得至關(guān)重要。
遺留代碼的問題不在于它存在的時(shí)間,而是您不了解更改它會如何影響現(xiàn)有功能。如果您正在轉(zhuǎn)換到新的開發(fā)方法,例如敏捷或DevOps,那么與遺留代碼相關(guān)的知識差距可能會成為障礙。
敏捷和DevOps已經(jīng)成為創(chuàng)建軟件的主要方法,因?yàn)樗鼈兛梢詭椭鷪F(tuán)隊(duì)在最小的市場特性準(zhǔn)備就緒后快速迭代和發(fā)布應(yīng)用程序。短暫而頻繁的開發(fā)周期是迭代開發(fā)方法的標(biāo)志,但是當(dāng)您處理遺留代碼時(shí),這些方法不會為減輕可能存在問題留出空間,嘗試快速迭代您不理解的代碼可能會引入新問題。
現(xiàn)實(shí)情況是,在開始新項(xiàng)目時(shí),這些技術(shù)更容易應(yīng)用。對于已經(jīng)存在一段時(shí)間的項(xiàng)目而言,團(tuán)隊(duì)通常使用涉及遺留代碼的系統(tǒng)。開發(fā)人員可能不知道現(xiàn)有代碼庫如何工作,但仍必須修復(fù)缺陷或擴(kuò)展功能而不會引入新問題??此莆⑿〉淖兓矔?yīng)用程序產(chǎn)生重大影響。
創(chuàng)建基線并將質(zhì)量活動的范圍縮小到受計(jì)劃更改影響的代碼區(qū)域,而不是嘗試在宏觀層面上工作。在進(jìn)行測量以評估代碼的范圍和狀態(tài)之后,您應(yīng)該創(chuàng)建捕獲當(dāng)前行為的測試,以便團(tuán)隊(duì)可以了解更改如何影響現(xiàn)有功能。
然后您可以利用一系列技術(shù)來幫助您在重構(gòu)遺留代碼時(shí)收集分析,并確保您對代碼更改的投入可以提高遺留系統(tǒng)的安全性、保密性和可靠性。
了解如何影響系統(tǒng)行為至少需要一個(gè)數(shù)據(jù)點(diǎn),首先選擇基線構(gòu)建并開始跟蹤指標(biāo),設(shè)置范圍并查看遺留代碼的三個(gè)特征:
Parasoft Jtest提供了一個(gè)功能強(qiáng)大的分析平臺,用于捕獲、關(guān)聯(lián)和分析報(bào)告代碼中的違規(guī)、測試結(jié)果、覆蓋率和其他軟件質(zhì)量數(shù)據(jù)。該平臺超越了靜態(tài)報(bào)告,它還應(yīng)用了額外的分析來幫助您識別受變更影響的應(yīng)用程序部分。
利用資源組的概念,您可以識別一組特定的文件或目錄、覆蓋范圍、靜態(tài)分析違規(guī)以及指向這些特定資源的指標(biāo)數(shù)據(jù)。此信息可幫助您在代碼庫的這些部分進(jìn)行更改之前為代碼庫區(qū)域創(chuàng)建基線。
有了初始數(shù)據(jù)點(diǎn)的幫助,下一步通過創(chuàng)建測試開始捕獲系統(tǒng)的當(dāng)前行為。構(gòu)建高質(zhì)量的回歸套件不僅可以捕獲現(xiàn)有行為,還可以提高覆蓋率,作為確保更改不會破壞功能的安全網(wǎng)。
Parasoft Jtest可以使您能夠基于現(xiàn)有代碼批量創(chuàng)建JUnit測試的基線和斷言。Jtest還包括創(chuàng)建直接訪問私有方法的測試的能力,以便在遺留代碼最初編寫時(shí)不考慮可測試性。
最好通過有意義的測試來擴(kuò)展覆蓋范圍。在分析覆蓋差距期間,Jtest可以識別現(xiàn)有代碼中未經(jīng)測試的克隆和變異的部分。Parasoft在創(chuàng)建現(xiàn)有測試方面做了大量工作,Jtest中的克隆和變異功能增加了創(chuàng)建測試投資的回報(bào)。
通過捕獲系統(tǒng)的行為,您可以開始修復(fù)違規(guī)、解決PR或應(yīng)用您想要關(guān)注的更改,同時(shí)將破壞現(xiàn)有功能的風(fēng)險(xiǎn)降至最低。Parasoft可以幫助您管理現(xiàn)有的技術(shù)債務(wù),并將數(shù)據(jù)(如靜態(tài)分析違規(guī))放入適當(dāng)?shù)墓ぷ髁鞒讨校员爿p松地重新確定優(yōu)先級,抑制或解決這些數(shù)據(jù),從而提高應(yīng)用程序的整體質(zhì)量。
解決遺留代碼中技術(shù)債務(wù)的最佳時(shí)機(jī)是在進(jìn)行更改時(shí)。報(bào)告的數(shù)據(jù)應(yīng)包括在有關(guān)項(xiàng)目的整體統(tǒng)計(jì)信息中。技術(shù)債務(wù)可能不會立即對應(yīng)用程序產(chǎn)生影響,但您應(yīng)該應(yīng)用最佳實(shí)踐來系統(tǒng)地包含和管理它。您需要在進(jìn)行更改時(shí)重構(gòu)遺留代碼,將有助于您逐步減少技術(shù)債務(wù)。
此過程有助于確保更改范圍不會對現(xiàn)有功能產(chǎn)生負(fù)面影響,但您還需要確保團(tuán)隊(duì)遵循前進(jìn)的良好實(shí)踐。隨著代碼的發(fā)展,繼續(xù)保持高水平的覆蓋率并編寫或更新測試需要在知識層面上獲得支持。
通過分析指定基線構(gòu)建之間的變化,您可以專注于監(jiān)控整個(gè)代碼庫中的變化。在整個(gè)代碼庫中實(shí)現(xiàn)100%的覆蓋率是不切實(shí)際的,但通過監(jiān)控修改后的代碼的覆蓋范圍,團(tuán)隊(duì)可以專注于正在積極處理的代碼部分,并確保所有更改都經(jīng)過測試。
世界的軟件運(yùn)行目光正在從團(tuán)隊(duì)傳遞到團(tuán)隊(duì)的代碼上,處理遺留代碼是一種常見的需求。關(guān)于代碼的知識差距提示了潛在的風(fēng)險(xiǎn),因?yàn)殚_發(fā)人員需要進(jìn)行更改以維護(hù)或擴(kuò)展功能,而本文提及的Parasoft Jtest對遺留代碼的處理流程和技術(shù)可以幫助用戶獲得推進(jìn)團(tuán)隊(duì)中任何代碼庫的信心。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn