軟件測(cè)試筆記(一)理論篇

更多軟件測(cè)試知識(shí)關(guān)注:Teamin


有句話是這么說的:能動(dòng)手就別嗶嗶酥郭,尤其是在工作節(jié)奏堪比跑馬的今天,大家都推崇實(shí)干精神愿吹,能解決問題就好不从,去他的理論。但是無(wú)可否認(rèn)的是犁跪,良好的理論素養(yǎng)無(wú)論是解決工作中遇到的問題椿息,還是未來(lái)的職業(yè)發(fā)展,都幫助甚大坷衍。本文整理匯總了軟件測(cè)試行業(yè)中常見的一些測(cè)試?yán)碚撉抻牛┐蠹覅⒖肌?br>

1、軟件測(cè)試按照測(cè)試分類有:黑盒測(cè)試和白盒測(cè)試枫耳。

黑盒測(cè)試


黑盒測(cè)試也稱功能測(cè)試乏矾,它是通過測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試中,把程序看作一個(gè)不能打開的黑盒子妻熊,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下夸浅,在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用扔役,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息帆喇。黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu)亿胸,主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試坯钦。

黑盒測(cè)試是以用戶的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出發(fā)進(jìn)行測(cè)試的侈玄。很明顯婉刀,如果外部特性本身設(shè)計(jì)有問題或規(guī)格說明的規(guī)定有誤,用黑盒測(cè)試方法是發(fā)現(xiàn)不了的序仙。

新人入行基本上都是采用黑盒測(cè)試的方法來(lái)入門的突颊。

白盒測(cè)試


白盒測(cè)試又稱結(jié)構(gòu)測(cè)試、透明盒測(cè)試潘悼、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試律秃。白盒測(cè)試是一種測(cè)試用例設(shè)計(jì)方法,盒子指的是被測(cè)試的軟件治唤,白盒指的是盒子是可視的棒动,你清楚盒子內(nèi)部的東西以及里面是如何運(yùn)作的。"白盒"法全面了解程序內(nèi)部邏輯結(jié)構(gòu)宾添、對(duì)所有邏輯路徑進(jìn)行測(cè)試船惨。"白盒"法是窮舉路徑測(cè)試。在使用這一方案時(shí)缕陕,測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu)粱锐,從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)扛邑。貫穿程序的獨(dú)立路徑數(shù)是天文數(shù)字卜范。

咱們以空調(diào)為例來(lái)看什么是黑盒測(cè)試,什么是白盒測(cè)試:

當(dāng)一臺(tái)新的空調(diào)組裝完成鹿榜,質(zhì)監(jiān)部門需要對(duì)這臺(tái)空調(diào)的各個(gè)功能進(jìn)行測(cè)試海雪,比如開關(guān)機(jī)是否正常,制冷制熱功能是否正常舱殿,定時(shí)功能是否正常奥裸,等等,并將測(cè)試的結(jié)果一一記錄下來(lái)沪袭,如果有問題湾宙,及時(shí)反饋給設(shè)計(jì)部來(lái)解決樟氢,這就是黑盒測(cè)試的范疇。

對(duì)于空調(diào)的設(shè)計(jì)師們侠鳄,他們的測(cè)試可能就會(huì)更復(fù)雜一些埠啃,除了對(duì)空調(diào)的各項(xiàng)功能進(jìn)行測(cè)試之外,還要從空調(diào)的內(nèi)在原理來(lái)分析伟恶,他們甚至?xí)櫩照{(diào)的內(nèi)部實(shí)現(xiàn)代碼碴开,分析空調(diào)的各項(xiàng)數(shù)據(jù)狀態(tài)來(lái)看是否正常運(yùn)行,而不只是從表面功能來(lái)看博秫,這就是白盒測(cè)試的范疇潦牛。

2、按照測(cè)試的階段可以分為:?jiǎn)卧獪y(cè)試挡育、集成測(cè)試巴碗、確認(rèn)測(cè)試和系統(tǒng)測(cè)試及驗(yàn)收測(cè)試

單元測(cè)試


單元測(cè)試(unit testing),是指對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證即寒。對(duì)于單元測(cè)試中單元的含義橡淆,一般來(lái)說,要根據(jù)實(shí)際情況去判定其具體含義母赵,如C語(yǔ)言中單元指一個(gè)函數(shù)明垢,Java里單元指一個(gè)類,圖形化的軟件中可以指一個(gè)窗口或一個(gè)菜單等市咽。總的來(lái)說抵蚊,單元就是人為規(guī)定的最小的被測(cè)功能模塊施绎。單元測(cè)試是在軟件開發(fā)過程中要進(jìn)行的最低級(jí)別的測(cè)試活動(dòng),軟件的獨(dú)立單元將在與程序的其他部分相隔離的情況下進(jìn)行測(cè)試贞绳。

