軟件測試|基本知識(shí)(含思維導(dǎo)圖)

一打厘、軟件測試概況

1、測試原則

(1)完全測試是不可能的。不可能找出所有錯(cuò)誤

(2)測試存在風(fēng)險(xiǎn)磅网。測試不全面

(3)測試只能表明缺陷的存在。不能證明沒有缺陷

(4)產(chǎn)品潛在錯(cuò)誤書與已發(fā)現(xiàn)錯(cuò)誤數(shù)成正比筷屡。

(5)讓不同cesium人員參與測試工作中涧偷。避免固定測試思維

(6)開發(fā)者與測試者分開

(7)設(shè)計(jì)用例時(shí),包括輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分毙死,且輸入數(shù)據(jù)包括合法與非法的情況燎潮。

(8)集中測試易出錯(cuò)或錯(cuò)誤較多的模塊。二八定律

(9)長期保留所有測試用例扼倘。進(jìn)行回歸測試

2确封、軟件測試模型

指:軟件測試全部過程、活動(dòng)或人物的結(jié)構(gòu)框架再菊。應(yīng)闡明的問題:(1)測試時(shí)間(2)測試步驟(3)如何對(duì)測試進(jìn)行計(jì)劃(4)不同階段的測試中應(yīng)關(guān)注的測試對(duì)象(5)測試過程中應(yīng)考慮哪些問題(6)測試需要達(dá)到的目標(biāo)爪喘。

V模型、W模型纠拔、H模型

3秉剑、測試分類

按時(shí)間階段:單元測試、集成測試绿语、系統(tǒng)測試秃症、驗(yàn)收測試

按是否運(yùn)行程序:靜態(tài)測試、動(dòng)態(tài)測試

按是否查看源碼(從設(shè)計(jì)用例角度):黑盒測試(等價(jià)類是種重要黑盒測試技術(shù))吕粹、白盒測試(邏輯覆蓋是種重要白盒測試技術(shù))

按質(zhì)量因素:

(1)功能測試:關(guān)注功能實(shí)現(xiàn)种柑。以需求規(guī)格說明書為依據(jù),檢驗(yàn)是否實(shí)現(xiàn)說明書中所有功能需求匹耕。

(2)可靠性測試:關(guān)注程序輸出結(jié)果的準(zhǔn)確性聚请。以需求規(guī)格說明書對(duì)系統(tǒng)可靠性要求為依據(jù),衡量的是程序在多長時(shí)間內(nèi)一直運(yùn)行且給出期望值稳其,評(píng)測軟件提供準(zhǔn)確輸出的能力驶赏。

(3)可用性測試:衡量處理服務(wù)請(qǐng)求時(shí),程序的可用頻率既鞠。以需求規(guī)格說明書對(duì)系統(tǒng)的可用性為依據(jù)煤傍,可用性衡量的是程序處理服務(wù)請(qǐng)求且在最短時(shí)間內(nèi)從故障中恢復(fù)的能力。

(4)性能測試:輸入輸出數(shù)據(jù)的精度嘱蛋、系統(tǒng)響應(yīng)時(shí)間蚯姆、更新頻率五续、數(shù)據(jù)的轉(zhuǎn)換和傳送時(shí)間、操作方式龄恋、或運(yùn)行運(yùn)行環(huán)境變化時(shí)軟件的適應(yīng)能力疙驾、故障處理能力、資源使用率郭毕∷椋可細(xì)分為負(fù)載測試、容量測試显押、壓力測試扳肛。

(5)安全性測試:主要驗(yàn)證系統(tǒng)的安全性、保密性等措施是否有效地發(fā)揮作用煮落,包括用戶管理敞峭、訪問空盒子、數(shù)據(jù)備份與恢復(fù)蝉仇、入侵檢測旋讹。

除以上分類測試外,還有

(1)配置測試:檢驗(yàn)是否多種硬件平臺(tái)正常運(yùn)行

