本文首發(fā)于公眾號「測試漫談」,回復(fù)“軟件測試教程”獲取:麥子學(xué)院映之、黑馬较解、小強軟件測試全套學(xué)習(xí)教程!
1、灰度測試
灰度測試,是在某項產(chǎn)品或應(yīng)用正式發(fā)布前,選擇特定人群試用莺禁,然后逐步擴(kuò)大其試用者數(shù)量,以便及時發(fā)現(xiàn)和糾正其中的問題窄赋。另一個是為了降低同時大量的訪問對服務(wù)器資源造成壓力睁宰。常見的灰度測試場景如APP新版本升級,系統(tǒng)升級等寝凌。
灰度測試主要是按照一定策略選取部分用戶柒傻,讓他們先行體驗新版本的應(yīng)用進(jìn)行驗證。該方法具有用戶流量隨機(jī)较木,在真實的用戶和場景下得到驗證红符,可以實時監(jiān)控崩潰、用戶反饋等問題進(jìn)行召回伐债、進(jìn)行定位预侯,進(jìn)而決定繼續(xù)放大新版本投放范圍直至全量升級或回滾至老版本》逅灰度測試覆蓋到達(dá)到了機(jī)型萎馅、系統(tǒng)、網(wǎng)絡(luò)虹蒋、地域多類型的目的糜芳。
2、A / B測試
A / B測試的概念來源于生物醫(yī)學(xué)的雙盲測試魄衅,雙盲測試中病人被隨機(jī)的分成兩組峭竣,在不知情的情況下分別給予安慰劑和測試用藥,經(jīng)過一段時間的實驗后再來比較這兩組病人的表現(xiàn)是否具有顯著的差異晃虫,從而決定測試用藥是否有效皆撩。
A / B測試制定網(wǎng)頁或應(yīng)用程序的兩個或多個版本,是在同一時間維度哲银,讓一部分用戶使用A 方案扛吞,同時另一部分用戶使用 B 方案呻惕,然后收集統(tǒng)計并對比不同方案的轉(zhuǎn)化率、點擊量滥比、留存率等指標(biāo)亚脆,以判斷不同方案的優(yōu)劣并進(jìn)行決策,分析評估最終哪個版本被采用的方法守呜。
3、模糊測試
模糊測試(Fuzz testing)是一種軟件測試技術(shù)山憨,其核心思想是自動或半自動的生成隨機(jī)數(shù)據(jù)輸入到一個程序中查乒,并監(jiān)視程序異常,如崩潰郁竟,斷言失敗玛迄,以發(fā)現(xiàn)可能的程序錯誤,比如內(nèi)存泄漏棚亩。模糊測試常常用于檢測軟件或計算機(jī)系統(tǒng)的安全漏洞蓖议。
4、探索性測試
探索性測試是敏捷開發(fā)過程中的一種重要測試方法讥蟆,是功能測試和自動化測試的重要補充勒虾。探索性測試是一種經(jīng)過深思熟慮的測試方式,沒有測試腳本瘸彤,可以使你的測試超出各種明顯已經(jīng)測試過的場景修然。
相對于傳統(tǒng)軟件測試過程中嚴(yán)格的“先設(shè)計,后執(zhí)行”來說质况,具有很大區(qū)別愕宋。另外探索性測試不是自由測試,而是需要有一定的方法來指導(dǎo)结榄。探索性強調(diào)測試人員的主觀能動性中贝,拋棄繁雜的測試計劃和測試用例設(shè)計過程,強調(diào)在碰到問題時及時改變測試策略臼朗。
探索性測試可以用來找到系統(tǒng)深層次的缺陷邻寿、也可以加深測試人員對被測系統(tǒng)的了解。但是特別要注意不要將探索性測試和錯誤推測法视哑、隨機(jī)測試老厌、回歸測試混淆,同時探索性測試不能用來評估軟件質(zhì)量黎炉。
5枝秤、基于模型的測試用例設(shè)計
基于模型的測試(Model-Based-Testing)是一種技術(shù),是自動化測試的一個分支慷嗜,有時被標(biāo)榜為“自動化測試設(shè)計”淀弹。它是將測試用例的設(shè)計依托于被測系統(tǒng)的模型丹壕,并基于該模型自動生成測試用例的技術(shù)。沒有測試模型薇溃,基于模型的測試工具就無法生成任何測試用例菌赖。沒有好的測試模型,該工具就無法生成好的測試用例沐序。因此琉用,基于模型的測試技術(shù),是從測試設(shè)計變成了測試模型設(shè)計策幼。