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

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

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

軟件單元測試真的有必要嗎?(下)

上??匕?/a> ? 來源:上海控安 ? 作者:上??匕? ? 2023-11-17 15:18 ? 次閱讀

作者 |包丹珠上??匕?a target="_blank">產(chǎn)品總監(jiān)

版塊 |鑒源論壇 · 觀模

社群 |添加微信號TICPShanghai”加入“上海控安51fusa安全社區(qū)”

“軟件單元測試真的有必要嗎?(上)”一文中,著重探討了單元測試的重要性及其正面臨的困境,并分享了功能安全標準中羅列的單元測試方法。承接上文,本篇將深入討論單元測試過程中,如何在保質(zhì)保量完成測試任務(wù)的同時,縮減時間成本、提高測試效率,并分享目前行業(yè)內(nèi)的實踐經(jīng)驗以及相關(guān)自動化測試工具。

04

單元測試可以做,但項目周期催得緊,怎么辦?

wKgaomVXE4GARtQ5AAEivk9M8uY460.png

然而,在真正實施軟件單元測試時,還需要考慮一個成本問題。

軟件行業(yè)競爭相對比較激烈,在交付為王的時代,軟件發(fā)布的市場Deadline是大家要面臨的一個非生即死的殘酷問題。如何能夠保質(zhì)又保量,即縮減因為引入單元測試而帶來的時間成本呢?

工欲善其事,必先利其器。縮減成本的第一個方法是利用自動化測試工具。目前市面上有可供選擇的自動化單元測試工具,包括開源的和商用的。

開源工具通常是提供針對特定語言的測試框架,單元測試人員使用框架進行測試代碼的編寫。用的較多的開源框架有GoogleTest、Junit等。開源工具由于是基于已有測試框架通過寫代碼的方式進行測試,因此對一般測試人員的編程能力要求相對較高。

wKgaomVXE4uAZqzGAAD0dxjCH2E608.png

商用工具提供可視化的自動化測試工具,不需要大規(guī)模的測試編程,將測試人員的精力專注在測試用例的設(shè)計上,而非測試框架的執(zhí)行上,因此對測試人員會更友好。商用工具市場占有率較高的是國外的工具。然而自從2019年以來,這些商業(yè)工具也陸續(xù)出現(xiàn)了國內(nèi)禁售、服務(wù)停止續(xù)期的禁令。好在國內(nèi)一些知名高校,在前期有相關(guān)的技術(shù)積累,目前也出現(xiàn)了為數(shù)不多的國產(chǎn)自動化單元測試工具,比如來源于華東師范大學(xué)軟件學(xué)院可信實驗室的SmartRocket等,這些工具在自動化執(zhí)行的基礎(chǔ)上,比國外工具更為領(lǐng)先的是提供了自動設(shè)計高覆蓋率測試用例的核心功能,可以更大意義上降低測試人員的時間投入等。

在使用自動化測試工具的基礎(chǔ)之上,采用CI(Continuous Integration)持續(xù)集成方式,將單元測試很好地融合進入自動化持續(xù)集成的過程中,也可以進一步縮減時間成本,并且提升軟件上線效率。通過借助Jenkins等持續(xù)集成工具,在模塊代碼提交時,自動觸發(fā)代碼自動化測試崗哨,當測試通過時代碼提交成功,否則提交失敗。自動化測試崗哨除了加入單元測試外,還可以加入像代碼靜態(tài)掃描等自動化Pipeline。軟件持續(xù)集成在行業(yè)內(nèi)有很多的成功案例可以借鑒,是軟件質(zhì)量保證和軟件開發(fā)效率高的一種直觀表現(xiàn)。

wKgZomVXE5uAO35_AAA_DELAsoM883.png

05

結(jié)語:欲速則不達,耐心做單元測試是程序員的美德。

寫到這里,想必大家對軟件單元測試的重要意義,以及如何進行單元測試實踐有了一定了解。如果您是軟件行業(yè)的從業(yè)者的話,希望本文能夠給您帶來一些新的思考??偨Y(jié)一句話,欲速則不達,對于優(yōu)秀的軟件開發(fā)工程師來說,耐心做好單元測試是一項值得養(yǎng)成的基本美德。元宇宙未來的軟件基礎(chǔ),靠你們鑄就。

