我與ChatGPT Pair 整理的測試類型清單

本文首發(fā)于「BY林子」货徙,轉載請參考版權聲明研儒。


不管是專業(yè)測試人員還是軟件行業(yè)其他角色真仲,幾乎很少有人能分清楚各種軟件測試類型,比如最近看到有人說:

“功能測試等同于手動測試”
“功能測試也叫黑盒測試或者數(shù)據(jù)驅動測試”
……

的確弛随,測試類型的概念沒有標準化的定義坚冀,而且在不同的語境下還會有不同的含義戚绕,因此,大家都混淆各種概念也是很正常的归斤。但是痊夭,盡量搞清楚這些類型,對于我們更好地理解和實踐軟件測試還是很有幫助的脏里。

于是她我,通過我對ChatGPT進行提問,對它回答不清晰或者不準確的內容通過進一步提問澄清迫横,最終我和ChatGPT pair 整理了這份軟件測試類型清單番舆。

01 按照測試驗證的內容分類

根據(jù)測試驗證的內容是系統(tǒng)的功能需求,還是非功能需求矾踱,可以分為功能測試和非功能測試恨狈,而非功能測試還可以細分為不同的測試類型。

1.1 按測試內容分類的測試類型

1. 功能測試:
功能測試主要驗證軟件系統(tǒng)的功能是否符合用戶需求和規(guī)格說明書的要求呛讲。

2. 性能測試:
性能測試主要用于測試軟件系統(tǒng)的性能禾怠,包括響應時間返奉、吞吐量、負載能力等方面吗氏。通過這種測試類型芽偏,可以找出系統(tǒng)的性能瓶頸,以及在不同負載條件下的表現(xiàn)牲证。

3. 可靠性測試:
可靠性測試主要用于測試軟件系統(tǒng)的穩(wěn)定性和可靠性哮针,通常會通過模擬各種異常情況來測試系統(tǒng)的魯棒性,以及對異常情況的處理能力坦袍。

4. 兼容性測試:
兼容性測試主要用于測試軟件系統(tǒng)在不同硬件和軟件環(huán)境下的兼容性十厢,通常會測試系統(tǒng)在不同操作系統(tǒng)、瀏覽器捂齐、設備和網(wǎng)絡環(huán)境下的表現(xiàn)蛮放,以確保系統(tǒng)能夠在各種環(huán)境下正常工作。

5. 安全測試:
安全測試通常會測試系統(tǒng)的漏洞奠宜、安全性能包颁、訪問控制等方面,以確保系統(tǒng)能夠抵御各種安全攻擊和威脅压真。

6. 可用性測試:
可用性測試主要用于測試軟件系統(tǒng)的易用性和用戶體驗娩嚼。通常會測試系統(tǒng)的界面、操作流程滴肿、反應速度等方面岳悟,以確保系統(tǒng)能夠提供用戶友好的使用體驗,并滿足用戶的需求泼差。

7. 容量測試:
容量測試主要用于測試系統(tǒng)在高負載情況下的容量和擴展性能贵少,可以確定系統(tǒng)能夠承受的最大負載,并確定系統(tǒng)需要進行哪些優(yōu)化和調整堆缘,以達到滿足業(yè)務需求的性能要求滔灶。

8. 可維護性測試:
可維護性測試主要用于測試軟件系統(tǒng)的可維護性和可擴展性,可以確定系統(tǒng)的易維護性吼肥,以及系統(tǒng)在未來的擴展和修改方面的可行性和成本录平。

9. 可移植性測試:
可移植性測試主要用于測試軟件系統(tǒng)在不同平臺和環(huán)境下的可移植性和兼容性,可以確定系統(tǒng)能夠在不同的操作系統(tǒng)潜沦、硬件平臺和開發(fā)工具中正確地運行和展現(xiàn)萄涯。

10. 國際化測試:
國際化測試主要用于測試軟件系統(tǒng)在不同語言和文化環(huán)境下的本地化和國際化能力,可以確定系統(tǒng)是否能夠正確地處理不同的語言和字符集唆鸡,以及在不同地區(qū)和文化背景下的正確表現(xiàn)涝影。

11. 本地化測試:
本地化測試主要測試軟件在特定的語言、文化和地區(qū)設置下的功能和表現(xiàn)争占,以確保軟件在該特定地區(qū)的用戶能夠正常使用燃逻,并且能夠滿足該地區(qū)的語言序目、文化和習慣等方面的需求。本地化測試通常需要對軟件進行翻譯伯襟、本地化調整猿涨、格式調整等處理。

