《軟件測(cè)試的藝術(shù)》筆記總結(jié)

軟件測(cè)試的藝術(shù)?

?第一章?????? 一次自評(píng)價(jià)測(cè)試 所謂軟件測(cè)試瞭空,就是一個(gè)過(guò)程或一系列過(guò)程帆吻,用來(lái)確認(rèn)計(jì)算機(jī)代碼完成了其應(yīng)該完成的功能尤揣,不執(zhí)行其不該有的操作邀层。?

?第二章?????? 軟件測(cè)試的心理學(xué)和經(jīng)濟(jì)學(xué) 2.1 軟件測(cè)試的心理學(xué) 測(cè)試的定義:測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程鞭缭。 2.2軟件測(cè)試的經(jīng)濟(jì)學(xué) 2.2.1 黑盒測(cè)試 黑盒測(cè)試是一種重要的測(cè)試策略鼻由,又稱為數(shù)據(jù)驅(qū)動(dòng)的測(cè)試或輸入/輸出驅(qū)動(dòng)的測(cè)試省骂。使用這種測(cè)試方法時(shí)抵窒,將程序視為一個(gè)黑盒子渐行。測(cè)試目標(biāo)與程序的內(nèi)部機(jī)制和結(jié)構(gòu)完全無(wú)關(guān)轰坊。而是將重點(diǎn)集中放在發(fā)現(xiàn)程序不按其規(guī)范正確運(yùn)行的環(huán)境條件铸董。 窮舉輸入測(cè)試 ?2.2.2 白盒測(cè)試 或稱邏輯驅(qū)動(dòng)的測(cè)試,允許我們檢查程序的內(nèi)部結(jié)構(gòu)肴沫。這種測(cè)試策略對(duì)程序的邏輯結(jié)構(gòu)進(jìn)行檢查粟害,從中獲取測(cè)試數(shù)據(jù)。 窮舉路徑測(cè)試 2.3 軟件測(cè)試的原則 原則1:測(cè)試用例中一個(gè)必需部分是對(duì)預(yù)期輸出或結(jié)果的定義 原則2:程序員應(yīng)當(dāng)避免測(cè)試自己編寫(xiě)的程序 原則3:編寫(xiě)軟件的組織不應(yīng)當(dāng)測(cè)試自己編寫(xiě)的軟件 更經(jīng)濟(jì)的方法是由客觀,獨(dú)立的第三方進(jìn)行測(cè)試颤芬。 原則4:應(yīng)當(dāng)徹底檢查每個(gè)測(cè)試的執(zhí)行結(jié)果 原則5:測(cè)試用例的編寫(xiě)不僅應(yīng)當(dāng)根據(jù)有效和預(yù)期的輸入情況悲幅,而且也應(yīng)當(dāng)根據(jù)無(wú)效和未預(yù)料到的輸入情況。 原則6:檢查程序是否“未做其應(yīng)該做的”僅是測(cè)試的一半站蝠,測(cè)試的另一半是檢查程序是否“做了其不應(yīng)該做的”汰具。 原則7:應(yīng)避免測(cè)試用例用后即棄,除非軟件本身就是一個(gè)一次性的軟件 原則8:計(jì)劃測(cè)試工作時(shí)不應(yīng)默許假定不會(huì)發(fā)現(xiàn)錯(cuò)誤 原則9:程序某部分存在更多錯(cuò)誤的可能性菱魔,與該部分已發(fā)現(xiàn)錯(cuò)誤的數(shù)量成正比 原則10:軟件測(cè)試是一項(xiàng)極富創(chuàng)造性留荔、極具智力挑戰(zhàn)性的工作 2.4 小結(jié) 在閱讀本書(shū)接下來(lái)的內(nèi)容時(shí),請(qǐng)牢記以下三個(gè)重要的測(cè)試原則: 軟件測(cè)試是為發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程 一個(gè)好的測(cè)試用例具有較高的發(fā)現(xiàn)某個(gè)尚未發(fā)現(xiàn)的錯(cuò)誤的可能性 一個(gè)成功的測(cè)試用例能夠發(fā)現(xiàn)某個(gè)尚未發(fā)現(xiàn)的錯(cuò)誤

