?

計算機軟件測試技術分析

2016-12-31 15:13
移動信息 2016年8期
關鍵詞:測試用例軟件測試錯誤

李 妍

?

計算機軟件測試技術分析

李 妍

天津南大通用數據技術有限公司 天津 300000

計算機軟件測試技術被定義為一個計算機程序或是系統屬性為目標的任何一種技術活動,測試則是對軟件質量的一種評估。軟件測試主要為了提升軟件應用的質量,對測試軟件進行工程設計,實現了維護與實施的整個工程生命周期,基于此,對計算機軟件測試技術進行了分析,希望可供相關從業者參考借鑒。

計算機;軟件測試;技術分析

1 計算機軟件測試的意義

計算機軟件測試的目的就是能夠減少時間和人力、物力找出軟件中存在的一些瑕疵,加以改正。軟件測試的范圍包括:軟件計劃、軟件設計、軟件編程代碼,主要是代碼這塊是否存在錯誤,一旦代碼出現錯誤,很容易導致軟件功能出現錯誤。軟件測試設計到軟件開發周期中各個階段的錯誤,測試也是對錯誤性質和位置進行糾正。在整個糾正的過程中可能會涉及改正或重新規劃文檔活動[1]。

2 計算機軟件的測試方法分析

計算機軟件測試技術對于軟件開發來說是非常重要的,對于一個復雜的系統而言,為了增加系統的可靠性,測試工程師需要對開發的系統進行不同層次的軟件測試。

軟件測試根據系統開發的階段來分為單元測試、集成測試、系統測試、驗收測試,根據程序是否被運行分為靜態、動態測試,按照查看源代碼情況分為白盒、黑盒測試。其中,靜態測試是指在不實際運行軟件的情況下,直接查看源代碼、軟件數據結構、編碼規則等,由每千行代碼出現的錯誤率作為靜態測試的評估結果;動態測試指的是在實際的環境中或者在開發、測試的環境中運行軟件,通過測試人員對其進行的各種正確操作,將得出的實際結果與期望結果進行對比,以此來判斷軟件是否成功。黑盒測試則是將系統看作一個黑盒子,忽略系統內部結構和特性的情況下對其進行測試,性能測試也屬于白盒測試的一種,通過性能測試的自動化工具來模擬開發系統的正常、峰值以及異常負載等條件,來對軟硬件的各項性能指標進行測試,從而發現軟硬件系統的性能瓶頸,提出修改方案,以達到優化系統的目的;白盒測試主要是對代碼的結構或者邏輯進行測試,需要了解系統的內部邏輯結構、邏輯路徑以及源代碼的情況,來覆蓋開發系統所設計的所有邏輯路徑[2]。

3 黑盒測試技術的研究分析

3.1 等價類劃分

等價類劃分是將整個輸入域按照一定的原則劃分成幾個互不相交的子集,子集中的元素彼此之間是等價的。用這種方法來進行設計測試時,只需在一個子集中選出一個或幾個具有代表性的元素作為測試數據,即可代表該集合對軟件系統的影響。

3.2 錯誤推斷法

錯誤推斷法是基于測試人員的經驗和直覺來完成驗證可能存在的錯誤而設計測試用例的一種方法,主要是列舉出程序中有可能出現錯誤或者容易發生錯誤的特殊情況。例如:輸入或者輸出為零,刪除表格為空或者保存空白信息或者空白表格等情況,然后根據它們設計測試用例。此方法可以彌補測試中的紕漏,但是測試者需有一定的測試經驗或對軟件系統有一定的了解方可。

3.3 因果圖

因果圖法考慮到了多種輸入條件中的復合關系以及限制關系,當有許多輸入或者輸出時,或者多種輸入和輸出組合的情況下,或者參數間相互依存時,此法十分有效。因果圖法適合于描述多種條件組合,相應產生多個動作的形式來進行測試用例的設計。利用因果圖法來設計測試用例的步驟如下:(1)分析需求中的描述,按需求劃分原因及結果;(2)分析需求中的語義內容,然后用因果圖來表示需求;(3)使用一些特殊符號在圖上標出限制關系;(4)將因果圖變成決策表。

3.4 正價實驗法

正價實驗法是從大量的實驗點中挑選出適量的、具有代表性的點,應用依據伽羅卡瓦理論導出的“正交表”,合理地安排實驗的一種科學的測試用例設計方法,適用于軟件系統的互動測試、包含配置項的種種測試。

3 加強對計算機軟件測試技術策略的落實

3.1 單元測試

在單元測試中,由于被測試的軟件模塊處于整個軟件結構的某一個位置,一般是被其他模塊或組件調用的模塊或組建,其本身并不能夠單獨運行,因此需要對被測模塊或組件進行驅動程序或存根程序的設計。

驅動程序也是設計中的一個主程序,主要負責接收數據,把這些相關的數據傳給被測試的模塊或組建,并且打印相關的測試結果。存根程序就是STNB,它是代替被測試的軟件所調用的模塊組件,也是一個虛擬的子程序。

