軟件測試基礎知識總結(一)
一、什麽是軟件測試?
1、軟件測試是指使用人工或者自動手段,來運行或測試某個系統的過程。其目的在於檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別。
二、一般的軟件測試的應用場景有:
APP、WEB和小程序。
三、軟件測試的發展歷程:
軟件測試從開始到現在,已經經歷了三個階段的發展,到現在正式第三階段到第四階段的過渡期;
第一階段:定義的軟件測試,是去證明軟件是正確的。在這種情況下,導致了很多異常的情況根本無法被發現,軟件的質量都比較差,不穩定,很容易出問題;
第二階段:軟件測試是去證明軟件是錯誤的。軟件測試就是去找軟件存在的問題,雖然現在軟件測試已經發展到第三階段很久了,但是好多做測試的還是在以這個思路去測試軟件。
第三階段:實現了一個跨越式的變化,把軟件測試和軟件的質量關聯了起來。軟件測試再也不是單純的去找BUG,還要起到一 個預防BUG的作用,也就是說,做測試不能單純的去找BUG,而要去知道BUG產生的原因是什麽,怎麽才能避免產生更多的BUG。
第四階段:軟件測試從本質和定義上沒有什麽變化,但是隨著國內的軟件行業的快速發展,對軟件測試的要求,越來越偏向於技術。後期應註重自我技能的提升,不斷學習,避免被淘汰;
四、軟件測試的分類:
按照測試方向分:功能測試、性能測試、安全測試
功能測試:是對產品的各功能進行驗證,根據功能測試用例,逐項測試,檢查產品是否達到用戶要求的功能;其實就是現在常見的點點點。
性能測試:是對產品的各功能的性能指標進行測試,通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項性能指標進行測試;
安全測試:常規是指對產品的數據安全性進行測試,模擬黑客攻擊我們的系統,發現安全漏洞,即時修復。常見的安全測試手段有SQL註入,漏洞掃描,暴力破解,跨站攻擊等等。
靜態測試:是指不運行被測試產品本身,通過分析源程序代碼檢查產品的正確性; 動態測試:是指把產品運行起來進行測試產品的運行結果與預期結果的差異,並分析其性能指標。
按測試方法進行分類:黑盒測試、白盒測試、灰盒測試;
黑盒:著重與程序的外部結構,不考慮內部邏輯;
白盒:考慮內部邏輯結構,對外部結構透明;
灰盒:介於黑白盒之間,既考慮輸入輸出的正確性,也考慮程序內部結構;
按軟件類型分類:APP測試,WEB測試,小程序測試等
按測試階段分類
單元測試:項目還在寫方法(函數)的時候,就是整個軟件還沒有成型的時候就進行測試了。測試內容只要是對開發寫的代碼進行測試,目前國內這個階段一般由開發自己完成;
集成測試:是指測試模塊與模塊之間的接口,主要是對接口的測試;
系統測試:是指對整個項目做一個完整的測試**。包括了UI測試、功能測試、兼容性測試、性能測試,等等;
驗收測試也稱上線測試:是在整個軟件已經開發完畢,上線發布這個軟件前會做一個上線前測試,沒有明顯的BUG了,達到了可以給用戶使用的標準了。
冒煙測試:二八原則,殺蟲劑悖論 檢查開發提交的產品是否具備測試的條件。隨意的測試一下整個產品。例如:在系統測試中,挑選幾個比較重要的接口,發現一半的接口都在報錯,即為冒煙測試不通過,轉給開發重新完成開發。
軟件測試基礎知識總結(一)