審核編輯 黃宇

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

    關(guān)注

    69

    文章

    4570

    瀏覽量

    86693
  • 單元測試
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    3122
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙語言基礎(chǔ)類庫:ohos.application.testRunner TestRunner 測試

    TestRunner模塊提供了框架測試的能力。包括準備單元測試環(huán)境、運行測試用例。
    的頭像 發(fā)表于 07-12 09:32 ?204次閱讀

    單元測試、集成測試自動化工具

    CoverageMaster winAMS :?適用于嵌入式目標機代碼的單元測試/集成測試工具 全面支持嵌入式微機!驗證嵌入式C/C++軟件 實施以模塊為單位的自動化單元測試工具 不需
    的頭像 發(fā)表于 06-26 13:41 ?229次閱讀
    <b class='flag-5'>單元測試</b>、集成<b class='flag-5'>測試</b>自動化工具

    在項目“backup_fw” 中手動設(shè)定application img地址必要嗎

    在項目“backup_fw” 中手動設(shè)定applicationimg 地址必要嗎,還是不需要勾選,若勾選了,這個地址的值是根據(jù)什么設(shè)定的,謝謝!
    發(fā)表于 06-03 06:44

    接口測試的工具有哪些種類

    單元測試框架 單元測試框架主要用于測試單個模塊或函數(shù)的功能。雖然它們主要用于開發(fā)階段,但也可以用于接口測試。 1.1 JUnit (Java) JUnit 是 Java 語言的
    的頭像 發(fā)表于 05-30 15:07 ?420次閱讀

    嵌入軟件單元測試工具的作用

    嵌入軟件單元測試工具是現(xiàn)代軟件開發(fā)過程中不可或缺的一環(huán)。它的作用在于幫助開發(fā)人員對軟件中的各個單元進行
    的頭像 發(fā)表于 04-23 15:31 ?322次閱讀
    嵌入<b class='flag-5'>軟件</b><b class='flag-5'>單元測試</b>工具的作用

    LitePoint推出其最新的5G O-RAN無線電單元測試技術(shù)

    無線測試解決方案先進供應(yīng)商LitePoint宣布將參加于4月12日在臺北舉行的2024年D Forum移動通信論壇,展示其最新的5G O-RAN無線電單元測試技術(shù)。
    的頭像 發(fā)表于 04-11 15:26 ?361次閱讀

    單元/集成測試服務(wù)

    單元/集成測試旨在證明被測軟件實現(xiàn)其單元/架構(gòu)設(shè)計規(guī)范、證明被測軟件不包含非預(yù)期功能。經(jīng)緯恒潤測試
    的頭像 發(fā)表于 02-29 13:27 ?290次閱讀
    <b class='flag-5'>單元</b>/集成<b class='flag-5'>測試</b>服務(wù)

    Tessy—嵌入式軟件單元測試/集成測試工具

    Tessy源自戴姆勒—奔馳公司的軟件技術(shù)實驗室,由德國Hitex公司負責(zé)銷售及技術(shù)的支持服務(wù),是一款專門針對嵌入式軟件進行單元/集成測試的工具。它可以對C/C++代碼進行
    的頭像 發(fā)表于 01-15 14:39 ?635次閱讀
    Tessy—嵌入式<b class='flag-5'>軟件</b><b class='flag-5'>單元測試</b>/集成<b class='flag-5'>測試</b>工具

    軟件測試的需求哪些

    軟件測試的需求哪些
    的頭像 發(fā)表于 12-28 10:46 ?748次閱讀

    HamronyOS自動化測試框架使用指南

    概述 為支撐 HarmonyOS 操作系統(tǒng)的自動化測試活動開展,我們提供了支持 JS/TS 語言的單元及 UI 測試框架,支持開發(fā)者針對應(yīng)用接口進行單元測試,并且可基于 UI 操作進行
    發(fā)表于 12-19 10:26

    一文了解Python的Pytest架構(gòu)及相關(guān)內(nèi)容

    我們首先需要知道測試一般分為四個方面的測試單元測試:稱模塊測試,針對軟件設(shè)計中的最小單位——程序模塊,進行正確性檢查的
    的頭像 發(fā)表于 11-15 10:12 ?690次閱讀

    一種通用的汽車車身電子單元測試工裝的研究設(shè)計

    電子發(fā)燒友網(wǎng)站提供《一種通用的汽車車身電子單元測試工裝的研究設(shè)計.pdf》資料免費下載
    發(fā)表于 11-07 10:07 ?1次下載
    一種通用的汽車車身電子<b class='flag-5'>單元測試</b>工裝的研究設(shè)計

    軟件單元測試真的必要嗎?(上)

    本文著重探討單元測試的重要性及其正面臨的困境,并介紹功能安全標準中羅列的單元測試方法。
    的頭像 發(fā)表于 11-03 14:58 ?632次閱讀
    <b class='flag-5'>軟件</b><b class='flag-5'>單元測試</b><b class='flag-5'>真的</b><b class='flag-5'>有</b><b class='flag-5'>必要嗎</b>?(上)

    汽車軟件單元測試的要點與意義

    代碼路徑分析:主要包括控制流分析(如語句條件分支、循環(huán)迭代次數(shù))、數(shù)據(jù)流分析(如變量值的傳遞)、代碼復(fù)雜性(如圈復(fù)雜度、路徑長度)、依賴關(guān)系(如函數(shù)之間的調(diào)用、模塊之間的依賴)等。
    的頭像 發(fā)表于 10-22 14:14 ?586次閱讀

    手把手教你學(xué)FPGA仿真篇

    讓大家能夠搭建簡單的 UT 單元測試環(huán)境。Verilog 也有適用于仿真的代碼,這些代碼是不可以綜合的??梢允褂肰erilog 來搭建基本的單元測試環(huán)境。本問介紹了如何編寫測試驗證程序
    發(fā)表于 10-13 08:11