(2)兼容性測試:檢驗(yàn)各軟件是否正確交互和共享信息轿衔,主要關(guān)注軟件的運(yùn)行平臺(tái)和應(yīng)用系統(tǒng)版本沉迹、標(biāo)準(zhǔn)和規(guī)范、數(shù)據(jù)的共享性

(3)安裝測試:為了發(fā)現(xiàn)軟件在安裝中存在的錯(cuò)誤害驹,驗(yàn)證與安裝手冊的內(nèi)容是否一致鞭呕。對(duì)應(yīng)的還有卸載測試

(4)文檔測試:檢驗(yàn)軟件產(chǎn)品的文檔是否清晰、準(zhǔn)確宛官、一致

(5)軟件國際化測試葫松、軟件本地化測試:和本地化相對(duì)應(yīng)。要求軟件支持Unicode底洗,不同時(shí)區(qū)的設(shè)定腋么、顯示和切換,清除些不易改變的設(shè)置亥揖。本地化是軟件按特性國家珊擂、地區(qū)的市場需要進(jìn)行加工、處理费变,使?jié)M足特定市場用戶對(duì)軟件的要求的過程摧扇,本地化重點(diǎn)有:翻譯問題、文化背景問題挚歧、數(shù)據(jù)格式問題等

(6)α測試扛稽、β測試:都屬于驗(yàn)收測試范疇

4、測試用例

1.測試用例編寫

2.測試用例設(shè)計(jì)

(1)任何情況都必選擇邊界值分析法

(2)必要時(shí)用等價(jià)類劃分法補(bǔ)充些測試用例

(3)用錯(cuò)誤推測法再追加些測試用例

(4)對(duì)照程序邏輯滑负,檢查設(shè)計(jì)出的用例的邏輯覆蓋度

(5)若程序功能說明中含有輸入條件的組合情況庇绽,則可選因果圖法

3.測試用例場景

通過描述用例的路徑來確定的過程锡搜,這個(gè)流經(jīng)過程要從用例開始到結(jié)束遍歷其中所有的基本流和備選流

二、軟件測試方法與過程

靜態(tài)測試

以人工為主瞧掺,測試者通過閱讀代碼和文檔,分析其正確性凡傅、一致性及邏輯結(jié)構(gòu)的正確性辟狈,從而找出軟件中的錯(cuò)誤或缺陷。對(duì)自動(dòng)化工具依賴性較小夏跷,發(fā)揮人的主觀能動(dòng)性哼转。

審查走查是靜態(tài)測試常用形式。審查指通過閱讀討論各設(shè)計(jì)文檔及代碼來檢查其是否有錯(cuò)槽华。審查可獨(dú)自或會(huì)議形式進(jìn)行壹蔓。走查對(duì)象只是代碼,不含文檔猫态。代碼走查以小組形式佣蓉,測試人員提供用例,參與者模擬計(jì)算機(jī)亲雪,跟蹤程序執(zhí)行過程勇凭,對(duì)其邏輯和功能提問,并通過討論發(fā)現(xiàn)問題义辕。

靜態(tài)測試效率較高虾标,且要求測試者有豐富經(jīng)驗(yàn)。

動(dòng)態(tài)測試

兩種流行技術(shù)——黑盒測試灌砖、白盒測試璧函。

1.黑盒測試

根據(jù)設(shè)計(jì)用例的方法不同,黑盒測試包括等價(jià)劃分法基显、邊界值分析法蘸吓、錯(cuò)誤推測法、因果圖法等续镇。白盒測試包括邏輯覆蓋測試方法美澳、基本路徑測試等方法。

1.1等價(jià)類劃分法摸航?把程序的輸入域劃分為若干子集制跟,再從每個(gè)子集中選少數(shù)代表性數(shù)據(jù)為用例,選取的數(shù)據(jù)對(duì)揭露程序錯(cuò)誤都是等效的酱虎。等價(jià)類分為有效等價(jià)類(對(duì)程序規(guī)格說明有意義的雨膨、合理的輸入數(shù)據(jù)所構(gòu)成的集合)和無效等價(jià)類。

