1. 程式人生 > >軟體測試初識以及測試流程

軟體測試初識以及測試流程

1.軟體測試的定義:
使用人工或自動手段,來執行或測試某個系統的過程。其目的在於檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別。
百度百科定義:軟體測試(英語:Software Testing),描述一種用來促進鑑定軟體的正確性、完整性、安全性和質量的過程。換句話說,軟體測試是一種實際輸出與預期輸出間的稽核或者比較過程。
軟體測試的經典定義是:在規定的條件下對程式進行操作,以發現程式錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。

2.軟體測試的目的:
測試是程式的執行過程,目的在於發現錯誤。
確保產品完成了它所承諾或公佈的功能
確保產品滿足效能和效率的要求
確保產品是健壯的和適應使用者環境的

3.軟體測試的意義:
解放程式設計師和售後服務人員
軟體測試可以降低軟體質量風險,使程式設計師能夠更專心於解決程式的演算法和效率;同時經過嚴格檢驗的完整產品也減輕了售後服務人員的工作量。

4.軟體測試流程:
需求分析
制訂測試計劃
設計測試用例與編寫
實施測試
提交缺陷報告
生成測試總結和報告

5.測試流程圖:
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

單元測試 集中對用原始碼實現的每一個程式單元進行測試,檢查每個程式模組是否實現了規定的功能,保證其能正常工作。

整合測試是把已進行過單元測試的模組組裝起來進行測試,目的在於檢驗與軟體設計相關的程式結構問題。

確認測試是檢驗所開發的軟體是否滿足了需求規格說明中確定了的各種功能和效能需求,以及軟體配置是否完全和正確。

系統測試的主要任務是把已經經過確認的軟體納入實際執行環境,與其他系統的成分(如資料庫、硬體和操作人員)組合在一起進行測試。

驗收測試是檢驗軟體產品的最後一關,在這一環節,測試主要從使用者的角度著手,參與者主要是使用者和少數程式開發人員。

6.測試工作流程:
(1)產品人員設計完原型和文件後,召開需求評審會,參會人員有開發,測試,產品。需求評審後之後,會產生一個完善之後的原型和需求文件。
(2)測試組負責人需要依據需求文件,專案週期、專案特點、工具、人員安排制定測試計劃。
(3)測試人員就開始寫測試用例(需要有冒煙測試用例和普通的測試用例),在寫用例過程中會產生一些疑問,要及時和產品人員確認清楚,並要求他們迴歸需求文件。(開發就開始概要設計和編碼)。
(4)測試人員完成用例後,組織測試用例評審。參與人員有開發,測試,產品。
(5)等待開發提交測試版本,提交後優先執行冒煙測試。冒煙測試的結果,需要郵件周知相關人,開發,測試,產品,其中重要的是開發領導,測試領導和產品。冒煙不通過等待開發重新提交版本,冒煙通過了進入執行用例進行測試階段。
(6)測試階段會發現一些問題,比如需求定義不明確,業務邏輯有衝突,要和相關人員溝通並定義清晰,得到結論後必須要求產品人員更新文件。
(7)每個人負責的模組測試結束後,小組內部要進行交叉測試(此時會進行一些效能測試)。
(8)測試通過後提交產品驗收。產品驗收期間協助產品驗收。
(9)產品驗收完畢後,專案部署模擬環境。此時需要線上的賬號,所以一般也是產品和業務人員驗收為主,各個公司情況不同,有些會給測試人員分配賬號,進行基本流程的測試(細節視公司情況而定)。
(10)模擬環境ok了,部署線上。
(11)有些公司從測試環境提交驗收的時間點開始,會要求寫一些操作手冊之類的文件,一些測試的報告,比如bug統計,bug的覆蓋。

7.按照開發階段分,可以分為哪幾 種?按照測試手段來分為幾種?測試按照技術劃分,可以分大為同為哪幾種?
單元測試、整合測試、系統測試、確認測試,驗收測試
分為手工測試和自動化測試
黑盒,白盒,灰盒