3.2 集成測試

3.2.1 非漸增的方式

非漸增的方式也是一次性組裝的方式,這種方式在所有的模塊進行單元測試之后,將所有的模塊按照設計中的要求結構圖連接起來,連接之后的程序作為一個整體進行測試。在一些小的測試項目中,可以使用非漸增的方式進行系統的集成測試,但是在一些大的項目中,這種集成測試并不合適,因此在一些軟件測試中都會采用漸增的方式進行測試。

3.2.2 漸增測試方式

漸增測試方式又是增值式組裝方式,此種測試方式把下一個要測試的模塊同已經測試號的模塊連接起來再次進行測試,測試完成之后把下一個測試的模塊進行測試。模塊測試在不斷地增加,這種漸增方式與非漸增方式有很大的不同,他的集成方式是慢慢實現的。集成測試也是一點點來完成的,當漸增方式與模塊都連接到程序中去時,按照不同的次序可以有兩種策略進行選擇。

3.3 系統測試

系統測試的根本目的就是保證系統能夠實現客戶想要的。為了能夠達到這樣的目的,需要完成一系列的測試活動,這些活動包括系統的功能測試,系統的性能測試,對系統的驗收和安裝等測試。

3.3.1 系統功能測試

對系統功能測試也是需求測試的一種。主要對軟件編程系統中的功能性進行檢測,按照客戶的需求進行一一對照,找出存在的差異性問題,也就是檢測系統是否能夠滿足客戶所指定的功能。功能測試一般使用的方法是黑盒測試。

3.3.2 性能測試

對于性能測試,是一些非功能性需求的問題,找出非功能性需求和系統要求之間的差異。如安全性、精度確認、運行速度等。性能測試要進行多項的測試活動。

4 計算機軟件測試管理的措施

4.1 軟件測試應貫穿軟件開發的全過程

由于原始問題的復雜性、軟件的復雜性和抽象性、軟件開發各個階段工作的多樣性以及各種層次人員之間工作的配合關系等因素,使得開發的每一個環節都可能產生錯誤。所以,軟件測試不僅僅是軟件開發的一個獨立階段,而應當把它貫穿到軟件開發的各種階段中,堅持各個階段的技術評審,才能盡早發現和預防錯誤。為軟件測試的W模型,形象地說明了軟件測試與開發的同步性。

4.2 合理選擇測試用例

完整的測試用例不但需要測試的輸入數據,而且需要對應這些輸入數據的預期輸出結果。如果對測試輸入數據沒有給出預期的輸出結果,那么就缺少了檢驗實測結果的基準,就有可能主觀地把一個似是而非的錯誤結論當成正確的結果。

在設計測試用例時,應當包括合理的輸入條件和不合理的輸入條件。合理的輸入條件是指能驗證軟件的輸入條件;不合理的輸入條件則是指異常的、臨界的、可能引起問題異變的條件。用不合理的輸入條件測試軟件能核實軟件的容錯能力和完全性,往往比合理的輸入條件能發現更多的錯誤。

4.3 程序員和程序設計機構應避免測試自己的程序

測試工作需要嚴謹的作風,客觀的態度和冷靜的情緒,由開發組成員以外的人來完成軟件測試會更客觀,更有效,并更容易發現問題。這是因為:

一方面,程序中可能包含一些由于對問題的敘述和說明誤解而導致的錯誤,自己一般很難發現;

另一方面,就心理上來講,程序員總不希望自己的程序出錯,因此不能有效測試自己的軟件。

5 結語

總而言之,軟件測試作為保證軟件質量的重要途徑,本文對軟件測試工作中存在的一些問題進行了分析,并提出相關應對方法,可為有效提高軟件測試的技術水平和管理水平,促進軟件質量和可靠性的整體提升提供借鑒和參考。

[1]王立新.軟件測試數據的高效生成及測試方法研究[D].上海:東華大學,2011.

[2]夏啟明.軟件測試及評價的復用策略研究及其實現[D].武漢:武漢大學,2010.

Computer software testing technical analysis

Li Yan

Tianjin General Data Technology Co.,Ltd.,Tianjin 300000

The computer software testing technology is defined as a computer program or system properties as the goal of any kind of technical activities,test is an evaluation of software quality. Software testing is mainly in order to improve the quality of the software application,to test the software engineering design,maintenance and implementation of the whole project life cycle, the following analysis of computer software testing technology,hope to provide a reference for the relevant practitioners of using for reference.

computer; software testing; technical analysis

TP311.53

A

1009-6434(2016)08-0081-03

猜你喜歡
測試用例軟件測試錯誤
軟件測試方向人才培養“1+X”融合研究
基于相似性的CITCP強化學習獎勵策略①
在錯誤中成長
測試用例自動生成技術綜述
基于OBE的軟件測試課程教學改革探索
航天軟件測試模型構建與應用
EXCEL和VBA實現軟件測試記錄管理
不犯同樣錯誤
《錯誤》:怎一個“美”字了得
測試工時受限的測試策略研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合