亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在重構(gòu)或重新設(shè)計時驗證你的代碼

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:Pierre-Henri ? 2022-06-06 09:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這些概念之間的主要區(qū)別在于:重新設(shè)計意味著您修改軟件以更改其功能,而重構(gòu)則是努力修改其工作方式。

一切都是為了改變。

“當源代碼被修改時,我有哪些選擇來維護我現(xiàn)有的測試?” 這是我在與客戶交談時遇到的一個非常常見的問題。

我的一些對話者指出他們必須重構(gòu)他們的軟件,其他一些人會談?wù)撝匦略O(shè)計的努力。

首先,我注意到這兩個與軟件更改相關(guān)的概念在人們的頭腦中并不總是很清楚,有時會在錯誤的環(huán)境中使用。這些概念對您來說可能非常清楚,但如果不是,這里有一些提示可以幫助您理解差異。

重新設(shè)計和重構(gòu)軟件有什么區(qū)別?

這些概念之間的主要區(qū)別在于:重新設(shè)計意味著您修改軟件以改變它的功能,而重構(gòu)則是努力修改它的工作方式。

出于多種原因進行重新設(shè)計工作。例如,由于硬件更改,軟件需要在不同的 CPU 上運行或必須處理新的外圍設(shè)備,因此需要修改或擴展代碼以解決這些物理修改并提供新功能。當軟件需要與新的或更新的 3 rd方庫交互時,也可能發(fā)生重新設(shè)計,這些庫提供了有益于您的應(yīng)用程序的新服務(wù)。您可能會找到許多其他重新設(shè)計的原因,但在大多數(shù)情況下,在此上下文中執(zhí)行的軟件更改會影響一般行為或修改后的應(yīng)用程序提供的功能。

與重新設(shè)計相反,重構(gòu)是努力優(yōu)化代碼的內(nèi)部實現(xiàn),以提高其可維護性并降低其總體運營成本。和許多人一樣,我相信 Martin Fowler 在他的“重構(gòu)書”中寫了軟件重構(gòu)的最佳定義之一:

“對軟件的內(nèi)部結(jié)構(gòu)進行了更改,使其更易于理解且修改成本更低,而不會改變其可觀察到的行為?!?/p>

鑒于此定義,重構(gòu)通常由開發(fā)人員在以下情況下執(zhí)行:

需要將技術(shù)債務(wù)控制在可容忍的水平,即低于從頭開始重新構(gòu)建整個代碼看起來更經(jīng)濟的線以下。

降低復(fù)雜性和內(nèi)部依賴,使軟件更模塊化、更容易擴展、對開發(fā)團隊中的新人更易讀和更易管理等。

確保隨著時間的推移,原始設(shè)計保持可理解和清晰,并保留其預(yù)期功能。。.。。.

鑒于我們現(xiàn)在對重新設(shè)計與重構(gòu)工作有了更清晰的了解,

哪些情況需要重新驗證您的軟件?

好吧,軟件測試的本質(zhì)是它們主要檢查代碼是否符合其目的。換句話說,他們根據(jù)應(yīng)用程序的功能需求驗證組成系統(tǒng)的每個軟件單元的行為是否符合預(yù)期。話雖如此,如果您嘗試重新設(shè)計代碼,則必須對其進行測試以確保新功能已根據(jù)新引入的要求進行驗證,同時確保這些新擴展不會在您現(xiàn)有的通過測試中引入回歸。

您可能會爭辯說,重構(gòu)工作只會影響軟件內(nèi)部結(jié)構(gòu),因此不一定會影響代碼接口和根據(jù)應(yīng)用程序需求交付的一般服務(wù)。是的,但是…… 像任何其他開發(fā)活動一樣,重構(gòu)是引入新錯誤的一種非常簡單的方法,因此您必須重新測試您的軟件。維護一組完整且詳盡的通過測試將確保您的重構(gòu)不會導(dǎo)致代碼中的回歸錯誤未被檢測到。確實,每當您進行小的更改時,您都應(yīng)該重新執(zhí)行現(xiàn)有的測試作為安全網(wǎng),以檢查您沒有修改預(yù)期的行為。經(jīng)過一系列增量更改后,您將以安全的方式達到最初目標的重構(gòu)狀態(tài)。

大多數(shù)組織希望通過在源代碼更改時更新這些測試來保留先前測試投資的價值。但這會導(dǎo)致高昂的測試維護成本。該解決方案并不像僅僅識別受代碼更改影響的受影響測試的子集以重新運行(有時稱為測試影響分析或基于更改的測試)那么簡單。測試維護的昂貴部分是開發(fā)人員花費在識別依賴關(guān)系和更新相應(yīng)測試以確保它們與修改后的軟件同步的工作。