劃分等價(jià)類原則读串?

(1)若輸入條件規(guī)定了取值范圍或個(gè)數(shù)聊记,則可確定一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類

(2)若輸入條件規(guī)定了輸入值的集合或是規(guī)定了“必須如何”的條件撒妈,則可確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類

(3)若輸入條件是布爾表達(dá)式,則可分為一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類

(4)若輸入條件是一組值且程序?qū)Σ煌闹涤胁煌奶幚矸绞脚偶啵瑒t每個(gè)允許的輸入值對(duì)應(yīng)一個(gè)有效等價(jià)類狰右,不允許的輸入值為一個(gè)無效等價(jià)類

(5)若規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則就可以劃分出一個(gè)有效的等價(jià)類(符合規(guī)則)和若干個(gè)無效的等價(jià)類(從各角度違反規(guī)則)。設(shè)計(jì)測試用例步驟舆床?

(1)對(duì)每個(gè)輸入和外部條件進(jìn)行等價(jià)類劃分棋蚌,畫出等價(jià)類表,并為每個(gè)等價(jià)類進(jìn)行編號(hào)

(2)設(shè)計(jì)一個(gè)測試用例挨队,使其盡可能多覆蓋有效等價(jià)類谷暮,重復(fù)這一步直至所有的有效等價(jià)類被覆蓋

(3)為每一個(gè)無效等價(jià)類設(shè)計(jì)一個(gè)測試用例

1.2邊界值分析法?是一種補(bǔ)充等價(jià)類劃分法的黑盒測試方法盛垦,它是選擇等價(jià)類邊界的測試用例湿弦。大量的錯(cuò)誤常發(fā)生在輸入和輸出范圍的邊界上不是范圍內(nèi)部。邊界值:最大/最小腾夯、首位/末位颊埃、上/下、最快/最慢俯在、最高/最低竟秫、最長/最短、空/滿等跷乐。

設(shè)計(jì)原則肥败?

(1)若規(guī)定了取值范圍,應(yīng)以范圍的邊界及剛剛超范圍的邊界外的值為測試用例

(2)若規(guī)定了值得個(gè)數(shù)愕提,應(yīng)以最大馒稍、最小個(gè)數(shù)和稍小于最小和稍大于最大個(gè)數(shù)作為測試用例

(3)針對(duì)每個(gè)輸出條件,也使用上面的兩條原則

(4)若程序規(guī)格說明書中提到的輸入或輸出范圍是有序集合浅侨,應(yīng)注意選取有序集的第一個(gè)和最后一個(gè)為測試用例

(5)分析規(guī)格說明書纽谒,找出其他可能

1.3錯(cuò)誤推測法?很大程度靠直覺和經(jīng)驗(yàn)進(jìn)行如输」那基本思想?是列舉出程序中可能有的錯(cuò)誤和易發(fā)生錯(cuò)誤的特殊情況不见,且根據(jù)它們選測試方案澳化。

1.4因果圖法?(若設(shè)計(jì)階段已用到?jīng)Q策表則可直接使用而不必再畫因果圖)

等價(jià)類劃分法和邊界值分析法都主要考慮的是輸入條件稳吮,沒考慮輸入條件的各組合及各輸入條件間的相互制約關(guān)系缎谷。考慮描述多種條件的組合灶似,相應(yīng)地產(chǎn)生多個(gè)動(dòng)作的形式來考慮設(shè)計(jì)測試用例列林,這就需要利用因果圖法瑞你。因果圖法?是從自然語言書寫的程序規(guī)格說明書中尋找因果關(guān)系希痴,即輸入條件與輸出和程序狀態(tài)的改變者甲,通過因果圖產(chǎn)生判定表。

設(shè)計(jì)用例步驟润梯?

(1)分析程序規(guī)格說明書中的描述中过牙,哪些是原因、結(jié)果纺铭,原因常是輸入條件或輸入條件的等價(jià)類,而結(jié)果常是輸出條件