?第三章?????? 代碼檢查澜倦、走查與評(píng)審 3.1 代碼檢查和走查 代碼檢查和走查都要求人們組成一個(gè)小組來(lái)閱讀或直觀檢查特定的程序聚蝶。無(wú)論采用哪種方法,參加者都需要完成一些準(zhǔn)備工作藻治。準(zhǔn)備工作的高潮就是在參加者會(huì)議上進(jìn)行的所謂“頭腦風(fēng)暴會(huì)”碘勉。目標(biāo)是找出錯(cuò)誤,但不必找出改正錯(cuò)誤的方法桩卵。 3.2 代碼檢查 所謂代碼檢查验靡,是以組為單位閱讀代碼,它是一系列規(guī)程和錯(cuò)誤檢查技術(shù)的集合雏节。對(duì)代碼的檢查的大多數(shù)討論都集中在規(guī)程胜嗓、所要填寫(xiě)的表格等。 代碼檢查小組 3.3 用于代碼檢查的錯(cuò)誤列表 3.3.1 數(shù)據(jù)引用錯(cuò)誤 3.3.2 數(shù)據(jù)聲明錯(cuò)誤 3.3.3 運(yùn)算錯(cuò)誤 3.3.4 比較錯(cuò)誤 3.3.5 控制流程錯(cuò)誤 3.3.6 接口錯(cuò)誤 3.3.7 輸入/輸出錯(cuò)誤 3.4 代碼走查 代碼走查會(huì)議的規(guī)程與代碼檢查不相同矾屯,代碼走查的參與者“使用了計(jì)算機(jī)” 3.5 桌面檢查 單人進(jìn)行代碼檢查 3.6 同行評(píng)分

?第四章? 測(cè)試用例的設(shè)計(jì) ??????? 4.1 白盒測(cè)試 ??????? 4.1.1 邏輯覆蓋測(cè)試 ??????? 判定覆蓋和條件覆蓋 ??????? 4.1.2 等價(jià)劃分 ??????? 4.1.4 邊界值分析 ??????? 4.1.5 因果圖 ??????? 4.2 錯(cuò)誤猜測(cè) ??????? 依賴于直覺(jué)的非正規(guī)的過(guò)程?

?第五章?????? 模塊(單元)測(cè)試 模塊測(cè)試(單元測(cè)試)是對(duì)程序中的單個(gè)子程序或子程序或過(guò)程進(jìn)行測(cè)試的過(guò)程兼蕊,也就是說(shuō),一開(kāi)始并不是對(duì)整個(gè)程序進(jìn)行測(cè)試件蚕,而是首先將注意力集中在對(duì)構(gòu)成程序的較小模塊的測(cè)試方面孙技。 5.1 測(cè)試用例設(shè)計(jì) 模塊測(cè)試的測(cè)試用例的設(shè)計(jì)過(guò)程如下:使用一種或多種白盒測(cè)試方法分析模塊的邏輯結(jié)構(gòu),然后使用黑盒測(cè)試方法對(duì)照模塊的規(guī)格說(shuō)明以補(bǔ)充測(cè)試用例排作。 5.2 增量測(cè)試 非增量測(cè)試或者崩潰測(cè)試:先獨(dú)立地測(cè)試每個(gè)模塊牵啦,然后再將這些模塊組裝成完整的程序。 增量測(cè)試或集成:將下一步要測(cè)試的模塊組裝成測(cè)試完成的模塊集合中妄痪,然后再進(jìn)行測(cè)試哈雏。 增量測(cè)試更能發(fā)現(xiàn)問(wèn)題,非增量測(cè)試更便于獨(dú)立執(zhí)行 5.3 自頂向下測(cè)試與自底向上測(cè)試 5.3.1? 自頂向下的測(cè)試 自頂向下的測(cè)試是從程序的頂部或初始模塊開(kāi)始。測(cè)試開(kāi)始之后裳瘪,挑選哪一個(gè)后續(xù)模塊進(jìn)行增量測(cè)試沒(méi)有惟一正確的方法土浸;唯一的原則是:要成為合乎條件的下一個(gè)模塊,至少一個(gè)該模塊的從屬模塊(調(diào)用它的模塊)事先經(jīng)過(guò)了測(cè)試彭羹。 5.3.2 自底向上的測(cè)試 自底向上的策略開(kāi)始于程序中的終端模塊(此類模塊不再調(diào)用其他任何模塊)黄伊。測(cè)試完這些模塊后,同樣沒(méi)有最佳的方法來(lái)挑選要進(jìn)行增量測(cè)試的下一個(gè)模塊派殷;惟一正確的原則是还最,要成為合乎條件的下一個(gè)模塊,該模塊所有的從屬模塊(它調(diào)用的模塊)都已經(jīng)事先經(jīng)過(guò)了測(cè)試毡惜。 5.4 執(zhí)行測(cè)試 使用自動(dòng)化測(cè)試工具可以使測(cè)試過(guò)程中的枯燥勞動(dòng)減至最小拓轻。舉例來(lái)說(shuō),現(xiàn)在已有測(cè)試工具可以降低我們對(duì)驅(qū)動(dòng)模塊的需求经伙。流程分析工具可以列舉出程序中的路徑扶叉,找出從未被執(zhí)行的語(yǔ)句(“不可達(dá)”代碼),以及找出變量在賦值前被使用的實(shí)例帕膜。