12. 易用性測試:
易用性測試主要用于測試軟件系統(tǒng)的易用性和用戶體驗姆怪,可以確定系統(tǒng)的用戶友好性叛赚,以及系統(tǒng)是否能夠在不同的用戶群體中滿足用戶的需求和期望。

1.2 易混淆測試類型

1. 可用性測試與易用性測試:

可用性測試和易用性測試是相關但不同的測試類型稽揭。雖然它們都關注軟件系統(tǒng)的用戶體驗俺附,但它們的重點和方法不同。

可用性測試主要關注系統(tǒng)在各種情況下是否可用溪掀。這包括測試系統(tǒng)的可靠性事镣、可訪問性、易學性揪胃、效率和容錯性等方面璃哟。可用性測試通常通過場景測試喊递、用戶測試和技術測試等方法來評估系統(tǒng)的可用性随闪。

而易用性測試主要關注系統(tǒng)的用戶友好性和易學性,以及用戶的滿意度和使用體驗骚勘。易用性測試通常通過用戶研究蕴掏、人機交互測試和用戶調查等方法來評估系統(tǒng)的易用性。

2. 可移植性測試與兼容性測試:

可移植性測試是測試軟件在不同平臺和環(huán)境下的可移植性和可用性调鲸,主要關注的是軟件的可移植性,即能否在不同平臺和環(huán)境下正常運行和使用挽荡。而兼容性測試是測試軟件在不同硬件和軟件環(huán)境下的兼容性藐石,主要關注的是軟件的兼容性,即能否在不同的操作系統(tǒng)定拟、瀏覽器于微、設備和網(wǎng)絡環(huán)境下正常工作。

可以將兩者視為相互補充的測試類型青自,因為軟件的可移植性和兼容性都是非常重要的質量屬性株依。雖然它們有一些相似之處,但是在測試的具體實現(xiàn)上延窜,可移植性測試通常更注重跨平臺的測試恋腕,而兼容性測試則更注重跨環(huán)境的測試。

02 按測試粒度分類

2.1 按測試粒度分類的測試類型

單元測試: 測試軟件的最小單元——代碼中的單個函數(shù)或方法逆瑞,以確保其行為符合預期荠藤,通常在開發(fā)階段由開發(fā)人員自行編寫和運行伙单。

集成測試: 測試多個模塊組合成的集成軟件系統(tǒng),以確保模塊之間的接口和交互符合預期哈肖。集成測試可以分為頂部向下和底部向上兩種方式吻育。

系統(tǒng)測試: 測試整個軟件系統(tǒng),包括所有集成的模塊和組件淤井,以確保軟件的功能布疼、性能、可靠性币狠、兼容性游两、安全性等方面符合用戶需求和規(guī)格說明書的要求。系統(tǒng)測試通常由專門的測試人員進行总寻。

2.2 ChatGPT的原分類

ChatGPT是將測試類型按照不同的測試階段分為:單元測試器罐、集成測試、系統(tǒng)測試和驗收測試渐行,但現(xiàn)在測試的階段已經(jīng)不是很明顯轰坊,各種測試可能并行,我不太喜歡按階段來分祟印,于是啟發(fā)ChatGPT改成按照測試粒度分為單元測試肴沫、集成測試和系統(tǒng)測試。

而驗收測試則跟冒煙測試和回歸測試放到了一個維度蕴忆,根據(jù)測試目的不同來劃分颤芬。

2.3 易混淆測試類型

1. 系統(tǒng)測試與系統(tǒng)級集成測試:

系統(tǒng)測試主要用于測試整個軟件系統(tǒng)是否符合需求和規(guī)格說明書,測試人員會對整個軟件系統(tǒng)進行測試套鹅,包括系統(tǒng)的功能站蝠、性能、可靠性卓鹿、兼容性和安全性等方面的測試菱魔,以驗證軟件系統(tǒng)是否符合需求和規(guī)格說明書。

而系統(tǒng)級集成測試是集成測試的一種吟孙,它主要用于測試不同子系統(tǒng)之間的集成和協(xié)作能力澜倦,以及集成后系統(tǒng)的功能和性能等方面是否符合需求。測試人員會針對整個系統(tǒng)的集成進行測試杰妓,主要是驗證不同子系統(tǒng)之間的接口和交互是否正確藻治,并且系統(tǒng)能夠按照預期的方式運行。