(2)分析程序規(guī)格說明書中描述的語義內(nèi)容刀疙,并將其表示成連接各個(gè)原因與各個(gè)結(jié)果的因果圖

(3)由于語法或環(huán)境限制舶赔,有些原因和結(jié)果的組合的情況是不可能出現(xiàn)的,為表明這些特定的情況谦秧,在因果圖上使用若干特殊符號(hào)標(biāo)明約束條件

(4)把因果圖轉(zhuǎn)化為決策表

(5)為決策表中每一列表示的情況設(shè)計(jì)測試用例

1.5決策表法竟纳?是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況的工具,可以把復(fù)雜邏輯關(guān)系和多種條件組合的情況表達(dá)得比較明確疚鲤。決策表組成:條件樁+條件項(xiàng)+動(dòng)作樁+動(dòng)作項(xiàng)

決策表建立步驟锥累?

(1)確定規(guī)則個(gè)數(shù)

(2)列出所有條件樁和動(dòng)作樁

(3)填入條件項(xiàng)

(4)填入動(dòng)作項(xiàng),制定初始決策表

(5)簡化集歇、合并相似規(guī)則或相同動(dòng)作

1.6場景法桶略?用例場景是通過描述流經(jīng)用例的路徑來確定的過程,這個(gè)流經(jīng)過程要從用例開始到結(jié)束遍歷其中所有的基本流和備選流

應(yīng)用場景法進(jìn)行黑盒測試步驟诲宇?

(1)根據(jù)規(guī)格說明际歼,描述出程序的基本流和各個(gè)備選流

(2)根據(jù)基本流和各個(gè)備選流生成不同的場景

(3)對(duì)每一場景生成相應(yīng)的測試用例

(4)對(duì)生成的所有測試用例進(jìn)行復(fù)審,去掉多余的測試用例姑蓝,對(duì)每一測試用例確定測試數(shù)據(jù)

1.7黑盒測試選擇

經(jīng)驗(yàn)之談

(1)任何情況下都必須選擇邊界值分析法鹅心,此法設(shè)計(jì)的測試用例發(fā)現(xiàn)程序錯(cuò)誤能力最強(qiáng)

(2)必要時(shí)用等價(jià)類劃分法補(bǔ)充些測試用例

(3)用錯(cuò)誤推測法再追加些測試用例

(4)若程序的功能說明中含有輸入條件的組合情況,則可選用因果圖法和決策表法

2.白盒測試

關(guān)注軟件內(nèi)部細(xì)節(jié)和邏輯結(jié)構(gòu)纺荧,利用構(gòu)件層設(shè)計(jì)的一部分而描述的控制結(jié)構(gòu)來生成測試用例旭愧。

2.1代碼檢查法

變量檢查、命名和類型審查宙暇、程序邏輯審查输枯、程序語法檢查和程序結(jié)構(gòu)檢查。準(zhǔn)備客给?需求描述文檔用押、程序設(shè)計(jì)文檔、程序源碼清單靶剑、代碼編寫標(biāo)準(zhǔn)和代碼錯(cuò)誤檢查表蜻拨〕爻洌可用工具。

2.2靜態(tài)結(jié)構(gòu)分析法

是種對(duì)代碼機(jī)械性的缎讼、程序化的特性進(jìn)行分析的方法收夸。可用工具血崭。

2.3程序插樁技術(shù)

借助往程序種插入操作來實(shí)現(xiàn)測試目的的方法卧惜。(如輸出語句)

2.4邏輯覆蓋法

2.5基本路徑法

2.6白盒測試方法選擇

(1)先靜態(tài)再動(dòng)態(tài)的組合方式,先代碼檢查和靜態(tài)結(jié)構(gòu)分析再覆蓋測試

(2)靜態(tài)分析結(jié)構(gòu)為先導(dǎo)夹纫,通過代碼檢查和動(dòng)態(tài)測試對(duì)靜態(tài)分析結(jié)果做確認(rèn)

