測試工程師指理解產(chǎn)品的功能要求,并對其進行測試,檢查軟件有沒有缺陷,測試軟件是否具有穩(wěn)定性、安全性、易操作性等性能,寫出相應的測試規(guī)范和測試用例的專門工作人員。
(一)工作內容
(1)驗證是保證軟件正確地實現(xiàn)了一些特定功能的一系列活動,即保證軟件做了你所期望的事情。
①確定軟件生存周期中的一個給定階段的產(chǎn)品是否達到前階段確立的需求的過程;
②程序正確性的形式證明,即采用形式理論證明程序符號設一計規(guī)約規(guī)定的過程;
③評市、審查、測試、檢查、審計等各類活動,或對某些項處理、服務或文件等是否和規(guī)定的需求相一致進行判斷和提出報告。
(2)確認是一系列的活動和過程,目的是想證實在一個給定的外部環(huán)境中軟件的邏輯正確性。即保證軟件以正確的方式來做了這個事件。
①靜態(tài)確認,不在計算機上實際執(zhí)行程序,通過人工或程序分析來證明軟件的正確性;
②動態(tài)確認,通過執(zhí)行程序做分析,測試程序的動態(tài)行為,以證實軟件是否存在問題。
(3)軟件測試的對象不僅僅是程序測試,軟件測試應該包括整個軟件開發(fā)期問各個階段所產(chǎn)生的文檔,如需求規(guī)格說明、概要設計文檔、詳細設計文檔,當然軟件測試的主要對象還是源程序。
(二)目的
①驗證軟件需求和功能是否得到了完整的實現(xiàn)。
②盡可能早的發(fā)現(xiàn)軟件中的bug,盡可能多的發(fā)現(xiàn)軟件中的bug。
③驗證軟件是否可以發(fā)布。
④對軟件的質量、性能、效率做出合理的評估。
⑤預防用戶使用可能出現(xiàn)的問題,預防下個版本可能出現(xiàn)的問題。
(三)軟件測試方法
軟件測試一般分為白箱測試和黑箱測試。
(1)黑箱測試
黑箱測試,也稱黑盒測試,是軟件測試方法,測試應用程序的功能,而不是其內部結構或運作。測試者不需具備應用程序的代碼、內部結構和編程語言的專門知識。測試者只需知道什么是系統(tǒng)應該做的事,即當鍵入一個特定的輸入,可得到一定的輸出。測試案例是依應用系統(tǒng)應該做的功能,照規(guī)范、規(guī)格或要求等設計。測試者選擇有效輸入和無效輸入來驗證是否正確的輸出。
(2)白箱測試
白箱測試又稱透明盒測試、結構測試等,是一個測試軟件的方法,測試應用程序的內部結構或運作,而不是測試應用程序的功能(即黑箱測試)。在白箱測試時,以編程語言的角度來設計測試案例。測試者輸入數(shù)據(jù)驗證數(shù)據(jù)流在程序中的流動路徑,并確定適當?shù)妮敵?,類似測試電路中的節(jié)點。