在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

在重構或重新設計時驗證代碼

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Pierre-Henri Stanek ? 2022-11-25 15:17 ? 次閱讀

這些概念之間的主要區別在于:重新設計意味著你修改軟件以改變它的功能,而重構是修改它的工作方式。

重新設計和重構軟件有什么區別?

這些概念之間的主要區別在于:重新設計意味著你修改你的軟件來改變它的功能,而重構是修改它的方式。

重新設計工作有多種原因。例如,由于硬件更改,軟件需要在不同的CPU上工作,或者必須處理新的外圍設備,因此需要修改或擴展代碼以解決這些物理修改并提供新功能。當軟件需要與新的或更新的軟件接口時,也可能會發生重新設計 3RD-提供新服務的派對庫,這些服務將使您的應用程序受益。您可能會發現重新設計的許多其他原因,但在大多數情況下,在此上下文中執行的軟件更改會影響修改后的應用程序提供的一般行為或功能。

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

“對軟件的內部結構進行了更改,使其更易于理解且修改成本更低,而無需更改其可觀察的行為。

根據此定義,重構通常由開發人員在以下情況下執行:

需要將技術債務控制在可接受的水平,即低于從頭開始重建整個代碼似乎更經濟的線。

降低復雜性和內部依賴性,使軟件更模塊化,更易于擴展,更易于開發團隊中的新手閱讀和管理等。

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

鑒于我們現在對重新設計與重構工作有了更清晰的理解,

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

好吧,軟件測試的本質是它們主要檢查代碼是否符合其目的。換句話說,它們根據應用程序的功能要求驗證組成系統的每個軟件單元是否按預期運行。話雖如此,如果您嘗試重新設計代碼,則必須對其進行測試以確保根據新引入的要求驗證新功能,同時確保這些新擴展不會在現有的通過測試中引入回歸。

您可能會爭辯說,重構工作只影響軟件內部結構,因此不一定影響代碼接口和根據應用程序要求交付的一般服務。是的,但是。..像任何其他開發活動一樣,重構是引入新錯誤的一種非常簡單的方法,因此您必須重新測試您的軟件。維護一組完整而詳盡的通過測試將確保重構不會導致代碼中的回歸錯誤未被檢測到。事實上,每當你做一個小的改變時,你應該重新執行現有的測試作為安全網,以檢查你沒有修改預期的行為。經過一系列增量更改后,您將以安全的方式達到最初面向的重構狀態。

大多數組織希望通過在源代碼更改時更新這些測試來保留以前測試投資的價值。但這可能會導致高昂的測試維護成本。該解決方案并不像僅確定受代碼更改影響的受影響測試的子集(有時稱為測試影響分析或基于更改的測試)那樣簡單。測試維護的昂貴部分是開發人員花費在識別依賴項和更新相應測試以確保它們與修改后的軟件同步上的努力。

那么,適當的測試自動化如何降低這些測試維護成本呢?

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

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

·確定哪些測試受代碼更改的影響

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

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

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

? 對于每個代碼更改,建議對測試腳本和案例進行適當的更新

? 自動重構測試腳本,以便節省時間和成本效益

3)對于主要影響軟件內部結構的代碼更改,自動生成通過測試的安全網或基線,以便:

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

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

審核編輯:郭婷

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

    關注

    68

    文章

    10891

    瀏覽量

    212456
  • 代碼
    +關注

    關注

    30

    文章

    4813

    瀏覽量

    68837
