1. 程式人生 > 其它 >測試定義和基礎

測試定義和基礎

軟體測試定義

定義
通過人工或者工具來檢測軟體系統的過程,檢驗系統是否滿足需求文件的規定的要求,並找出與預期結果的差異
目的
通過測試活動發現並解決缺陷,增加人們對軟體產品質量的信心

通過測試活動了解被測物件的質量狀況,為決策提供資料依據

通過測試積累經驗,預防缺陷的出現,降低產品失敗的風險

總結: 通過儘可能少的人力、物力、財力來查詢並解決軟體中的問題,從而降低商業風險
軟體測試的原則
1.窮盡測試是不可能的

2.測試要儘早介入

3.缺陷的叢集性(2/8原則)

4.殺蟲劑悖論

5.測試活動依賴於測試內容

6.“沒有錯誤就是好” 是謬論

迭代
將一個長週期的專案按需求拆分成不同的階段,每個階段都會產出一個可交付的軟體或產品

軟體測試的流程
a.需求分析
目的:保證產品、開發、測試對需求的理解保持一致,避免因為理解不一致而產生BUG
產品經理主導,召集開發、測試、設計進行需求評審會議
提前熟悉產品的需求

b.編寫測試計劃和測試方案
測試計劃和方案是由測試負責人或測試經理輸出,同時需要跟開發負責人確定時間
輸出計劃和方案後需要郵件通知相關人員

c.編寫測試用例
通過用例設計的相關方法來編寫用例
用例的要素:用例編號、優先順序、測試資料、前置條件、測試步驟、預期結果、實際結果

d.評審測試用例
查漏補缺的作用

e.介面測試(可選)
根據時間來進行介面測試

f.執行測試用例
部署測試環境
執行用例過程中發現的BUG需要記錄到專案管理工具或者缺陷管理工具


g.提交測試報告
測試報告用來做為系統上線的依據

h.產品上線

web自動化基礎

概念
由程式代替人工進行系統校驗的過程
能解決什麼問題

1.解決迴歸測試

2.解決壓力測試

3.解決相容性測試

4.提高測試效率,保證產品質量
優點
較少的時間內能執行更多的測試用例

自動化測試指令碼可重複執行
有坑(註冊的指令碼無法重複執行,但是有解決方案)

減少人為的失誤

克服手工測試的侷限性
誤區
自動化測試可以完全代替手工測試

自動化測試一定比手工測試厲害

自動化測試可以發現更多 的BUG

自動化測試適用於所有功能
分類
web自動化測試

移動自動化測試

介面自動化測試

單元測試-自動化測試

桌面自動化測試


安全自動化測試

嵌入式裝置自動化測試
什麼樣的專案適合做web自動化測試
需求變更不頻繁

迴歸測試

專案週期長
web自動化測試所屬分類
黑盒測試(功能測試)

白盒測試(單元測試)

灰盒測試(介面測試)

web自動化屬於黑盒測試
web自動化測試環境
selenium特點
程式碼開源

跨平臺
支援windows、linux、macos

支援多瀏覽器
chrome、火狐、ie、EDGE、opera、safari

支援多語言
python、java、C#、Ruby、JS

成熟穩定、功能強大
環境安裝
selenium安裝
線上安裝方式
pip install selenium
離線安裝方式
需要下載selenium安裝包
解壓安裝包檔案,然後從DOS命令中進入到解壓目錄
執行pyhon setup.py install
檢視selenium是否安裝
pip show selenium
這兩種安裝方式適用於python所有的第三方模組
瀏覽器驅動安裝
不同的瀏覽器有不同的瀏覽器驅動
不同版本的瀏覽器也有不同的瀏覽器驅動
將下載的瀏覽器驅動檔案複製到python的安裝根目錄下即可。
selenium API
元素定位
元素概念
由標籤頭和標籤尾以及標籤頭與標籤尾所包含的內容組合起來就是一個元素
檢視元素
通過瀏覽器開發者工具來進行檢視
開啟瀏覽器開發者工具
按F12
在web頁面中右擊元素,選擇“檢查”(谷歌)或者“檢查元素”(火狐)
ID
通過ID的屬性來進行元素定位的
前提條件:元素必須包含 ID屬性
driver.find_element_by_id(id)
id 表示的是id的屬性值
driver表示的瀏覽器驅動物件