摘 要:軟件測試是對軟件產(chǎn)品是否達到預期效果的度量,是對軟件需求分析、詳細設計、代碼實施各階段的檢驗。就軟件測試的概念、測試方法、測試過程等方面簡單闡述。
關鍵詞:軟件測試;測試工具;計劃
一、軟件測試概述與必要性
隨著科學技術的飛速發(fā)展,硬件復雜性、多樣性和應用的復雜性增加,軟件系統(tǒng)的復雜性和規(guī)模也在不斷增大,軟件安全性和質量的保證成為各大公司及個人日益關注的焦點,軟件中存在的各種問題也逐漸成為制約我國軟件產(chǎn)業(yè)發(fā)展的主要因素。軟件測試工作可以說是為軟件產(chǎn)品的完工把好的最后一道關,是保證產(chǎn)品質量的關鍵步驟。
軟件測試是為保證產(chǎn)品質量,對整個軟件開發(fā)生命周期內各階段進行驗收測試,對軟件產(chǎn)品各階段質量嚴格把關,有問題早發(fā)現(xiàn),早解決,在企業(yè)里起著質量管理的重要角色。測試的目的是為了發(fā)現(xiàn)程序中盡可能多的錯誤,針對程序比較復雜的部分或是以前出錯比較多的位置,重點測試,不僅僅是發(fā)現(xiàn)錯誤,更要幫開發(fā)者找到錯誤的原因,錯誤的分布特征,錯誤出現(xiàn)的前提條件以及操作步驟和方法記錄下來,以便與開發(fā)者溝通并改進,最終為用戶提供有一定可信度的質量評價。
二、軟件測試計劃
軟件測試開始前首發(fā)應制作軟件測試計劃,在課題說明結束
之后,就要制作測試計劃文檔,包括以下幾個主要環(huán)節(jié):
產(chǎn)品基本調研:包括產(chǎn)品的基本情況,應用的軟硬件環(huán)境,主要的功能模塊,以及應用領域等。
測試環(huán)境:搭建測試環(huán)境,準備測試所用的軟硬件工具。
人員分配:根據(jù)軟硬件是否是新的硬件環(huán)境,如新芯片,功能模塊是否很復雜,軟件修改多少來合理分配人員。
時間分配表:根據(jù)開發(fā)的日程來分配測試各版本時間,
按照問題嚴重等級,劃分為A、B、C三個等級:A級問題是致命的,意味著功能不可用,死機,黑屏,功能未實現(xiàn);B級問題是指功能沒有按照要求實現(xiàn)或是有一些亂碼問題或是交互界面實現(xiàn)不正確;C級問題是那些格式有誤,OSD簡單問題,亮線等不影響系
統(tǒng)的功能性能。
最后要進行計劃的審批,在測試開始之前部門各級領導要檢查審批計劃文檔,獲得同意后才可正式應用。要對部門測試人員教育,人員分配,確保整個測試過程按計劃進行。
三、軟件測試方法
軟件測試的方法種類很多,不同的出發(fā)點,有不同的測試方法。
常用的功能測試有如下幾種:
■
實際工作中,對產(chǎn)品了解越多越好,目前大多數(shù)測試人員都是做黑盒測試,白盒測試對軟件測試人員要求較高。
軟件除了基本功能外,那些看不到的無從表現(xiàn)的,在基本功能測試完成后,要做一些諸如溫度測試、壓力測試、性能測試、可用性測試的測試。
■
四、編寫測試用例
測試用例的設計和編寫對軟件測試來說無疑是最重要的。測試用例是測試工作的指導準則,更是對軟件質量提供了重要保證。開始編寫的測試用例可能考慮得不周全,寫得不完善,隨著測試的進行,問題點的提出,版本的更新,經(jīng)驗的積累,也將越來越完善。
測試用例通常來講是執(zhí)行一項測試任務的描述,內容包括,用例編號、用例名稱、測試說明、前提條件、輸入數(shù)據(jù)、操作步驟、輸出數(shù)據(jù)。測試用例設計方法有如下幾種:
1.等價類劃分法:將所有可能的輸入數(shù)據(jù)包括有效的和無效的,即程序的輸入域劃分成若干個部分,從每一部分中選取少數(shù)有代表性的數(shù)據(jù)作為測試用例。
2.邊界值分析法:對輸入輸出的邊界來進行分析,實際是對等價類的一種補充,對等價類劃分的每個部分的邊界都要作為測試條件。長期的測試經(jīng)驗告訴我們,大量的錯誤是發(fā)生在輸入輸出的邊界值上,而不是發(fā)生在內部數(shù)據(jù)。因此邊界值分析會測出更多的錯誤。
3.因果圖法:有著名的魚骨圖,深入直觀地將輸入與結果關系表現(xiàn)清楚。一般當出現(xiàn)某種質量問題時集思廣益列出所有可能的原因。
五、制作測試報告
測試報告要記錄測試環(huán)境、操作步驟、問題點現(xiàn)象要詳細描述、問題點的等級、出現(xiàn)頻率以及相關的照片或視頻,然后發(fā)送報告,由測試Leader和開發(fā)人員共同評審哪些是缺陷,哪些是誤測。
隨著科學技術的發(fā)展,軟件項目管理經(jīng)驗的提高,軟件測試日益受到重視,已成為一個獨立的學科,許多公司都已創(chuàng)建了軟件測試部門,越早發(fā)現(xiàn)軟件中存在的問題,開發(fā)費用就越低,也就能降低了軟件風險,保證了產(chǎn)品質量。軟件測試是保證軟件質量的一個重要手段。因此,軟件測試應該貫穿于軟件開發(fā)的始終。
參考文獻:
趙瑞蓮.軟件測試[M].北京:高等教育出版社,2004.
(作者單位 天津三星電子有限公司)