崔哲
摘 要隨著大型軟件工程項(xiàng)目的出現(xiàn),系統(tǒng)的功能性、復(fù)雜度較之傳統(tǒng)的軟件項(xiàng)目而言都是不可同日語的,為了保障軟件設(shè)計(jì)的正確性、提升軟件編制的可靠性,軟件測試技術(shù)應(yīng)用而生,軟件測試現(xiàn)已成為各個(gè)項(xiàng)目開發(fā)的必要過程。本文從軟件測試技術(shù)和測試管理兩個(gè)方面進(jìn)行了相關(guān)內(nèi)容的論述,簡要的介紹了軟件測試的概念、必要性以及提升測試管理的思路,希望通過本文對了解軟件測試技術(shù)和提升測試管理水平提供參考。
【關(guān)鍵詞】軟件 測試 管理 技術(shù)
1 軟件測試技術(shù)簡介
1.1 何為軟件測試技術(shù)
軟件測試(Software Testing),是在一定條件下對程序代碼運(yùn)行實(shí)際結(jié)果與預(yù)計(jì)目標(biāo)進(jìn)行比對的編程技術(shù),是軟件開發(fā)過程的重要環(huán)節(jié)。軟件測試通常從三個(gè)角度,即程序的正確性(correctness) 、完整性(completeness)以及質(zhì)量性(quality)來對軟件進(jìn)行測試。軟件測試可分為單元測試、集成測試、系統(tǒng)測試等類型,單元測試(unit testing)主要是指對軟件最小可測單元(如一個(gè)函數(shù)、方法等)進(jìn)行測試的一種技術(shù)手段;集成測試則是將測試單元進(jìn)行組合來對代碼功能測試的一種技術(shù)手段;而系統(tǒng)測試(system testing)將確定的系統(tǒng)運(yùn)行硬件、軟件、網(wǎng)絡(luò)等各類環(huán)境進(jìn)行組合完成接近代碼交付前的測試。除此之外,按照程序代碼的可見性又分為白盒測試和黑盒測試,其中白盒測試對于測試人員代碼是可見的,通過運(yùn)行測試代碼進(jìn)行程序結(jié)構(gòu)性測試,而黑盒測試不關(guān)注代碼內(nèi)容,僅僅通過輸入輸出結(jié)果比較來分析代碼的可用性、質(zhì)量性。總之,軟件測試作為程序開發(fā)的重要階段,是以一定規(guī)范性和理論性技術(shù)保障為支撐的開發(fā)過程,對于驗(yàn)證程序代碼功能、質(zhì)量以及完整性具有十分重要的意義。
1.2 軟件測試的必要性分析
從軟件測試的功能角度而言,其具有三個(gè)方面的作用,其中正確性是最為基本的測試保障,脫離了軟件的正確性保障任何測試都是無意義的;而完整性則從代碼覆蓋率、功能實(shí)現(xiàn)的完整性等角度予以探討的;質(zhì)量性則是通過分析、測試軟件性能,獲得軟件運(yùn)行的可靠性保障。通過對編制的軟件進(jìn)行測試可發(fā)現(xiàn)軟件運(yùn)行錯(cuò)誤,實(shí)現(xiàn)有效程序代碼高覆蓋率,對軟件性能獲得初步的了解,是交付給用戶最終程序的質(zhì)量保障。甚至在一些開發(fā)領(lǐng)域,“測試先行”的做法也大量存在,根據(jù)程序文檔編制好測試用例,以測代寫的程序編制過程規(guī)范了程序開發(fā)過程,避免無效代碼的出現(xiàn)??傊?,軟件測試是十分關(guān)鍵和必要的,應(yīng)重視軟件測試對于程序開發(fā)質(zhì)量保障。
2 提升軟件測試管理的思路探析
2.1 提升軟件測試認(rèn)識(shí)度
軟件測試認(rèn)識(shí)度作為意識(shí)層面的管理需求是十分必要的,在實(shí)際的開發(fā)測試過程中往往有部分程序開發(fā)人員往往過分注重代碼的開發(fā)過程,而忽視測試保障,軟件測試的積極主動(dòng)性不高,究其原因無非是不了解、不重視軟件測試的必要性,體會(huì)不到軟件測試手段對于提升軟件質(zhì)量的意義。因此,要加強(qiáng)軟件測試管理首先應(yīng)促進(jìn)軟件測試認(rèn)識(shí)度的提升,從思想上重視軟件測試過程,深刻體會(huì)軟件測試的重要性,進(jìn)而熟練掌握軟件測試的方法、步驟、內(nèi)容以及實(shí)施過程,能夠有效的運(yùn)用各種測試手段為編寫高質(zhì)量代碼、提升系統(tǒng)運(yùn)行性能給出測試參考。總之,能否實(shí)現(xiàn)深入的測試認(rèn)識(shí)決定了測試管理是否有效。
2.2 規(guī)范軟件測試技術(shù)標(biāo)準(zhǔn)
軟件測試技術(shù)標(biāo)準(zhǔn)應(yīng)根據(jù)不同的項(xiàng)目代碼進(jìn)行差異化的制定,在同一個(gè)項(xiàng)目開發(fā)測試過程中,應(yīng)嚴(yán)格按照規(guī)定的測試標(biāo)準(zhǔn)予以實(shí)施。按照一般的測試規(guī)范,應(yīng)從以下幾個(gè)方面進(jìn)行實(shí)施,首先是測試工具的統(tǒng)一性,不同的開發(fā)語言所提供的測試工具往往不同,以Javaweb開發(fā)為例,常見的測試工具有TestNG、Apache JMeter、Selenium 等,不同的測試工具應(yīng)用場合以及性能都不盡相同,因此在進(jìn)行同一項(xiàng)目的開發(fā)測試的時(shí)候應(yīng)規(guī)范測試工具,保障測試的同一性;其次則是測試內(nèi)容的標(biāo)準(zhǔn)化,按照一般的軟件測試需求,應(yīng)從代碼的覆蓋率、功能的完整性、編程的正確性以及系統(tǒng)運(yùn)行的抗壓性等角度予以規(guī)范,規(guī)范測試文檔,任何功能模塊的測試都應(yīng)從這幾個(gè)方面入手,當(dāng)然按照系統(tǒng)的特殊性還應(yīng)對系統(tǒng)的“特色內(nèi)容”進(jìn)行測試;最后則是測試報(bào)告的規(guī)范性,不同的測試步驟都應(yīng)生成一定的測試報(bào)告,測試報(bào)告是各個(gè)測試過程的結(jié)論性依據(jù),規(guī)范了測試報(bào)告對于統(tǒng)一測試數(shù)據(jù)展現(xiàn)是十分必要的。
2.3 落實(shí)各類軟件測試資料的生成與保存
要進(jìn)行軟件測試,需要根據(jù)測試內(nèi)容提供測試用例(各種測試case),測試工具根據(jù)測試用例對代碼進(jìn)行測試,并生成各種測試文檔以供參考。改修項(xiàng)目實(shí)施之前,應(yīng)進(jìn)行系統(tǒng)代碼的回歸性測試,驗(yàn)證之前項(xiàng)目的正確性;在完成了代碼編制后應(yīng)進(jìn)行系統(tǒng)的覆蓋性測試和功能性測試,根據(jù)測試文檔對于不可達(dá)的代碼部分應(yīng)進(jìn)行修改,對于邏輯結(jié)構(gòu)的測試錯(cuò)誤予以改正,以實(shí)現(xiàn)高質(zhì)量代碼的編制,并對修改好的代碼進(jìn)行再一次的測試,通過測試文檔確認(rèn)修改完成,對于開發(fā)單位而言,可以通過測試報(bào)告得出開發(fā)人員開發(fā)效率,以此進(jìn)行差異化的人員管理。從上述描述可以看出,軟件測試各階段所需要和具備的測試資料和文檔是十分重要的,因此在各個(gè)測試環(huán)節(jié)應(yīng)注重測試資料的生成和保存,存留軟件測試的管理依據(jù)。
2.4 以軟件測試手段提升軟件編制質(zhì)量
軟件測試的最終目的旨在提高軟件的編制質(zhì)量以及系統(tǒng)運(yùn)行效率,不能因?yàn)闇y試而進(jìn)行測試,應(yīng)始終圍繞服務(wù)代碼生成的這一中心任務(wù)實(shí)施軟件測試工作,作為測試管理同樣應(yīng)重視軟件測試目標(biāo)性管理。通過軟件測試發(fā)現(xiàn)程序代碼編制過程中存在的各種問題,保障代碼的可達(dá)性、確保代碼邏輯正確性,并根據(jù)運(yùn)行效率隊(duì)代碼邏輯結(jié)構(gòu)進(jìn)行優(yōu)化設(shè)計(jì),最終提升軟件的功能性需求、完整性需求以及可靠性需求。
3 小結(jié)
綜上所述,軟件測試技術(shù)作為軟件開發(fā)的重要環(huán)節(jié),通過對比測試結(jié)果以及預(yù)期結(jié)果對發(fā)現(xiàn)軟件編制錯(cuò)誤,優(yōu)化軟件結(jié)構(gòu)設(shè)計(jì),提升軟件可用性具有十分重要的意義。本文從軟件測試技術(shù)和測試管理兩個(gè)方面對軟件測試工作進(jìn)行簡要的論述和探討,對于促進(jìn)軟件軟件測試內(nèi)容了解,提升測試管理工作給出相應(yīng)的參考意見。
參考文獻(xiàn)
[1]張蕾.軟件安全測試技術(shù)和工具的研究[J].中國新技術(shù)新產(chǎn)品,2017(17):21-22.
[2]趙麗輝.面向?qū)ο筌浖y試技術(shù)及應(yīng)用實(shí)踐[J/OL].電子技術(shù)與軟件工程,2017(14):45.
[3]陳雯雯. 基于云存儲(chǔ)的軟件測試管理系統(tǒng)的研究[D].吉林建筑大學(xué),2017.
[4]蘇麗芳.軟件測試自動(dòng)化技術(shù)的應(yīng)用分析[J/OL].中國高新技術(shù)企業(yè),2017(09):48-49.
[5]嚴(yán)羽楠,鄒然.測試過程可視化——談程序覆蓋率監(jiān)控技術(shù)[J].中國金融電腦,2017(06):81-84.
[6]任力子,王婉人,高優(yōu).探討計(jì)算機(jī)軟件測試的相關(guān)技術(shù)應(yīng)用[J].信息系統(tǒng)工程,2017(05):135.
作者單位
中國電子科技集團(tuán)公司第五十四研究所 河北省石家莊市 050000