收藏 人收藏

    評論

    相關推薦

    HSSC MicroStar BGA停產并重新設

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

    CTS MicroStar BGA停產并重新設

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

    HarmonyOS NEXT應用元服務開發控件位置調整場景與重新設置新焦點位置的場景

    是一致的。例如,桌面圖標被托起時,會播報已托起,移動的過程中,根據即將放置的位置播報“移至第幾行,第幾列”,放置后播報“已放至第幾行,第幾列”。應用可調用主動播報的接口來進行主動播報。 二、重新設
    發表于 10-25 09:49

    三星重新設計1a DRAM以提升HBM質量

     三星電子正面臨嚴峻挑戰,特別是在其半導體業務領域。除了代工業務停滯的問題,該公司高帶寬存儲器(HBM)市場的競爭力也引發了廣泛關注。據業內人士透露,為了提升在HBM領域的競爭力,三星可能會著手重新設計部分1a DRAM電路。
    的頭像 發表于 10-22 14:37 ?415次閱讀

    中繼器如何重新設

    中繼器(Repeater)是一種網絡設備,用于擴展無線信號覆蓋范圍,增強無線網絡的信號強度。無線網絡中,中繼器可以幫助解決信號衰減問題,提高網絡的穩定性和覆蓋范圍。重新設置中繼器通常涉及到以下幾個
    的頭像 發表于 09-05 09:33 ?2147次閱讀

    重構:改善既有代碼的設計」實戰篇

    背景 軟件開發的世界里,代碼重構是提升項目質量、適應業務變化的關鍵步驟。最近,我重新翻閱了《重構:改善既有
    的頭像 發表于 08-14 10:42 ?293次閱讀
    「<b class='flag-5'>重構</b>:改善既有<b class='flag-5'>代碼</b>的設計」實戰篇

    FPGA和ASIC有什么不同之處

    FPGA是“可重構邏輯”器件。先制造的芯片,再次設計時重新配置”。
    的頭像 發表于 07-24 09:32 ?1074次閱讀
    FPGA和ASIC有什么不同之處

    spi_flash期間的計時器中斷導致崩潰怎么解決?

    : spi_flash_erase_sector(...); spi_flash_write(...); 如果在閃存訪問期間發生計時器中斷,ESP 似乎會崩潰并重新啟動。 當然,這可以通過訪問 Flash 時禁用中斷來
    發表于 07-12 11:54

    ESP8266隨機崩潰,不會自行啟動重新啟動怎么處理?

    看門狗軟件看門狗的幫助下崩潰,它也應該再次重新啟動并正常工作。為什么它期待硬重啟。 您能否建議問題的根本原因。模塊遇到這種情況的可能性有多大,為什么看門狗計時器無法幫助模塊啟動和運行,以及模塊在運行時環境中期望硬重啟的可能性
    發表于 07-11 07:41

    每次調用espconn_send之前,重新設置遠程IP和端口的目的是什么?

    每次調用 espconn_send() 之前,應重新設置遠程 ip 和遠程端口的目的是什么? 如果我們只將它用于一對一的重復 UDP 通信,它仍然是必須的嗎? 首先,我們通過打印調試發現,如果
    發表于 07-11 07:25

    TLE986x如何定期重新啟動計時器?

    模式 0-13 位定時器模式下運行 T3。 達到溢出時,計時器停止。 請問如何定期重新啟動計時器?
    發表于 07-03 07:13

    該如何提高代碼容錯率、降低代碼耦合度?

    處理用戶輸入外部數據時,進行嚴格的輸入驗證和數據校驗是確保系統安全和穩定的重要步驟。硬件和軟件的故障隔離:硬件和軟件設計中,采取故障隔離的措施可以減少故障傳
    的頭像 發表于 06-26 08:10 ?710次閱讀
    該如何提高<b class='flag-5'>代碼</b>容錯率、降低<b class='flag-5'>代碼</b>耦合度?

    FPGA的sata接口設計時需要注意哪些問題

    FPGA的SATA接口設計時,需要注意以下幾個方面的問題,以確保設計的穩定性和性能: 接口版本和速度 : SATA有三代標準,分別為SATA I(1.5 Gb/s)、SATA II(3.0 Gb
    發表于 05-27 16:20

    計時器觸發的中斷中使用了HAL_I2C_Mem_Read函數(I2C數據讀取)導致代碼卡死怎么解決?

    計時器觸發的中斷中使用了HAL_I2C_Mem_Read函數(I2C數據讀取)導致代碼卡死,這有什么解決辦法嗎?十分感謝,個人猜測是中斷優先級問題,但是不知如何設置 以下是計時器相關
    發表于 05-20 07:34

    fpga驗證和uvm驗證的區別

    FPGA驗證和UVM驗證芯片設計和驗證過程中都扮演著重要的角色,但它們之間存在明顯的區別。
    的頭像 發表于 03-15 15:00 ?1720次閱讀
    主站蜘蛛池模板: 久青草国产免费观看| 久久婷婷六月| 亚洲第一区第二区| 毛片网站免费在线观看| 欧美专区一区二区三区| 欧美精品 在线播放| 免费国产黄网站在线观看视频| 欧美高清在线播放| 国内一级野外a一级毛片| 骚五月| 日韩视频高清| 毛片你懂的| 成zzzwww日本免费| 天天做天天爱天天射| 久久精品国产大片免费观看| 亚洲91在线视频| 老熟女毛片| 亚洲无吗在线视频| 福利视频一区二区| 国产在线精品一区二区夜色| 在线成人看片| 日韩色爱| 国产三级日产三级韩国三级| 亚洲午夜一区| 久久精品国产大片免费观看| 男人日女人视频在线观看| 老师喂我吃她的奶水脱她胸罩| 天天狠狠色噜噜| 久久人成| 手机在线观看你懂得| 亚洲 另类 在线 欧美 制服| 久久久xxx| 三级国产在线观看| 国产精品乳摇在线播放| 深夜久久| 中文在线 | 中文| 欧美视频免费一区二区三区| 日本在线一区二区| 日本一区视频在线观看| 亚洲成人免费在线| 激情五月综合婷婷|