(3)覆蓋測試為白盒測試重點(diǎn)咽瓷,可用基本路徑法達(dá)到語句覆蓋標(biāo)準(zhǔn),對(duì)軟件重點(diǎn)模塊舰讹,應(yīng)用覆蓋標(biāo)準(zhǔn)衡量測試的覆蓋率

(4)單元測試階段以代碼檢查茅姜、覆蓋測試為主,集成測試階段要增加靜態(tài)結(jié)構(gòu)分析月匣,在系統(tǒng)測試階段根據(jù)黑盒測試結(jié)果采用相應(yīng)的白盒測試方法

比較

黑盒測試:不涉及程序結(jié)構(gòu)钻洒,用軟件規(guī)格說明書生成測試用例,可適用從單元測試到系統(tǒng)驗(yàn)收測試锄开,某些代碼得不到測試

白盒測試:考察程序邏輯解結(jié)構(gòu)素标,用程序結(jié)構(gòu)信息生成測試用例,主要適用單元測試和集成測試

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末萍悴,一起剝皮案震驚了整個(gè)濱河市头遭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌退腥,老刑警劉巖任岸,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異狡刘,居然都是意外死亡享潜,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門嗅蔬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剑按,“玉大人,你說我怎么就攤上這事澜术∫蘸” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵鸟废,是天一觀的道長猜敢。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么缩擂? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任鼠冕,我火速辦了婚禮,結(jié)果婚禮上胯盯,老公的妹妹穿的比我還像新娘懈费。我一直安慰自己,他們只是感情好博脑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布憎乙。 她就那樣靜靜地躺著,像睡著了一般叉趣。 火紅的嫁衣襯著肌膚如雪泞边。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天疗杉,我揣著相機(jī)與錄音繁堡,去河邊找鬼。 笑死乡数,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的闻牡。 我是一名探鬼主播净赴,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼罩润!你這毒婦竟也來了玖翅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤割以,失蹤者是張志新(化名)和其女友劉穎金度,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體严沥,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡猜极,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了消玄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跟伏。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖翩瓜,靈堂內(nèi)的尸體忽然破棺而出受扳,到底是詐尸還是另有隱情蹄葱,我是刑警寧澤螟凭,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站晶通,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏华望。R本人自食惡果不足惜蕊蝗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望立美。 院中可真熱鬧匿又,春花似錦、人聲如沸建蹄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洞慎。三九已至痛单,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間劲腿,已是汗流浹背旭绒。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留焦人,地道東北人挥吵。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像花椭,于是被迫代替她去往敵國和親忽匈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

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

  • 1.測試與軟件模型 軟件開發(fā)生命周期模型指的是軟件開發(fā)全過程矿辽、活動(dòng)和任務(wù)的結(jié)構(gòu)性框架丹允。軟件項(xiàng)目的開發(fā)包括:需求、設(shè)...
    Mr希靈閱讀 21,961評(píng)論 7 278
  • 1.測試與軟件模型 軟件開發(fā)生命周期模型指的是軟件開發(fā)全過程袋倔、活動(dòng)和任務(wù)的結(jié)構(gòu)性框架雕蔽。軟件項(xiàng)目的開發(fā)包括:需求、設(shè)...
    宇文臭臭閱讀 6,725評(píng)論 5 100
  • 文章來自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鵬閱讀 9,193評(píng)論 2 126
  • 1.問:你在測試中發(fā)現(xiàn)了一個(gè) bug 宾娜,但是開發(fā)經(jīng)理認(rèn)為這不是一個(gè) bug 批狐,你應(yīng)該怎樣解決。 首先碳默,將問題提...
    qianyewhy閱讀 9,259評(píng)論 4 123
  • 等價(jià)類劃分方法: 一.方法簡介 1.定義是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個(gè)...
    繼續(xù)hug閱讀 5,599評(píng)論 1 16