在一種傳統(tǒng)的結(jié)構(gòu)化編程語(yǔ)言中谷醉,比如C,要進(jìn)行測(cè)試的單元一般是函數(shù)或子過程冈闭。在像C++這樣的面向?qū)ο蟮恼Z(yǔ)言中俱尼,要進(jìn)行測(cè)試的基本單元是類。對(duì)Ada語(yǔ)言來(lái)說萎攒,開發(fā)人員可以選擇是在獨(dú)立的過程和函數(shù)遇八,還是在Ada包的級(jí)別上進(jìn)行單元測(cè)試。單元測(cè)試的原則同樣被擴(kuò)展到第四代語(yǔ)言(4GL)的開發(fā)中耍休,在這里基本單元被典型地劃分為一個(gè)菜單或顯示界面刃永。

經(jīng)常與單元測(cè)試聯(lián)系起來(lái)的另外一些開發(fā)活動(dòng)包括代碼走讀(Code review),靜態(tài)分析(Static analysis)和動(dòng)態(tài)分析(Dynamic analysis)羊精。靜態(tài)分析就是對(duì)軟件的源代碼進(jìn)行研讀斯够,查找錯(cuò)誤或收集一些度量數(shù)據(jù),并不需要對(duì)代碼進(jìn)行編譯和執(zhí)行。動(dòng)態(tài)分析就是通過觀察軟件運(yùn)行時(shí)的動(dòng)作读规,來(lái)提供執(zhí)行跟蹤抓督,時(shí)間分析,以及測(cè)試覆蓋度方面的信息束亏。

集成測(cè)試


集成測(cè)試铃在,也叫組裝測(cè)試或聯(lián)合測(cè)試。在單元測(cè)試的基礎(chǔ)上枪汪,將所有模塊按照設(shè)計(jì)要求(如根據(jù)結(jié)構(gòu)圖)組裝成為子系統(tǒng)或系統(tǒng)涌穆,進(jìn)行集成測(cè)試。

實(shí)踐表明雀久,一些模塊雖然能夠單獨(dú)地工作宿稀,但并不能保證連接起來(lái)也能正常的工作。一些局部反映不出來(lái)的問題赖捌,在全局上很可能暴露出來(lái)祝沸。

確認(rèn)測(cè)試

確認(rèn)測(cè)試的目的是向未來(lái)的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測(cè)試后越庇,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng)罩锐,接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性卤唉,這就是確認(rèn)測(cè)試的任務(wù)涩惑,即軟件的功能和性能如同用戶所合理期待的那樣。

系統(tǒng)測(cè)試


系統(tǒng)測(cè)試桑驱,英文是System Testing竭恬。是將已經(jīng)確認(rèn)的軟件、計(jì)算機(jī)硬件熬的、外設(shè)痊硕、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測(cè)試和確認(rèn)測(cè)試押框,系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試岔绸,目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方橡伞,從而提出更加完善的方案盒揉。系統(tǒng)測(cè)試發(fā)現(xiàn)問題之后要經(jīng)過調(diào)試找出錯(cuò)誤原因和位置,然后進(jìn)行改正兑徘。是基于系統(tǒng)整體需求說明書的黑盒類測(cè)試预烙,應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件。對(duì)象不僅僅包括需測(cè)試的軟件道媚,還要包含軟件所依賴的硬件扁掸、外設(shè)甚至包括某些數(shù)據(jù)翘县、某些支持軟件及其接口等。

驗(yàn)收測(cè)試


驗(yàn)收測(cè)試是部署軟件之前的最后一個(gè)測(cè)試操作谴分。在軟件產(chǎn)品完成了單元測(cè)試锈麸、集成測(cè)試和系統(tǒng)測(cè)試之后,產(chǎn)品發(fā)布之前所進(jìn)行的軟件測(cè)試活動(dòng)牺蹄。它是技術(shù)測(cè)試的最后一個(gè)階段忘伞,也稱為交付測(cè)試。驗(yàn)收測(cè)試的目的是確保軟件準(zhǔn)備就緒沙兰,并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和任務(wù)氓奈。