那么適當?shù)臏y試自動化如何降低這些測試維護成本呢?

1) 通過 對代碼變更和測試依賴的初步分析:

· 了解正在測試的代碼的更改(通過保留上次測試時的代碼信息并將其與更改的代碼進行比較)

· 識別哪些測試受到代碼更改的影響

· 在單個視圖中識別影響測試的所有代碼更改

· 識別可能影響現(xiàn)有測試實現(xiàn)的代碼覆蓋率的代碼更改

2) 通過為開發(fā)人員提供自動測試更新的指導(dǎo)選擇,以便重新同步源代碼和測試:

? 對于每個代碼更改,建議對測試腳本和用例進行適當?shù)母?/p>

? 自動重構(gòu)測試腳本以節(jié)省時間和成本

3) 對于主要影響軟件內(nèi)部結(jié)構(gòu)的代碼更改,自動生成安全網(wǎng)或通過測試的基線,以便:

? 在回歸測試或持續(xù)集成期間查明故障

? 識別可測試性問題,例如無法訪問的代碼

作為專業(yè)的軟件供應(yīng)商,QA Systems 敏銳地意識到在軟件修改的情況下控制測試維護成本的重要性。為了解決這個問題,我們開發(fā)了作為我們的測試解決方案 Cantata的一部分,一個代碼更改分析和管理功能以及一個AutoTest生成框架,它們是在您的軟件項目的整個生命周期中自動化單元和集成測試維護的獨特技術(shù)。當您需要管理測試時,重新設(shè)計或重構(gòu)您的軟件不再是(煩人的)問題!

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11200

    瀏覽量

    222090
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2953

    瀏覽量

    69470
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    AES和SM4算法的可重構(gòu)分析

    相似的實現(xiàn)過程,可以進行可重構(gòu)設(shè)計。同時,這兩種算法加解密過程中會頻繁使用寄存器來存儲數(shù)據(jù) 二、可重構(gòu)S盒設(shè)計思路 GF下,AES的S盒輸出公式為 Z=M(X^-1)+V,
    發(fā)表于 10-23 07:26

    看不見的安全防線:信而泰儀表如何驗證零信任有效性

    刷新后SDP認證失敗無法新建對應(yīng)會話,網(wǎng)絡(luò)準入驗證不通過: ? 儀表統(tǒng)計顯示所有業(yè)務(wù)會話均建立失敗 場景 3: IAM通知DUT對指定令牌進行老化,流量觸發(fā)DUT重新生成對應(yīng)緩存表項 ? 儀表
    發(fā)表于 09-09 15:33

    技術(shù)解讀 | 光庭信息虛擬ECU技術(shù)賦能SOA化MCU軟件的早期驗證與集成加速

    。當前,傳統(tǒng)ECU開發(fā)面臨兩大核心挑戰(zhàn): ? 1 功能重構(gòu)后的驗證需求: ECU功能經(jīng)服務(wù)化分層重構(gòu)后,其實現(xiàn)方式發(fā)生根本性變化,必須進行全面的重新
    的頭像 發(fā)表于 07-21 15:43 ?511次閱讀
    技術(shù)解讀 | 光庭信息虛擬ECU技術(shù)賦能SOA化MCU軟件的早期<b class='flag-5'>驗證</b>與集成加速

    LE Classic BT斷開連接后需要重新連接多少時間?

    我們正在做一個使用 CYW20819 模塊的項目,所以我們想問一些信息,如下所示: 1。BLE Classic BT 斷開連接后需要重新連接多少時間? 2。有支持自動重新連接的示例嗎? 3。
    發(fā)表于 07-03 07:05

    Linux中,用新設(shè)置對CY7C65215重新編程后,如何啟用新設(shè)置?

    Linux 系統(tǒng)下,如何 1.用 Linux 中的編程新設(shè)置配置 CY7C65215? 如\"USB 串口配置實用程序\" 命令行 fwDownload.exe。 2.
    發(fā)表于 05-26 08:23

    CYPD3177 PD正常運行期間重新初始化怎么解決?

    用 EZ PD 協(xié)議分析器實用程序進行了確認。 我們可以從 EZ PD 協(xié)議分析器實用程序截圖上看到, PD 重新初始化之前,設(shè)備 12V 電壓下工作,沒有出現(xiàn)過流負載下降(圖上
    發(fā)表于 05-22 07:41

    頂升AGV以創(chuàng)新設(shè)重構(gòu)物流柔性力

    工業(yè)4.0與智能制造深度融合的今天,物流設(shè)備的靈活性與場景適配性已成為企業(yè)競爭的關(guān)鍵。作為AGV領(lǐng)域的核心技術(shù)模塊,頂升AGV延伸面板的作用有哪些?這一問題的答案不僅關(guān)乎設(shè)備性能,更直接影響企業(yè)
    的頭像 發(fā)表于 04-25 17:03 ?467次閱讀

    變頻器重新設(shè)置參數(shù)應(yīng)注意什么?

    進行重新設(shè)置參數(shù)時,我們必須格外謹慎,以確保設(shè)備能夠高效、穩(wěn)定地運行。以下,我們將詳細探討變頻器重新設(shè)置參數(shù)時應(yīng)注意的關(guān)鍵點。 一、了解變頻器與參數(shù)基礎(chǔ) 1. 熟悉變頻器型號與功能: ? ?● 不同型號的變頻器具有不同
    的頭像 發(fā)表于 03-17 16:00 ?975次閱讀
    變頻器<b class='flag-5'>重新設(shè)</b>置參數(shù)應(yīng)注意什么?

    秒驗:重構(gòu)APP用戶體驗與運營效率

    秒驗:重構(gòu)APP用戶體驗與運營效率 移動互聯(lián)網(wǎng)競爭日益激烈的今天,APP用戶對便捷性和安全性的需求持續(xù)升級。傳統(tǒng)短信驗證碼的“輸入-等待-驗證”流程,因延遲、操作繁瑣等問題,已成為用
    的頭像 發(fā)表于 02-28 10:40 ?579次閱讀

    新思科技全新升級業(yè)界領(lǐng)先的硬件輔助驗證產(chǎn)品組合,助力下一代半導(dǎo)體與設(shè)計創(chuàng)新

    新思科技 (Synopsys, Inc.,納斯達克股票代碼:SNPS)近日宣布,推出基于全新AMD Versal? Premium VP1902自適應(yīng)系統(tǒng)級芯片(SoC)的HAPS?原型驗證系統(tǒng)
    發(fā)表于 02-18 16:00 ?425次閱讀

    三星電子否認1b DRAM重新設(shè)計報道

    據(jù)報道,三星電子已正式否認了有關(guān)其將重新設(shè)計第五代10nm級DRAM(即1b DRAM)的傳聞。這一否認引發(fā)了業(yè)界對三星電子內(nèi)存產(chǎn)品策略的新一輪關(guān)注。 此前有報道指出,三星電子為應(yīng)對其12nm級
    的頭像 發(fā)表于 01-23 15:05 ?788次閱讀

    三星否認重新設(shè)計1b DRAM

    問題,2024年底決定在改進現(xiàn)有1b nm工藝的同時,從頭設(shè)計新版1b nm DRAM。 不過,三星通過相關(guān)媒體表示相關(guān)報道不準確。盡管三星否認了重新設(shè)計,但有業(yè)內(nèi)人士透露,三星的目標是提升1b DRAM的性能和良率。據(jù)了解,三星啟動了名為“D1b - p”的開發(fā)項目,
    的頭像 發(fā)表于 01-23 10:04 ?1207次閱讀

    英諾達發(fā)布全新靜態(tài)驗證產(chǎn)品,提升芯片設(shè)計效率

    英諾達(成都)電子科技有限公司近日正式推出了兩款全新的靜態(tài)驗證EDA工具——EnAltius?CDC跨域檢查工具和Lint RTL代碼檢查工具。這兩款產(chǎn)品的發(fā)布,標志著英諾達芯片設(shè)計工具領(lǐng)域邁出
    的頭像 發(fā)表于 12-24 16:53 ?1056次閱讀

    HSSC MicroStar BGA停產(chǎn)并重新設(shè)

    電子發(fā)燒友網(wǎng)站提供《HSSC MicroStar BGA停產(chǎn)并重新設(shè)計.pdf》資料免費下載
    發(fā)表于 11-25 15:24 ?0次下載
    HSSC MicroStar BGA停產(chǎn)并<b class='flag-5'>重新設(shè)</b>計

    CTS MicroStar BGA停產(chǎn)并重新設(shè)

    電子發(fā)燒友網(wǎng)站提供《CTS MicroStar BGA停產(chǎn)并重新設(shè)計.pdf》資料免費下載
    發(fā)表于 11-24 14:24 ?0次下載
    CTS MicroStar BGA停產(chǎn)并<b class='flag-5'>重新設(shè)</b>計