軟件測試的作用
①通過測試工作可以發(fā)現(xiàn)并修復軟件當中存在的缺陷,從而提高用戶對產品使用信心。
②測試可以記錄軟件運行過程中產生的一些數(shù)據(jù),從而決策提供數(shù)據(jù)支持。
③測試可以降低同類型產品開發(fā)遇到的風險。
測試原則
所謂的測試原則指的就是我們在執(zhí)行測試工作時必須要遵守的一些規(guī)則
①測試證明軟件存在缺陷:無論執(zhí)行什么樣的測試操作都不能證明當前軟件是有缺陷的。
②不能執(zhí)行窮盡測試:有些功能是沒有辦法將所有的測試情況都邏列出,所以任何的測試操作都是有結束的時間。
③缺陷存在群集現(xiàn)象:對于軟件功能說,核心功能占20%,非核心功能占80%,在實際工作中我們會集中測試20%的核心功能,所以這個部分發(fā)現(xiàn)缺陷的幾率就會高于80%,因此我們就會遇到缺陷都集中20%功能模塊里的現(xiàn)象。
④某些測試需要依賴特殊環(huán)境
⑤測試應盡早介入:為了更多的發(fā)現(xiàn)和更好的解決軟件中缺陷,我們追求測試工作盡早展開。
⑥殺蟲劑現(xiàn)象:同樣的一個測試用例不能重復的執(zhí)行多次,因為軟件會對它產生免疫。
⑦不存在缺陷謬論:任何軟件不可能是完美。
測試級別
①單元測試:UT
②集中測試:IT
③系統(tǒng)測試:ST
④驗收測試
α測試——內測
β測試——公測
UAT測試——由客戶派專業(yè)團隊進行測試,一般這種測試購買軟件方
常見的系統(tǒng)測試方法
1、按測試對象進行分類
①白盒測試:這種測試的主體就是軟件的底層代碼,不會在意,外在界面是否OK,只要求底層功能實現(xiàn),同時邏輯正確。
②黑盒測試:這種測試就是指測試軟件外在主體功能是否可用。
③灰盒測試:介于二者之間接口測試。
④上述三種方法當中的“盒”指的就是被測對象。
2、按測試對象是否執(zhí)行分類
①靜態(tài)測試:指的就是測試不執(zhí)行。
②動態(tài)測試:將軟降運行在真實的使用環(huán)境中進行測試。
按測試手段分類
①手動測試:由測試人員手動的對被測對象進行驗證,優(yōu)點就是可以靈活的改變測試操作及環(huán)境
②自動化測試:所謂自動化主要有二種形式:一種是自己寫腳本,另外一種就是通過第三方的工具對被測對象進行測試,優(yōu)點就是可以高效的去執(zhí)行一些人工無法實現(xiàn)的操作。
系統(tǒng)測試分類
①功能測試:驗證當前的軟件主體功能是否可用
②兼容測試:驗證當前軟件在不同的環(huán)境下是否還可以使用
③安全測試:驗證軟件是否是能授權用戶提供功能使用
④性能測試:相對當前軟件消耗的資源它的產出能力
測試對象介紹
對于當前的測試行業(yè)來說我們最經常測試的主體就是軟件(主體功能)但是需要我們明白是一個軟件也不僅僅只有功能需要測試。我們可以將軟件分為三個部分組成:功能結合+使用說明書+配置數(shù)
對于一款軟件說哦從無到有需要不同的過程你,我們可以將這個過程分為不能階段,然后每個階段都會相應有測試對象:
①需求分析階段:各種需求規(guī)格說明書;
②軟件架構設計:APL接口文檔(接口測試);
③編碼實現(xiàn)階段:源碼測試(白盒測試、單元測試)
④系統(tǒng)功能使用:軟件功能主體(當前行業(yè)做的最多的一種測試)
軟件測試流程:
1.需求分析
①當前階段的核心目的就是梳理清楚我們需求設計的點是什么。
②需求的來源:需求規(guī)格說明書、API文檔、競價分析、個人經驗
-
設計用例
①用例就是用戶為了測試軟件寬度某個功能而執(zhí)行的操作過程。
②設計用例就是(等價類、邊界值、判定表)
-
評審用例:對當前的用例進行添加或者刪除
-
配置環(huán)境
①環(huán)境:指的就是當前被測對象運行所需要的執(zhí)行環(huán)境,做為測試人員需要具備配置環(huán)境能力。
②環(huán)境分類:操作系統(tǒng)+服務器軟件+數(shù)據(jù)庫+軟件底層代碼的執(zhí)行環(huán)境
-
執(zhí)行用例
①一般執(zhí)行用例之前我們會做一個【冒煙測試】這種測試的核心功能或主體執(zhí)行流程進行驗證。如果冒煙測試階段有問題,則可以將版本回退給研發(fā)。
②如果冒煙測試通過那么才會開展全面的測試
-
回歸測試及缺陷跟蹤
①回歸測試指的是當前我們將某個缺陷提交給開發(fā)之后,由他們進行修復,修復完畢之后需要測試人員再次對進行測試。
②缺陷跟蹤:指的就是當測試人員發(fā)現(xiàn)某個缺陷之后需要一直對其進行狀態(tài)的跟蹤。
-
輸出測試報告:將當前的測試過程中產生的數(shù)據(jù)進行可視化的輸出,方面其他人員去查看。
-
測試結束:當整個測試過程中產生的一些文檔進行整理歸檔,方面后續(xù)版本使用。
-
軟件質量的六大特性
①功能性:軟件需要滿足用戶顯示或者穩(wěn)定功能;
②易用性:軟件易用學習和上手使用;
③可靠性:指的就是軟件必須實現(xiàn)需求當中指明的具體功能;
④效率性:類似軟件的性能;
⑤可維護性:要求軟件具有將某個功能修復之后繼續(xù)使用的能力;
⑥可移植性:當前軟件可以從一個平臺移植到另一個平臺上去使用的能力;
V模型示意圖

需求分析-概要設計-詳細設計-編碼-單元測試-集成測試-系統(tǒng)測試-驗收測試
1、單元測試:又稱模塊測試,針對單一的程序模塊進行的測試
2、集成測試:又叫組裝測試,在單元測試的基礎上,對所有模塊進行測試。
3、系統(tǒng)測試:將整個軟件看做一個整體來進行測試,包括:功能、性能、兼容性
4、驗收測試:
(1)內測:(alpha)內部交流版本,可能存在很多bug,不建議用戶安裝。
(2)公測 (beta)面向所有用戶,通過用戶的反饋再去修改細節(jié)。
(3)候選(gmma)與正式軟件相差無幾。
浙公網安備 33010602011771號