驗(yàn)收測(cè)試是向未來(lái)的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測(cè)試后鼎天,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng)舀奶,接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性斋射,這就是驗(yàn)收測(cè)試的任務(wù)育勺,即軟件的功能和性能如同用戶所合理期待的那樣。

驗(yàn)收測(cè)試罗岖,系統(tǒng)開發(fā)生命周期方法論的一個(gè)階段涧至,這時(shí)相關(guān)的用戶和獨(dú)立測(cè)試人員根據(jù)測(cè)試計(jì)劃和結(jié)果對(duì)系統(tǒng)進(jìn)行測(cè)試和接收。它讓系統(tǒng)用戶決定是否接收系統(tǒng)桑包。它是一項(xiàng)確定產(chǎn)品是否能夠滿足合同或用戶所規(guī)定需求的測(cè)試南蓬。這是管理性和防御性控制。

在工程及其他相關(guān)領(lǐng)域中哑了,驗(yàn)收測(cè)試是指確認(rèn)一系統(tǒng)是否符合設(shè)計(jì)規(guī)格或契約之需求內(nèi)容的測(cè)試赘方,可能會(huì)包括化學(xué)測(cè)試、物理測(cè)試或是性能測(cè)試垒手。在系統(tǒng)工程中驗(yàn)收測(cè)試可能包括在系統(tǒng)(例如一套軟件系統(tǒng)、許多機(jī)械零件或是一批化學(xué)制品)交付前的黑箱測(cè)試倒信。軟件開發(fā)者常會(huì)將系統(tǒng)開發(fā)者進(jìn)行的驗(yàn)收測(cè)試和客戶在接受產(chǎn)品前進(jìn)行的驗(yàn)收測(cè)試分開科贬。后者一般會(huì)稱為使用者驗(yàn)收測(cè)試、終端客戶測(cè)試鳖悠、實(shí)機(jī)(驗(yàn)收)測(cè)試榜掌、現(xiàn)場(chǎng)(驗(yàn)收)測(cè)試。在進(jìn)行主要測(cè)試程序之前乘综,常用冒煙測(cè)試作為一個(gè)此階段的驗(yàn)收測(cè)試憎账。

3、其他的測(cè)試?yán)碚撨€有:自動(dòng)化測(cè)試卡辰、回歸測(cè)試胞皱、冒煙測(cè)試邪意、性能測(cè)試

自動(dòng)化測(cè)試


一般是指軟件測(cè)試的自動(dòng)化,軟件測(cè)試就是在預(yù)設(shè)條件下運(yùn)行系統(tǒng)或應(yīng)用程序反砌,評(píng)估運(yùn)行結(jié)果雾鬼,預(yù)先條件應(yīng)包括正常條件和異常條件。通常宴树,在設(shè)計(jì)了測(cè)試用例并通過評(píng)審之后策菜,由測(cè)試人員根據(jù)測(cè)試用例中描述的規(guī)程一步步執(zhí)行測(cè)試,得到實(shí)際結(jié)果與期望結(jié)果的比較酒贬。在此過程中又憨,為了節(jié)省人力、時(shí)間或硬件資源锭吨,提高測(cè)試效率蠢莺,便引入了自動(dòng)化測(cè)試的概念。

自動(dòng)化測(cè)試分為web自動(dòng)化測(cè)試耐齐、接口自動(dòng)化測(cè)試浪秘、APP自動(dòng)化測(cè)試。

回歸測(cè)試


回歸測(cè)試是指修改了舊代碼后埠况,重新進(jìn)行測(cè)試以確認(rèn)修改沒有引入新的錯(cuò)誤或?qū)е缕渌a產(chǎn)生錯(cuò)誤耸携。自動(dòng)回歸測(cè)試將大幅降低系統(tǒng)測(cè)試、維護(hù)升級(jí)等階段的成本辕翰《嵫埽回歸測(cè)試作為軟件生命周期的一個(gè)組成部分,在整個(gè)軟件測(cè)試過程中占有很大的工作量比重喜命,軟件開發(fā)的各個(gè)階段都會(huì)進(jìn)行多次回歸測(cè)試沟沙。在漸進(jìn)和快速迭代開發(fā)中,新版本的連續(xù)發(fā)布使回歸測(cè)試進(jìn)行的更加頻繁壁榕,而在極端編程方法中矛紫,更是要求每天都進(jìn)行若干次回歸測(cè)試。因此牌里,通過選擇正確的回歸測(cè)試策略來(lái)改進(jìn)回歸測(cè)試的效率和有效性是很有意義的颊咬。

冒煙測(cè)試