?第六章?????? 更高級(jí)別的測(cè)試 6.1 功能測(cè)試 功能測(cè)試是一個(gè)試圖發(fā)現(xiàn)程序與其外部規(guī)格說(shuō)明之間存在不一致的過(guò)程辜梳,外部規(guī)格說(shuō)明是一份從最終用戶的角度對(duì)程序行為的精確描述。 6.2 系統(tǒng)測(cè)試 系統(tǒng)測(cè)試特定的目的是將系統(tǒng)或程序與其初始目標(biāo)進(jìn)行比較 6.2.1 能力測(cè)試 判斷目標(biāo)文檔提及的每一項(xiàng)能力是否都確實(shí)已經(jīng)實(shí)現(xiàn)泳叠。能力測(cè)試的過(guò)程是逐條語(yǔ)句地檢查目標(biāo)文檔,當(dāng)某條語(yǔ)句定義了一個(gè)“要做什么”茶宵,就判斷程序是否滿足危纫。 6.2.2 容量測(cè)試 容量測(cè)試的目的是為了證明程序不能處理目標(biāo)文檔中規(guī)定的數(shù)據(jù)容量。 6.2.3 強(qiáng)度測(cè)試 高強(qiáng)度是指在很短的時(shí)間間隔內(nèi)達(dá)到的數(shù)據(jù)或操作的數(shù)量峰值乌庶。 6.2.4 易用性測(cè)試 程序是否易于使用种蝶? 6.2.5 安全性測(cè)試 6.2.6 性能測(cè)試 6.2.7 存儲(chǔ)測(cè)試 軟件偶爾會(huì)有存儲(chǔ)目標(biāo),舉例來(lái)說(shuō)瞒大,可能描述了程序使用的內(nèi)存和輔存的容量螃征,以及臨時(shí)文件或溢出文件的大小。 6.2.8 配置測(cè)試 比如在多種操作系統(tǒng)下 6.2.9 兼容性/配置/轉(zhuǎn)換測(cè)試 6.2.10 安裝測(cè)試 6.2.11 可靠性測(cè)試 6.2.12 可恢復(fù)性測(cè)試 6.2.13 適用性測(cè)試 6.2.14. 文檔測(cè)試 6.2.15 過(guò)程測(cè)試 在系統(tǒng)測(cè)試中透敌,必須對(duì)所有已規(guī)定的人工過(guò)程盯滚,如系統(tǒng)操作員,數(shù)據(jù)庫(kù)管理員或最終用戶的操作過(guò)程進(jìn)行測(cè)試酗电。 6.2.16 系統(tǒng)測(cè)試的執(zhí)行 系統(tǒng)測(cè)試的執(zhí)行人思考問(wèn)題的方式必須與最終用戶相同 6.3 驗(yàn)收測(cè)試 驗(yàn)收測(cè)試是將程序與其最初的需求及最終用戶當(dāng)前的需要進(jìn)行比較的過(guò)程魄藕。 6.4 安裝測(cè)試 6.5 測(cè)試的計(jì)劃與控制 一個(gè)良好的測(cè)試計(jì)劃應(yīng)包括: 1.目標(biāo)? 2.結(jié)束準(zhǔn)則 3.進(jìn)度 4.責(zé)任 5.測(cè)試用例庫(kù)及標(biāo)準(zhǔn) 6.工具7.計(jì)算機(jī)時(shí)間 8. 硬件配置9.集成 10.跟蹤步驟 11.調(diào)試步驟 12.回歸測(cè)試 ???????? 6.6 測(cè)試結(jié)束準(zhǔn)則 ???????? 對(duì)于功能測(cè)試和系統(tǒng)測(cè)試而言,結(jié)束準(zhǔn)則可能是發(fā)現(xiàn)了既定數(shù)量的錯(cuò)誤撵术,或用完了計(jì)劃的時(shí)間背率,再出現(xiàn)什么都不管,但條件是錯(cuò)誤分析與時(shí)間圖的對(duì)比表明測(cè)試的效率已很低了。?