因此巷挥,系統(tǒng)測試和系統(tǒng)級集成測試都是針對整個軟件系統(tǒng)進行測試的桩卵,但它們的測試重點和測試目的是不同的。系統(tǒng)測試主要關注整個軟件系統(tǒng)是否符合需求和規(guī)格說明書,而系統(tǒng)級集成測試主要關注不同子系統(tǒng)之間的集成和協(xié)作能力是否符合需求吸占。

2. 系統(tǒng)測試與端到端測試:

系統(tǒng)測試和端到端測試都是按照測試粒度的不同維度來分類的晴叨,但是涵蓋的范圍是有些不同的。

系統(tǒng)測試通常是從整體的角度來測試系統(tǒng)的可靠性矾屯、穩(wěn)定性兼蕊、性能等方面的質量屬性,常常會涉及多個模塊和組件的集成測試件蚕,例如在測試一個大型系統(tǒng)時孙技,系統(tǒng)測試可能會包含多個模塊的集成測試,以及整個系統(tǒng)的端到端測試排作。

而端到端測試則更加關注整個系統(tǒng)在用戶場景下的完整性牵啦,即從用戶使用的角度出發(fā),測試系統(tǒng)是否能夠正確地完成預期的業(yè)務流程和交互功能妄痪,涵蓋的測試范圍通常會比系統(tǒng)測試更廣泛哈雏,包括前端、后端衫生、數(shù)據(jù)庫裳瘪、接口等多個方面。端到端測試通常也被稱為業(yè)務流程測試或場景測試罪针。

因此彭羹,可以認為端到端測試是系統(tǒng)測試中的一個子集,它更加注重系統(tǒng)在用戶場景下的完整性和正確性泪酱。

03 按照對系統(tǒng)內部的了解程度分類

ChatGPT給的分類維度是測試方法派殷,個人覺得不是特別合適,進一步澄清為:是按照測試人員在測試過程中了解系統(tǒng)的內部工作原理和結構的程度來劃分的墓阀。

黑盒測試: 測試人員不了解系統(tǒng)內部的實現(xiàn)細節(jié)毡惜,只關注系統(tǒng)的輸入和輸出,根據(jù)系統(tǒng)規(guī)格說明或者其他文檔編寫測試用例斯撮,驗證系統(tǒng)是否符合需求和規(guī)格虱黄。這種測試方法模擬了系統(tǒng)用戶的行為,通常關注的是系統(tǒng)的功能性和非功能性需求吮成。

白盒測試: 測試人員了解系統(tǒng)的內部工作原理和結構菩掏,根據(jù)系統(tǒng)設計和代碼邏輯編寫測試用例烙心,驗證系統(tǒng)的正確性和可靠性。這種測試方法側重于測試代碼實現(xiàn)的正確性和系統(tǒng)內部結構的合理性耀怜。

灰盒測試: 測試人員了解部分系統(tǒng)的內部工作原理和結構作瞄,但是不完全了解系統(tǒng)的全部實現(xiàn)細節(jié)茶宵。這種測試方法介于黑盒測試和白盒測試之間,既關注系統(tǒng)的功能和需求宗挥,也關注代碼實現(xiàn)的正確性和內部結構的合理性乌庶。測試人員通常會結合系統(tǒng)規(guī)格說明和代碼實現(xiàn)來編寫測試用例种蝶。

注:這里的測試人員應該確切地說是開展測試的人員。

04 按照測試目的分類

冒煙測試: 也稱為構建驗證測試瞒大,用于驗證軟件系統(tǒng)的主要功能是否正常工作螃征。通常在每次代碼構建完成后進行,以盡早發(fā)現(xiàn)潛在的問題透敌,避免在后續(xù)測試中浪費時間和資源盯滚。

回歸測試: 用于驗證新的軟件功能或修復缺陷后,之前的功能是否受到影響酗电。通常在每次代碼變更后進行魄藕,以確保之前的功能沒有被破壞或產(chǎn)生副作用。

驗收測試: 也稱為用戶驗收測試撵术,是在軟件交付給用戶之前進行的最后一輪測試背率,以確保軟件系統(tǒng)符合用戶需求和預期的質量標準。

05 按照測試對象分類