這一術(shù)語(yǔ)源自硬件行業(yè)。對(duì)一個(gè)硬件或硬件組件進(jìn)行更改或修復(fù)后牡辽,直接給設(shè)備加電喳篇。如果沒有冒煙,則該組件就通過了測(cè)試态辛。在軟件中麸澜,“冒煙測(cè)試”這一術(shù)語(yǔ)描述的是在將代碼更改嵌入到產(chǎn)品的源樹中之前對(duì)這些更改進(jìn)行驗(yàn)證的過程。在檢查了代碼后奏黑,冒煙測(cè)試是確定和修復(fù)軟件缺陷的最經(jīng)濟(jì)有效的方法炊邦。冒煙測(cè)試設(shè)計(jì)用于確認(rèn)代碼中的更改會(huì)按預(yù)期運(yùn)行编矾,且不會(huì)破壞整個(gè)版本的穩(wěn)定性。

性能測(cè)試


性能測(cè)試是通過自動(dòng)化的測(cè)試工具模擬多種正常铣耘、峰值以及異常負(fù)載條件來(lái)對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試洽沟。負(fù)載測(cè)試和壓力測(cè)試都屬于性能測(cè)試,兩者可以結(jié)合進(jìn)行蜗细。通過負(fù)載測(cè)試裆操,確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測(cè)試當(dāng)負(fù)載逐漸增加時(shí)炉媒,系統(tǒng)各項(xiàng)性能指標(biāo)的變化情況踪区。壓力測(cè)試是通過確定一個(gè)系統(tǒng)的瓶頸或者不能接受的性能點(diǎn),來(lái)獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試吊骤。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末缎岗,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子白粉,更是在濱河造成了極大的恐慌传泊,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸭巴,死亡現(xiàn)場(chǎng)離奇詭異眷细,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鹃祖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門溪椎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人恬口,你說我怎么就攤上這事校读。” “怎么了祖能?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵歉秫,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我养铸,道長(zhǎng)雁芙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任揭厚,我火速辦了婚禮却特,結(jié)果婚禮上扶供,老公的妹妹穿的比我還像新娘筛圆。我一直安慰自己,他們只是感情好椿浓,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布太援。 她就那樣靜靜地躺著闽晦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪提岔。 梳的紋絲不亂的頭發(fā)上仙蛉,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音碱蒙,去河邊找鬼荠瘪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛赛惩,可吹牛的內(nèi)容都是我干的哀墓。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼喷兼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼篮绰!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起季惯,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤吠各,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后勉抓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贾漏,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年琳状,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了磕瓷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡念逞,死狀恐怖困食,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情翎承,我是刑警寧澤硕盹,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站叨咖,受9級(jí)特大地震影響瘩例,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜甸各,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一垛贤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧趣倾,春花似錦聘惦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)黔漂。三九已至,卻和暖如春禀酱,著一層夾襖步出監(jiān)牢的瞬間炬守,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工剂跟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留减途,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓曹洽,卻偏偏與公主長(zhǎng)得像观蜗,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子衣洁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 文章來(lái)自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鵬閱讀 9,188評(píng)論 2 126
  • 1.測(cè)試與軟件模型 軟件開發(fā)生命周期模型指的是軟件開發(fā)全過程墓捻、活動(dòng)和任務(wù)的結(jié)構(gòu)性框架。軟件項(xiàng)目的開發(fā)包括:需求坊夫、設(shè)...
    Mr希靈閱讀 21,938評(píng)論 7 278
  • 1.測(cè)試與軟件模型 軟件開發(fā)生命周期模型指的是軟件開發(fā)全過程砖第、活動(dòng)和任務(wù)的結(jié)構(gòu)性框架。軟件項(xiàng)目的開發(fā)包括:需求环凿、設(shè)...
    宇文臭臭閱讀 6,713評(píng)論 5 100
  • 1.問:你在測(cè)試中發(fā)現(xiàn)了一個(gè) bug 梧兼,但是開發(fā)經(jīng)理認(rèn)為這不是一個(gè) bug ,你應(yīng)該怎樣解決智听。 首先羽杰,將問題提...
    qianyewhy閱讀 9,232評(píng)論 4 123
  • 立夏已過考赛,是時(shí)候貢獻(xiàn)出帥氣的小哥哥來(lái)撩撥一下姐姐妹妹們?cè)陝?dòng)的荷爾蒙了!?? I have a dream~~~相信...
    娛樂拆穿姐閱讀 1,480評(píng)論 1 4