作者 |包丹珠上??匕?a target="_blank">產(chǎn)品總監(jiān)
版塊 |鑒源論壇 · 觀模
社群 |添加微信號(hào)“TICPShanghai”加入“上海控安51fusa安全社區(qū)”
“軟件單元測(cè)試真的有必要嗎?(上)”一文中,著重探討了單元測(cè)試的重要性及其正面臨的困境,并分享了功能安全標(biāo)準(zhǔn)中羅列的單元測(cè)試方法。承接上文,本篇將深入討論單元測(cè)試過(guò)程中,如何在保質(zhì)保量完成測(cè)試任務(wù)的同時(shí),縮減時(shí)間成本、提高測(cè)試效率,并分享目前行業(yè)內(nèi)的實(shí)踐經(jīng)驗(yàn)以及相關(guān)自動(dòng)化測(cè)試工具。
04
單元測(cè)試可以做,但項(xiàng)目周期催得緊,怎么辦?
然而,在真正實(shí)施軟件單元測(cè)試時(shí),還需要考慮一個(gè)成本問(wèn)題。
軟件行業(yè)競(jìng)爭(zhēng)相對(duì)比較激烈,在交付為王的時(shí)代,軟件發(fā)布的市場(chǎng)Deadline是大家要面臨的一個(gè)非生即死的殘酷問(wèn)題。如何能夠保質(zhì)又保量,即縮減因?yàn)橐雴卧獪y(cè)試而帶來(lái)的時(shí)間成本呢?
工欲善其事,必先利其器。縮減成本的第一個(gè)方法是利用自動(dòng)化測(cè)試工具。目前市面上有可供選擇的自動(dòng)化單元測(cè)試工具,包括開源的和商用的。
開源工具通常是提供針對(duì)特定語(yǔ)言的測(cè)試框架,單元測(cè)試人員使用框架進(jìn)行測(cè)試代碼的編寫。用的較多的開源框架有GoogleTest、Junit等。開源工具由于是基于已有測(cè)試框架通過(guò)寫代碼的方式進(jìn)行測(cè)試,因此對(duì)一般測(cè)試人員的編程能力要求相對(duì)較高。
商用工具提供可視化的自動(dòng)化測(cè)試工具,不需要大規(guī)模的測(cè)試編程,將測(cè)試人員的精力專注在測(cè)試用例的設(shè)計(jì)上,而非測(cè)試框架的執(zhí)行上,因此對(duì)測(cè)試人員會(huì)更友好。商用工具市場(chǎng)占有率較高的是國(guó)外的工具。然而自從2019年以來(lái),這些商業(yè)工具也陸續(xù)出現(xiàn)了國(guó)內(nèi)禁售、服務(wù)停止續(xù)期的禁令。好在國(guó)內(nèi)一些知名高校,在前期有相關(guān)的技術(shù)積累,目前也出現(xiàn)了為數(shù)不多的國(guó)產(chǎn)自動(dòng)化單元測(cè)試工具,比如來(lái)源于華東師范大學(xué)軟件學(xué)院可信實(shí)驗(yàn)室的SmartRocket等,這些工具在自動(dòng)化執(zhí)行的基礎(chǔ)上,比國(guó)外工具更為領(lǐng)先的是提供了自動(dòng)設(shè)計(jì)高覆蓋率測(cè)試用例的核心功能,可以更大意義上降低測(cè)試人員的時(shí)間投入等。
在使用自動(dòng)化測(cè)試工具的基礎(chǔ)之上,采用CI(Continuous Integration)持續(xù)集成方式,將單元測(cè)試很好地融合進(jìn)入自動(dòng)化持續(xù)集成的過(guò)程中,也可以進(jìn)一步縮減時(shí)間成本,并且提升軟件上線效率。通過(guò)借助Jenkins等持續(xù)集成工具,在模塊代碼提交時(shí),自動(dòng)觸發(fā)代碼自動(dòng)化測(cè)試崗哨,當(dāng)測(cè)試通過(guò)時(shí)代碼提交成功,否則提交失敗。自動(dòng)化測(cè)試崗哨除了加入單元測(cè)試外,還可以加入像代碼靜態(tài)掃描等自動(dòng)化Pipeline。軟件持續(xù)集成在行業(yè)內(nèi)有很多的成功案例可以借鑒,是軟件質(zhì)量保證和軟件開發(fā)效率高的一種直觀表現(xiàn)。
05
結(jié)語(yǔ):欲速則不達(dá),耐心做單元測(cè)試是程序員的美德。
寫到這里,想必大家對(duì)軟件單元測(cè)試的重要意義,以及如何進(jìn)行單元測(cè)試實(shí)踐有了一定了解。如果您是軟件行業(yè)的從業(yè)者的話,希望本文能夠給您帶來(lái)一些新的思考??偨Y(jié)一句話,欲速則不達(dá),對(duì)于優(yōu)秀的軟件開發(fā)工程師來(lái)說(shuō),耐心做好單元測(cè)試是一項(xiàng)值得養(yǎng)成的基本美德。元宇宙未來(lái)的軟件基礎(chǔ),靠你們鑄就。
審核編輯 黃宇
-
軟件
+關(guān)注
關(guān)注
69文章
4921瀏覽量
87396 -
單元測(cè)試
+關(guān)注
關(guān)注
0文章
42瀏覽量
3150
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論