「工作一些年,今天小寫一篇技術相關的文章,一來為自己測試生涯做乙個技術小結,二來為即將從事軟體測試的同學乙個科普指導,文章只是大的框架,如果有需要詳細了解,歡迎和我討論研究。」
軟體研發一般要經過客戶需求收集、需求分析與澄清、軟體設計、軟體開發、版本構建、軟體測試、客戶質量驗收等過程,軟體測試是根據產品需求和相關質量標準以及規範進行的質量評估和過程改進活動。
一、常見的軟體測試概念
1、測試物件
cs:client/server 客戶端/伺服器架構
bs:browser/server 瀏覽器/伺服器架構
web測試:網頁測試
client測試:客戶端測試
mobile測試
①移動端本身和自帶軟體測試
②手機上第三方應用測試
2、測試根據驗證質量屬性的不同有如下分類
(1)功能測試
對產品的功能進行驗證,可以通過手工測試、介面自動化測試、介面自動化測試的方法,對業務邏輯、介面配置、網路介面通訊進行驗證
(2)非功能測試
易用性測試:
程式和文件的易理解性、易操作性、易學性
相容性測試:
硬體相容:終端/伺服器硬體
軟體相容:作業系統/瀏覽器
資料相容:低版本資料向上相容
公升級相容:低版本公升級至高版本,網路對接與執行正常,業務平滑遷
安全測試:
驗證系統的機密性、完整性、可用性、抗攻擊性等,消減威脅,防止黑客入侵
效能測試:
狹義:驗證系統滿足負載需求的各項效能指標是否達標
廣義:負載、壓力、容量、穩定性、使用者數、流量等
使用者體驗測試:
測試人員在將產品交付客戶之前處於使用者角度進行的一系列體驗使用,如:介面是否友好(吸引使用者眼球,給其眼前一亮)、操作是否流暢、功能是否達到使用者使用要求
二、軟體測試會經歷的階段
1、需求和軟體設計規格的理解
測試人員一般會拿到軟體需求說明書、軟體設計規格、產品文件,只有充分的理解需求和設計規格,才能更好的開展測試設計工作
2、測試設計
對需求和設計規格進行深入理解後,已經明確測試的範圍,如需要測試哪些模組的功能、需要測試哪些效能指標、是否涉及安全測試、是否需要相容性測試等等,然後結合軟體測試方法,如黑盒測試當中的等價類劃分法、邊界值分析法、判定表方法、因果圖法、正交試驗法、功能圖法、錯誤推測法,進行測試方案和測試用例設計,根據開發交付節奏,制定軟體測試策略,輸出軟體測試方案、測試策略和測試用例列表。
3、測試執行
測試執行的前提需要做好測試設計,深入理解測試方案、策略和用例,根據這些測試輸入,向開發獲取軟體包,進行環境搭建,根據測試用例的預置條件進行環境配置,根據測試步驟進行測試點的驗證,如果測試結果和預期結果相同,那就測試通過,如果測試結果和預期結果不同,那就測試不通過,記錄好測試發現的問題,將測試問題彙總起來,方便跟蹤與閉環。一般企業會通過「禪道」來記錄測試發現的問題,當開發人員解決問題後,測試人員會進行回歸驗證,並記錄驗證結論。
4、測試報告
當所有測試用例執行完成後,根據測試問題跟蹤表,對本次測試過程進行質量評估和改進,分析各項質量屬性的滿足度,分析軟體缺陷分布,提出有效的改進意見,形成測試報告,推動設計和開發閉環。
三、總結
軟體測試的過程是對客戶需求和設計規格深刻理解的情況下,完成測試設計與執行以及測試報告輸出的過程,要想做好軟體測試,必須懂得產品的業務、測試環境搭建、測試方法運用、測試工具的使用、測試問題的識別與感知,測試人員與開發人員、設計人員的充分溝通與問題確認,測試問題的回歸驗證,軟體質量的整體評估。
軟體測試技術基礎之測試過程
1 測試階段劃分 按測試執行順序 單元測試 unit testing 定義 針對軟體基本組成單元 軟體設計的最小單位 來進行正確性檢驗的工作 測試目的 檢測軟體模組對 詳細設計說明書 的符合程度。整合測試 integration testing 定義 在單元測試的基礎上,將所有模組按照概要設計要求組...
《Google軟體測試之道》有感
如他們的招聘要求,有很多想法,並且有能力去實現。印象深刻的是,有一位為了實現自己的想法,週末的時間在咖啡館也在努力,並且最終取得了成功。以前的我覺得有些不可思議,為什麼要占用自己的休息時間來完成工作。這大概就是熱愛吧。我們好像總是淹沒在版本不停的交付中,沒有停下來思考,如何提高效率,並去實踐。創新,...
轉《Google軟體測試之道》
google軟體測試之道 一直聽朋友講起這本書,出於瑣事太多,一直沒機會拜讀,最近部門架構覺得我們it部門的技術太low,就給我們挑選了一些書籍,讓我們多看看。個人的一種學習習慣吧,就做了筆記,將自己的學習理解感觸寫下來。預計會分為五部分寫這些學習筆記,分別是google軟體測試基礎介紹 軟體測試開...