?第七章? 調(diào)試 ?????? 調(diào)試是執(zhí)行一次成功的測(cè)試之后所要進(jìn)行的工作寝姿。調(diào)試是一個(gè)包含兩個(gè)步驟的過(guò)程交排,從執(zhí)行了一個(gè)成功的測(cè)試用例,發(fā)現(xiàn)了一個(gè)問(wèn)題之后開(kāi)始饵筑。第一步埃篓,確定程序中可疑錯(cuò)誤的準(zhǔn)確性質(zhì)和位置;第二步翻翩,修改錯(cuò)誤都许。 ?????? 7.1 暴力法調(diào)試 ?????? 7.2 歸納法調(diào)試 ?? ????7.3 演繹法調(diào)試 ?????? 7.4 回溯法調(diào)試 ?????? 7.5 測(cè)試法調(diào)試 ?????? 7.6 調(diào)試的原則 ?????? 7.6.1 定位錯(cuò)誤的原則 ?????? 7.6.2 修改錯(cuò)誤的技術(shù) ?????? 7.7 錯(cuò)誤分析

?第八章? 極限測(cè)試 在測(cè)試之前設(shè)計(jì)好所有的測(cè)試用例

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市嫂冻,隨后出現(xiàn)的幾起案子胶征,更是在濱河造成了極大的恐慌,老刑警劉巖桨仿,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件睛低,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡服傍,警方通過(guò)查閱死者的電腦和手機(jī)钱雷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)吹零,“玉大人罩抗,你說(shuō)我怎么就攤上這事〔右危” “怎么了套蒂?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)茫蛹。 經(jīng)常有香客問(wèn)我操刀,道長(zhǎng),這世上最難降的妖魔是什么婴洼? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任骨坑,我火速辦了婚禮,結(jié)果婚禮上柬采,老公的妹妹穿的比我還像新娘欢唾。我一直安慰自己,他們只是感情好粉捻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布匈辱。 她就那樣靜靜地躺著,像睡著了一般杀迹。 火紅的嫁衣襯著肌膚如雪亡脸。 梳的紋絲不亂的頭發(fā)上押搪,一...
    開(kāi)封第一講書(shū)人閱讀 51,165評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音浅碾,去河邊找鬼大州。 笑死,一個(gè)胖子當(dāng)著我的面吹牛垂谢,可吹牛的內(nèi)容都是我干的厦画。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼滥朱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼根暑!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起徙邻,我...
    開(kāi)封第一講書(shū)人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤排嫌,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后缰犁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體淳地,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年帅容,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了颇象。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡并徘,死狀恐怖遣钳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情麦乞,我是刑警寧澤耍贾,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站路幸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏付翁。R本人自食惡果不足惜简肴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望百侧。 院中可真熱鬧砰识,春花似錦、人聲如沸佣渴。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)辛润。三九已至膨处,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背真椿。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工鹃答, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人突硝。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓测摔,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親解恰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子锋八,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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