但曉銘
摘 要:計算機軟件測試是軟件開發(fā)和應用過程中必不可少的重要環(huán)節(jié),是確保軟件質量的重要手段。因此對計算機軟件測試技術進行分析研究對于軟件的開發(fā)和應用有著重要的指導意義。本文首先對計算機軟件的概念和目的等基本概念進行了概述,然后對現(xiàn)有的計算機軟件測試的技術和測試流程進行了簡述,最后對計算機軟件測試的現(xiàn)狀及存在的問題進行了分析,期望能夠為計算軟件測試提供一定的參考。
關鍵詞:計算機軟件;測試技術;問題
目前各個行業(yè)大量大型的軟件系統(tǒng)的開發(fā)和使用量越來越大,用戶對軟件質量的要求越來越高,為了避免軟件使用中出現(xiàn)各種問題和減小軟件的缺陷,軟件測試在軟件開發(fā)過程中成為了一項不可或缺的關鍵環(huán)節(jié)。在軟件發(fā)布和投入使用之前,對其進行測試,是確保軟件的質量重要手段。計算機軟件測試存在于軟件開發(fā)的整個過程,因此對計算機軟件測試技術進行研究和分析對于軟件的開發(fā)應用具有非常重要的指導意義。
1軟件測試技術的概述
1.1軟件測試的定義
軟件測試指的是在在軟件設計編程完成后,對軟件的各項性能進行測試,檢驗軟件的設計、介紹和編碼等是否存在錯誤和問題,檢驗軟件能夠完成預設的功能,進而對軟件的功能、性能、可靠性和安全性等各方面做出客觀的評價。
1.2軟件測試的目的
軟件測試的目的就是及時的發(fā)現(xiàn)軟件開發(fā)中存在的問題,并予以改正,從而提高軟件開發(fā)的效率和軟件的質量,一方面滿足軟件使用者的根本需求,另一方面避免系統(tǒng)開發(fā)者時間和財力上的浪費。
2軟件測試的原則
2.1及時性原則
軟件測試應該盡早及時的進行,從能不能滿足用戶的需求為最初的出發(fā)點開始軟件的測試審驗,避免應測試不及時引起重新返工的失誤。
2.2全程性測試原則
全程性測試原則就是要求軟件測試應用于軟件開發(fā)設計的整個過程,而不單單只在程序完成之后。這是因為軟件系統(tǒng)比較復雜,軟件的開發(fā)不是一個獨立的單一階段性的工作,而是包含有多個環(huán)節(jié)的開發(fā)過程,每一個環(huán)節(jié)都是非常重要的,都有可能出現(xiàn)錯誤或存在安全隱患,進而或大或小的影響最終的軟件質量。
2.3第三方測試原則
第三方測試原則指的是軟件開發(fā)程序員不能自己檢查自己的程序,要由開發(fā)組以外的人員進行測試,這樣獲得的測試結果才會更加的客觀。這是因為程序員可能由于自身對問題理解的偏差而引起的錯誤,在檢查過程中如果程序員沒有得到正確的理解,是難以發(fā)現(xiàn)自身的錯誤的。
2.4測試用例的合理性
測試用例的合理性指的是在設計測試用例時要涉及合法的輸入條件和不合法的輸入條件,合法的輸入條件則是指能核實軟件的正常的輸入條件,而不合法的條件則是指一些異常的和極端的條件,這樣才能實現(xiàn)軟件測試的完全性, 發(fā)現(xiàn)更多的錯誤。
3軟件測試技術策略
根據(jù)測試技術是否需要程序運行可將測試技術劃分為靜態(tài)和動態(tài)測試,根據(jù)測試技術能否查找源代碼可將測試技術劃分為白盒測試和黑盒測試。
3.1靜態(tài)測試
靜態(tài)測試也稱為靜態(tài)分析,指的是在不運行程序的情況下,人工的對軟件程序進行核實和分析,包括軟件代碼審查和走查和相關的技術評審,靜態(tài)測試能夠在軟件開發(fā)的整個全過程中執(zhí)行。
3.2動態(tài)測試
動態(tài)測試指的是通過一定的方式運行軟件進行測試,基于測試用例對實際的輸出和預期的輸出進行對比分析,從而檢查和分析程序的運行狀態(tài)和結果。
3.3白盒測試
白盒測試是程序員通過分析軟件程序的內部結構,設計合理的測試用例,然后對軟件的內部結構和路徑進行詳細的檢查,也被稱為結構測試。盒子指代的是待測試軟件,白盒的意思就是盒子是可視的,過程中測試者熟悉盒子內部的東西以及內部的運行狀況,白盒測試技術能夠全面的了解程序內部的工作過程并獲得測試結果,對該技術來說最重要的就是軟件測試用例的設計。
3.4黑盒測試
與白盒測試相反,黑盒測試技術不需要了解程序的內部結構,側重的指軟件的外部結構,是根據(jù)軟件的需求規(guī)格說明書,對程序的每一個功能進行檢驗測試的分析方法,又稱為功能測試。為了實現(xiàn)黑盒測試行為的量化,常常采用測試用例,其設計方法主要分為等價類劃分法、錯誤推斷法、正交試驗設計法和邊界值劃分法等。
4軟件測試的流程
4.1測試計劃的制定
測試進行前,為了保證時間的充足和高質量的測試的完成,必須制定測試計劃,就是基于項目開發(fā)測試需求制定的具有指導意義的計劃安排,通常情況下由負責測試的工作人員進行編寫。工作內容包括對需求規(guī)格說明書進行詳細的分析,為每個測試基元制定相應的測試技術,形成完整系統(tǒng)的測試計劃。
4.2測試用例的設計
在軟件的測試過程中,測試技術常常需要測試用例的設計,測試用例是決定測試成功與否的關鍵和基礎,因此在測試前設計合理的設計用例是必不可少的。主要的工作包括測試輸入數(shù)據(jù)、步驟執(zhí)行以及預期輸出等,能夠對測試的執(zhí)行和測試結果的規(guī)劃等具有一定的指導作用。
4.3測試的執(zhí)行
測試的執(zhí)行階段主要包括三部分,分別是初測期、細測期和回歸測試期。初測的主要目的是測試軟件的主要功能,進而排除主要的障礙,為細測奠定良好的基礎。細測則就是根據(jù)制定的測試計劃和測試用例,對軟件的各類功能、性能等等進行逐個詳細的測試,有助于發(fā)現(xiàn)各種類型的、程度不一的錯誤和問題。回歸測試指的是在初測和細測問題解決,系統(tǒng)穩(wěn)定后,對已經糾正的錯誤的進一步復查,確保沒有出現(xiàn)新的問題。
5軟件測試的現(xiàn)狀
與國外的測試技術的發(fā)展相比,我國的測試技術起步較晚,大多采用試探性的測試技術,缺乏系統(tǒng)化和產品化的測試技術,測試人員的規(guī)模較少,進而引起以下幾個方面的不足。
5.1軟件測試文檔管理不統(tǒng)一
文檔是軟件測試重要組成部分,是各種測試和結果分析的重要依據(jù)。然而在實際的測量中,文檔的水平各不相同,很多文檔的內容都不夠豐富、沒有規(guī)范的要求,而且變更也不及時,這些都嚴重影響了文檔作用的發(fā)揮。
5.2軟件測試滯后
通常情況下,大多數(shù)的軟件測試工作都安排在編碼完成后,這種滯后性的軟件測試會導致測試人員對需求規(guī)格和整套系統(tǒng)的設計不能充分的把握和了解,此外,測試進行的較晚會導致測試時間的不充足,從而限制了軟件的全面性測試,而導致一些隱患問題。
6總結
計算機普及率的增加,促進了軟件開發(fā)應用行業(yè)的發(fā)展,同時使得于軟件質量密切相關的軟件測試成為了研究的熱點和難點問題。本文就計算機軟件開發(fā)的概念、目的和原則進行了詳細的介紹,此后對當前的測試技術策略進行了總結和說明,同時對測試的現(xiàn)狀和存在的問題進行了分析,測試的主要問題表現(xiàn)在測試的文檔管理不夠、測試的介入延遲以及測試技術的自動化程度不高。因此,在未來的軟件開發(fā)過程中,將測試工作的介入時間提前化、文檔管理規(guī)范化以及測試技術自動化是工作的重點,進而更加高效的為軟件的開發(fā)服務,提高效益。
參考文獻:
[1]羅凱.計算機軟件測試技術分析[J].電子技術于軟件工程,2014,5,91.
[2]靳紅勤.計算機軟件測試技術分析[J].2015,26,206-207.