前端測試: 主要測試網(wǎng)站或應用程序的前端界面嫩与,包括頁面布局寝姿、交互、響應速度蕴纳、可訪問性会油、可用性等方面。

后端測試: 主要測試應用程序的后端功能和邏輯古毛,包括數(shù)據(jù)處理翻翩、算法、業(yè)務邏輯等方面稻薇。

數(shù)據(jù)庫測試: 主要測試數(shù)據(jù)庫的性能嫂冻、可靠性、安全性等方面塞椎,包括對數(shù)據(jù)表結構桨仿、數(shù)據(jù)完整性、數(shù)據(jù)類型等方面的測試案狠。

接口測試: 主要測試應用程序與其他系統(tǒng)或服務之間的接口服傍,包括對輸入?yún)?shù)、輸出結果骂铁、數(shù)據(jù)格式吹零、傳輸協(xié)議等方面的測試。

06 按照測試手段分類

按照測試手段可以分為手動測試自動化測試拉庵。

07 按照測試執(zhí)行的方式分類

按照測試執(zhí)行的方式灿椅,也就是是否要基于測試用例(腳本)來進行測試,可以分為腳本化測試和探索式測試。

腳本化測試: ChatGPT認為腳本化測試就是自動化測試茫蛹,其實腳本化測試是指基于測試用例進行的測試操刀,包括自動化和手動測試。

探索式測試: 不需要事先設計測試用例婴洼,它是一種軟件測試風格骨坑,強調獨立測試人員的個人自由和職責,為了持續(xù)優(yōu)化其工作的價值窃蹋,將測試相關學習卡啰、測試設計、測試執(zhí)行和測試結果分析作為相互支持的活動警没,在整個項目過程中并行地執(zhí)行匈辱。

08 寫在最后

雖然我進行了少量修改和調整,還是有保留絕大部分原話杀迹,希望ChatGPT的車轱轆話沒把大家繞暈亡脸。

不同的測試類型可以針對不同的需求和問題,有助于制定更加有效的測試計劃和策略树酪。同時浅碾,掌握不同的測試類型可以提高測試能力和測試思維,讓測試工作更加專業(yè)和高效续语。

但是垂谢,也沒必要過度去摳各種測試類型的細節(jié),測試策略的制定需要系統(tǒng)性地考慮疮茄。全面了解各種測試類型的劃分方式滥朱,基于測試象限和測試金字塔的指導,結合項目和系統(tǒng)特點來制定適合的策略力试。

最后徙邻,這是一份不全的測試類型清單,也不一定完全準確畸裳,歡迎大家留言補充缰犁。

09 推薦閱讀


本文首發(fā)于「BY林子」,轉載請參考版權聲明怖糊。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末帅容,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子伍伤,更是在濱河造成了極大的恐慌丰嘉,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚷缭,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機阅爽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門路幸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人付翁,你說我怎么就攤上這事简肴。” “怎么了百侧?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵砰识,是天一觀的道長。 經(jīng)常有香客問我佣渴,道長辫狼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任辛润,我火速辦了婚禮膨处,結果婚禮上,老公的妹妹穿的比我還像新娘砂竖。我一直安慰自己真椿,他們只是感情好,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布乎澄。 她就那樣靜靜地躺著突硝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪置济。 梳的紋絲不亂的頭發(fā)上解恰,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機與錄音舟肉,去河邊找鬼修噪。 笑死,一個胖子當著我的面吹牛路媚,可吹牛的內容都是我干的黄琼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼整慎,長吁一口氣:“原來是場噩夢啊……” “哼脏款!你這毒婦竟也來了?” 一聲冷哼從身側響起裤园,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤撤师,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拧揽,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剃盾,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡腺占,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了痒谴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片衰伯。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖积蔚,靈堂內的尸體忽然破棺而出意鲸,到底是詐尸還是另有隱情,我是刑警寧澤尽爆,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布怎顾,位于F島的核電站,受9級特大地震影響漱贱,放射性物質發(fā)生泄漏槐雾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一饱亿、第九天 我趴在偏房一處隱蔽的房頂上張望蚜退。 院中可真熱鬧,春花似錦彪笼、人聲如沸钻注。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽幅恋。三九已至,卻和暖如春泵肄,著一層夾襖步出監(jiān)牢的瞬間捆交,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工腐巢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留品追,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓冯丙,卻偏偏與公主長得像肉瓦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子胃惜,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內容