買模板建設(shè)網(wǎng)站亞馬遜關(guān)鍵詞工具哪個最準(zhǔn)
你就只知道功能測試嗎 ?
- 一 . 按照測試對象劃分
- 1.1 文檔測試
- 1.2 可靠性測試
- 1.3 容錯性測試
- 1.4 安裝卸載測試
- 1.5 內(nèi)存泄漏測試
- 1.6 弱網(wǎng)測試
- 二 . 按是否查看代碼劃分
- 2.1 黑盒測試
- 2.2 白盒測試
- 2.3 灰盒測試
- 三 . 按照開發(fā)階段劃分
- 3.1 單元測試
- 3.2 集成測試
- 3.3 冒煙測試
- 3.4 系統(tǒng)測試
- 3.5 回歸測試
- 3.6 驗收測試
- 四 . 按照測試實施組織劃分
- 五 . 按照是否運行劃分
- 六 . 按照手工進行劃分
- 七 . 按照地域進行劃分
Hello , 大家好 , 又給大家?guī)硇碌膶趪D ~
這個專欄是專門為零基礎(chǔ)小白從 0 到 1 了解軟件測試基礎(chǔ)理論設(shè)計的 , 雖然還不足以讓你成為軟件測試行業(yè)的佼佼者 , 但是可以讓你了解一下軟件測試行業(yè)的相關(guān)知識 , 具有一定的競爭實力 .
那也歡迎大家訂閱此專欄 : https://blog.csdn.net/m0_53117341/category_12427509.html
希望大家都能夠拿到好的 Offer
那在最開始 , 我們先把這篇文章的大體脈絡(luò)以思維導(dǎo)圖的形式展現(xiàn)出來
測試分類.xmind
一 . 按照測試對象劃分
1.1 文檔測試
實際工作中 , 也很少進行文檔測試 , 最主要的一個原因就是 : 人們想的往往跟寫出來的南轅北轍 , 產(chǎn)品經(jīng)理表達的意思是他要餐巾紙 , 你聽成了三斤屎 , 每個人理解問題的角度和表述能力是不一樣的 , 所以通過文檔測試的方式不適合于日常開發(fā)
1.2 可靠性測試
可靠性(Availability)即可用性 , 是指系統(tǒng)正常運行的能力或者程度 , 一般用正常向用戶提供軟件服務(wù)的時間占總時間的百分比表示 , 實際表達的意思就是程序正常使用多長時間
可靠性 = 正常運行時間 / (正常運行時間 + 非正常運行時間 ) * 100%
= 正常運行時間 / 總時間 * 100%
舉個例子 :
可用性指標(biāo)一般要求達到 4 個或 5 個 “9” , 即 99.99% 或者 99.999% , 最高可達到 100%
如果想要達成 4 個 9 (99.99%) 以及 5 個 9 (99.999%) , 對于全年無休的系統(tǒng)來說 , 不可用的時間是多少呢 ?
1.3 容錯性測試
容錯性測試是指系統(tǒng)能夠處理異常 , 用戶的錯誤操作而不至于系統(tǒng)崩潰 , 從而能夠提高系統(tǒng)的可用性
容錯性測試與可靠性測試非常相似 , 但是并不相同 , 容錯性指的是出問題了還能不能用 , 可靠性指的是程序出不出問題
舉個栗子 :
有一架飛機 , 他有四個引擎 , 假如說有一個引擎壞掉了 , 但是飛機還能正常運行
那么這架飛機他的容錯性非常好 , 有一個引擎壞掉了 , 這就是不可靠性的體現(xiàn)
1.4 安裝卸載測試
應(yīng)用的安裝和卸載在任何一款 APP 中都屬于最基本功能 , 一旦出錯 , 就屬于優(yōu)先級為緊要 Critical 的缺陷
在工作中 , 很容易就遺忘了安裝卸載測試
1.5 內(nèi)存泄漏測試
有一些語言會自動幫我們進行內(nèi)存釋放 , 但是有一些語言 , 動態(tài)開辟的內(nèi)存要程序員手動釋放的 , 比如 C 語言 .
那么程序員也不是神 , 我們很容易就會造成內(nèi)存泄漏 .
在工作中 , 會有兩種方法測試 :
- 人工肉眼觀察 : 費力不討好 , 先大概看一眼有沒有明顯問題
- 借助工具對代碼進行掃描 : Visual Leak Detector / sonar , 記錄每次內(nèi)存分配 , 清楚告訴用戶內(nèi)存是如何泄漏的
1.6 弱網(wǎng)測試
智能手機在網(wǎng)絡(luò)不好的情況下 , 一直獲取不到內(nèi)容的時候 , 基本都會給予彈窗提醒 ( ANR 彈窗 )
某一時間段內(nèi) , 如果網(wǎng)絡(luò)狀況不太好 , 客戶端就會對服務(wù)器頻繁地發(fā)送請求 , 造成服務(wù)器有一定的壓力
我們可以模擬 WIFI 環(huán)境、5G、4G、3G、2G 環(huán)境等等 , 針對這些環(huán)境分別測試我們的產(chǎn)品能否在這些環(huán)境正常運行
我們可以去看后臺數(shù)據(jù) , 哪種網(wǎng)絡(luò)環(huán)境使用人數(shù)多 , 優(yōu)先測試哪種網(wǎng)絡(luò)環(huán)境
我們可以通過 Fiddler 工具進行弱網(wǎng)環(huán)境模擬
工作中還有可能使用 Charles , 會更方便一點
1、打開弱網(wǎng)設(shè)置選項
2、打開弱網(wǎng)設(shè)置的腳本 , 找到以下位置
這里的 300 150 代表傳輸 1 KB 需要多少 ms
我們通過設(shè)置上行速率和下行速率來模擬不同的網(wǎng)絡(luò)環(huán)境
那么怎么知道上行速率和下行速率我們該設(shè)置多少呢 ?
百度即可
參考鏈接
二 . 按是否查看代碼劃分
2.1 黑盒測試
黑盒測試是純功能測試 , 不關(guān)心產(chǎn)品是怎樣實現(xiàn)的 (不看代碼)
一般在執(zhí)行系統(tǒng)測試階段 , 會進行黑盒測試的方法
2.2 白盒測試
白盒測試就需要關(guān)注程序的具體實現(xiàn)了 (看代碼) , 他一般是在單元測試階段使用的方法
2.3 灰盒測試
灰盒測試是介于黑盒測試和白盒測試之間的測試方法 , 灰盒測試多用于集成測試階段 , 不僅關(guān)注輸出、輸入的正確性 , 同時也關(guān)注程序內(nèi)部的情況 . 灰盒測試沒有黑盒測試用例覆蓋面積大 , 又沒有白盒測試對于代碼的分析那么詳盡
面試題 : 哪種測試方法用的多 ?
黑盒測試和白盒測試測試人員都會用的到 , 在工作中根據(jù)具體情況來結(jié)合黑盒測試和白盒測試
通常情況下 , 黑盒測試對于測試人員會用的多一點
三 . 按照開發(fā)階段劃分
3.1 單元測試
單元測試是對程序的 “最小單元” 測試
基本情況下 , 就是對我們程序中每一個小功能進行測試
3.2 集成測試
集成測試也稱聯(lián)合測試 , 把程序中不同的模塊采用適當(dāng)?shù)姆椒ńM裝起來 , 對系統(tǒng)的接口以及集成后的功能進行測試
3.3 冒煙測試
開發(fā)人員完成開發(fā)任務(wù)后 , 交給測試人員測試的第一步 , 評估 軟件 / 系統(tǒng) 是否具有測試的條件
冒煙測試成功 -> 進行系統(tǒng)測試
冒煙測試失敗 -> 打回開發(fā)重做
3.4 系統(tǒng)測試
將軟件系統(tǒng)看成是一個系統(tǒng)的測試 , 包括對功能、性能以及軟件所運行的軟硬件環(huán)境進行測試
系統(tǒng)測試就是測試人員詳細測試的階段
3.5 回歸測試
回歸測試一般是系統(tǒng)測試中的一環(huán) , 他是對歷史版本、歷史功能進行測試 , 保證功能都是符合要求的
可以借助自動化來進行回歸測試
📌 不用人工測試 , 完全使用自動化測試可以嗎 ?
🈲 不可以 !
📌 自動化測試可以替代人工測試嗎 ?
🈲 不可以 ! 現(xiàn)在不行 , 將來也不行
自動化測試也是測試人員去寫的 , 自動化測試是有局限性的 , 而且只是輔助測試人員進行測試的一個工具
3.6 驗收測試
驗收測試是部署軟件之前的最后一個測試操作 . 它是技術(shù)測試的最后一個階段 , 也稱為交付測試 . 驗收測試的目的是確保軟件準(zhǔn)備就緒 , 按照項目合同、任務(wù)書、雙方約定的驗收依據(jù)文檔 , 向軟件購買方展示該軟件系統(tǒng)滿足原始需求
四 . 按照測試實施組織劃分
α 測試和 β 測試的區(qū)別
- 環(huán)境 : α 測試是在公司內(nèi)部進行測試 , β 測試環(huán)境是不確定的
- 測試人員類型 : α 測試是公司內(nèi)部人員 , β 測試人員是用戶
- 測試人員數(shù)量 : α 測試測試人員數(shù)量較少 , β 測試人員較多
- 階段 : α 測試是在 β 測試之前測試的
- 測試時間 : α 測試周期較短 , β 測試周期較長
我們通過一個例子來理解
百度官網(wǎng)測試 :
環(huán)境 : α 測試是在百度公司進行 , β 測試是讓一些用戶先進行測試
測試人員 : α 測試人員是整個百度員工 , β 測試是每天一般抽出來 500 個用戶
階段 : 百度員工測試結(jié)束之后再讓用戶進行測試
周期 : 百度員工測試了 1 周時間 , 用戶們持續(xù)了一個月
五 . 按照是否運行劃分
靜態(tài)測試 : 比如 : code review , 就光看看代碼有沒有問題
動態(tài)測試 : 把代碼運行起來看看有沒有問題
六 . 按照手工進行劃分
一般分為手工測試和自動化測試
七 . 按照地域進行劃分
國際化測試 : 測試在不同的國家使用問題 , 可以考慮一些其他的用例 : 時間、語言、日期、貨幣等
本地測試 : 就是在本地進行測試