徐勇

摘 要 從測試?yán)碚摰膬?nèi)容來看,在實(shí)際測試的過程中不能夠在短時間內(nèi)發(fā)現(xiàn)所有的軟件錯誤。因此,在合適的實(shí)際就需要有一個可信的方式來全面地測試任務(wù)的完成程度。即便使用同一測試技術(shù)來衡量完成度,測試過程中的覆蓋率越高,則說明測試的工作會進(jìn)行的越完善,軟件的可信度也就越高。本文主要全面分析軟件功能測試覆蓋收集技術(shù)的應(yīng)用內(nèi)容。
關(guān)鍵詞 軟件功能;測試覆蓋率;收集技術(shù);應(yīng)用策略
引言
雖然軟件測試的工作在方法、技術(shù)手段和管理方式上不斷地發(fā)生變化,但是,每一個測試管理者都在不斷地分析如何更加高效和準(zhǔn)確地掌握測試的進(jìn)度。程序覆蓋率工具的存在使得測試執(zhí)行的過程不斷地朝著可視化的現(xiàn)象發(fā)展,給更多測試管理人員提供了最直接的數(shù)據(jù)支持。本文主要分析軟件工程測試覆蓋率收集技術(shù)的應(yīng)用策略。
1軟件功能測試覆蓋率的概念
所謂軟件功能測試覆蓋率指的就是讓所有大代碼在被執(zhí)行和測試的過程中都能夠出現(xiàn)隱秘的BUG,這樣才能夠讓整個軟件在使用的過程中變得更加可靠。真正衡量覆蓋測試過程的標(biāo)準(zhǔn)就是覆蓋率[1]。如果覆蓋率越高則說明測試的效果越好。如果覆蓋率較高則可以讓更多的人對被測試的軟件充滿信心,覆蓋率本身也就表示在測試過程中與被執(zhí)行對象相關(guān)的百分比。
2實(shí)現(xiàn)覆蓋率收集的主要策略
目前最主要的覆蓋率工具都可以支持jsp、class和其他不同程序地發(fā)展,下面來對其具體的實(shí)現(xiàn)方式進(jìn)行分析。
2.1 采集全量程序及其分支
專業(yè)的程序覆蓋率工具可以借助合適的應(yīng)用服務(wù)器和路徑來全面地進(jìn)行掃描,進(jìn)而獲得分支清單。必要時可以先利用專業(yè)的程序覆蓋率工具來直接識別關(guān)鍵詞,為的是獲得全部程序分支清單。
2.2 全面記錄獲取和執(zhí)行的情況
在實(shí)際針對jsp進(jìn)行測試和執(zhí)行的過程中,可以充分利用專業(yè)的程序覆蓋率工具來針對system.out.log內(nèi)部的初始化Servlet記錄來識別有關(guān)的內(nèi)容。在執(zhí)行class的過程中,通過執(zhí)行存在于環(huán)境中的痕跡來捕捉class所產(chǎn)生的執(zhí)行明細(xì)。在實(shí)際執(zhí)行和城市pl存儲過程時,可以借助過程中的打樁語句來統(tǒng)計合適的內(nèi)容。如果確實(shí)要測試和執(zhí)行某個存過時,可以在關(guān)鍵詞樁后面自動插入和執(zhí)行相關(guān)的記錄。
3軟件功能測試覆蓋收集技術(shù)的應(yīng)用策略
在獲取與程序覆蓋相關(guān)的數(shù)據(jù)之后,專業(yè)的監(jiān)控系統(tǒng)內(nèi)部的報表可以在第一時間就整合相關(guān)的數(shù)據(jù),并形成合適的報表。借助專業(yè)的報表又可以展示出測試的進(jìn)度,這其實(shí)就是測試的可視化過程。
3.1 準(zhǔn)確地掌握測試執(zhí)行的進(jìn)度
可以通過監(jiān)控程序覆蓋率來直接地反映出不同版本測試的情況,并不需要借助測試人員本身來直接選擇測試的案例,最終能夠讓測試的過程變得更加順利。此外,通過借助程序覆蓋監(jiān)控報表也能夠了解當(dāng)前版本內(nèi)部變動的清單。在對比測試的實(shí)際案例之后也可以在這段時間內(nèi)找出開發(fā)和修改的通知。
3.2 更好地管理不同測試的階段
目前,諸多銀行內(nèi)部的軟件開發(fā)中心主要可以有效地測試功能和流程。在傳統(tǒng)的測試階段其實(shí)非常容易出現(xiàn)案例重復(fù)和測試邊界不清楚的問題,所以在實(shí)際測試的過程中也會浪費(fèi)很多資源[2]。如果能夠在流程測試的過程中有效地部署程序監(jiān)控的工具,自然就能夠在短時間內(nèi)獲得每個階段程序覆蓋的情況,并通過揭示不同階段測試過程中重復(fù)的內(nèi)容來減少資源的浪費(fèi)。此外,需要在測試的過程中懂得分工合作,并有效地加強(qiáng)互補(bǔ)測試,詳細(xì)內(nèi)容如表1所示。
3.3 讓測試的過程更加完整
隨著越來越多銀行內(nèi)部的測試團(tuán)隊(duì)來從事測試資產(chǎn)的工作,以便更好地建立全面的測試案例例庫。可以通過運(yùn)用專業(yè)覆蓋程序的工具來將案例庫內(nèi)部的案例和程序有效地結(jié)合在一起。這樣一個操作一方面能夠保證整個案例庫內(nèi)部的例子能夠和系統(tǒng)內(nèi)部的程序相互對應(yīng),以便讓整個過程變得更加完整。另外,如果當(dāng)內(nèi)部某一個程序出現(xiàn)變化之后,可以通過讓測試案例和程序相互對應(yīng)來獲得合適的測試案例,這樣自然也就能夠自動檢驗(yàn)出需要發(fā)揮作用的案例,并讓輔助測試的過程變得更加順利。
3.4 借助程序覆蓋率來增加附加效益
實(shí)際使用監(jiān)控程序覆蓋率的工具之后,不僅能夠增加測試管理的方式,更能夠在短時間內(nèi)就掌握測試的進(jìn)度。并在排查測試過程中產(chǎn)生的風(fēng)險之后有效地協(xié)同管理。整個測試的團(tuán)隊(duì)不僅能夠更好地完成測試的目標(biāo),更能夠帶來額外的收益。而借助程序覆蓋率本身也能夠增加修改的次數(shù)。在實(shí)際操作的過程中更能夠掌握合適的研發(fā)水平來為每一個開發(fā)團(tuán)隊(duì)提供合適的數(shù)據(jù)。在實(shí)際分析測試人員行為之后自然也就能夠?yàn)楣芾韺犹峁└嗟臄?shù)據(jù)。
4結(jié)束語
在實(shí)際應(yīng)用和建設(shè)的過程中,任何一個工程內(nèi)部的源程序都非常復(fù)雜。而實(shí)現(xiàn)覆蓋率100%的準(zhǔn)確幾乎是不可能的。所以都需要借助專業(yè)的覆蓋測試工具來全面地實(shí)施。有關(guān)測試人員需要按照測試的條例來編寫和執(zhí)行就能夠發(fā)揮巨大的作用。而在實(shí)際運(yùn)用測試工具之后就能夠在第一時間通過確定覆蓋執(zhí)行的范圍來得出合適的覆蓋率,最終其實(shí)也就降低了測試人員勞動的強(qiáng)度。正因?yàn)闇y試的過程非常復(fù)雜,所以目前一些自動測試生成的工具確實(shí)能夠在第一時間降低勞動人員的強(qiáng)度。
5結(jié)束語
合適的監(jiān)測覆蓋率的工具可以為每一個研發(fā)團(tuán)隊(duì)都帶來更多的收益,更能夠?yàn)楦嗟臏y試團(tuán)隊(duì)都提供多樣化的技術(shù)和管理方法,可以說這是一個性價比非常高的工具。軟件功能測試覆蓋率工具也確實(shí)能夠在合適的時機(jī)產(chǎn)生更多的作用,并讓整個測試的過程變得更加順利。
參考文獻(xiàn)
[1] 朱少民.軟件質(zhì)量保證和管理[M].北京:清華大學(xué)出版社,2015:39-43.
[2] 黎連生,王華,李淑春.軟件測試與測試技術(shù)[M].北京:清華大學(xué)出版社,2016:129.