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