qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          探索性測(cè)試(四):探索性測(cè)試并不是快速測(cè)試

          快速測(cè)試也是一種測(cè)試的方法,它既可以照本宣科的進(jìn)行,亦可以探索的方式進(jìn)行。盡管一個(gè)使用高度探索性方法進(jìn)行測(cè)試的測(cè)試員可能會(huì)執(zhí)行很多快速測(cè)試,而快速測(cè)試也通常是運(yùn)用探索性測(cè)試方法時(shí)的重要因素。但是,快速測(cè)試和探索性測(cè)試并不是一樣的。

            快速測(cè)試是需要少量時(shí)間或一點(diǎn)精力去準(zhǔn)備和執(zhí)行的廉價(jià)測(cè)試。這類測(cè)試甚至不需要具備與待測(cè)試的應(yīng)用程序相關(guān)的大量知識(shí)或相關(guān)的業(yè)務(wù)領(lǐng)域知識(shí),但它們有助于快速地獲取新的信息。快速測(cè)試不是強(qiáng)調(diào)廣泛和完整,它的目的是用最低的成本快速揭示信息。

            快速測(cè)試是了解產(chǎn)品、識(shí)別區(qū)域風(fēng)險(xiǎn)及薄弱環(huán)節(jié)和困惑部分的一個(gè)好方法。一個(gè)測(cè)試員幾乎總是在某個(gè)測(cè)試活動(dòng)中同時(shí)進(jìn)行一兩個(gè)其它測(cè)試活動(dòng)。作為最開始的活動(dòng),一組快速測(cè)試有助于一個(gè)冒煙測(cè)試或正確測(cè)試的進(jìn)行。幾輪相對(duì)無計(jì)劃、非正式的快速測(cè)試可以幫助你發(fā)現(xiàn)或制定出一個(gè)更全面或更正式的測(cè)試計(jì)劃。

            在快速軟件測(cè)試類別中,James Beach 和我提供了許多快速測(cè)試的例子。你將會(huì)注意到其中的一些例子被成為旅行。注意,并不是所有的旅行都是快速進(jìn)行的,而且并非所有的快速測(cè)試都是旅行。

            幸福的路徑

            以你預(yù)計(jì)的、終端用戶可能進(jìn)行的方式,從開始到結(jié)束完整地執(zhí)行一個(gè)任務(wù)。以最簡(jiǎn)單的、用戶最可能的方式、最直截了當(dāng)?shù)姆绞绞褂迷摦a(chǎn)品,正如最樂觀的程序員或設(shè)計(jì)師想象的用戶可能進(jìn)行的方式。尋找可能使一個(gè)通情達(dá)理的人困惑、遲緩或不快的任何問題。Cem Kaner 有時(shí)稱這種測(cè)試為“認(rèn)同測(cè)試”。 傾向于去了解該產(chǎn)品,而不是發(fā)現(xiàn)故障。如果你的確發(fā)現(xiàn)明顯的問題,那能對(duì)于該產(chǎn)品來說是個(gè)壞消息。

            變化的旅行

            使用一個(gè)產(chǎn)品,尋找可變因素并使其發(fā)生改變。使其在每個(gè)層面盡可能不同。如果你使用快速檢測(cè)的方法來了解,那就要尋找和把重要的變量歸類。尋找他們潛在的關(guān)系。當(dāng)我們第一次接觸一個(gè)產(chǎn)品時(shí),識(shí)別和探索變化是我們測(cè)試基本結(jié)構(gòu)的一部分。

            抽樣數(shù)據(jù)旅行

            利用任何你能用到的所有的抽樣數(shù)據(jù)。對(duì)于某一種類型的快速測(cè)試,最好使用一個(gè)簡(jiǎn)單的值,它的效果是容易理解或計(jì)算的。而對(duì)于另一種類型的快速測(cè)試,選擇復(fù)雜的或者極端的數(shù)據(jù)集。觀察數(shù)據(jù)輸入的單元或者格式,并且試圖改變它們。挑戰(zhàn)程序設(shè)計(jì)器認(rèn)為會(huì)拒絕或者不恰當(dāng)?shù)臄?shù)據(jù)。一旦你關(guān)于合理或者中度質(zhì)疑數(shù)據(jù)得到處理,你可以選擇嘗試去做。。。。。。

            攻擊性輸入

            發(fā)現(xiàn)輸入的來源并企圖違反限制的輸入。嘗試一些異常數(shù)據(jù)的例子:期望大批輸入?yún)s輸入零;期望正數(shù)卻使用負(fù)數(shù);期望大小合適的數(shù)卻輸入巨大的數(shù);僅支持處理數(shù)字的地方使用字母;反之亦然。在一個(gè)領(lǐng)域使用幾何擴(kuò)展字符串。雙倍長(zhǎng)度直到產(chǎn)品崩潰。以不同于你想“正常”或“預(yù)期”想法的使用字符。給系統(tǒng)注入任何類型的噪音,看看會(huì)發(fā)生什么。

            人們偏向去討論非常多的攻擊性輸入。或許是由于攻擊性輸入被黑客使用來破壞系統(tǒng);或許由于攻擊性輸入相對(duì)更直截了當(dāng)。或許由于它相對(duì)比較容易描述。或許由于攻擊性輸入會(huì)產(chǎn)生巨大的意想不到的結(jié)果。然而它們絕不是唯一一種快速測(cè)試,當(dāng)然也不是使用探索性方法去測(cè)試的唯一方法。

            文檔旅行

            查閱聯(lián)機(jī)幫助或用戶手冊(cè),并找到一些關(guān)于如何完成一些有趣活動(dòng)的使用說明。明確的做這些。然后通過使用說明即興發(fā)揮并嘗試去做。如果你的產(chǎn)品有一個(gè)用戶說明,那就按照說明操作。你可能發(fā)現(xiàn)產(chǎn)品或者文檔的問題。無論哪種方式,你已經(jīng)發(fā)現(xiàn)一個(gè)潛在的很重要的不一致性。即使你不暴漏一個(gè)問題,你仍然會(huì)了解這個(gè)產(chǎn)品。

            文件旅行

            看看存在exe 文件的文件夾。檢查目錄結(jié)構(gòu),包含的分支。尋找Read ME、幫助文件、日志文件、安裝腳步、conf 、ini 、rc文件。審視DLLs的名字,并推斷它們可能包含的功能或它們的缺失可能會(huì)破壞應(yīng)用程序的方式。使用任何你有的輔助材料來引導(dǎo)和集中你的行為。另一種為這類測(cè)試收集信息的方法是:使用工具去監(jiān)控這個(gè)安裝,把工具的輸出作為一個(gè)起點(diǎn)。

            復(fù)雜的旅行

            使用一個(gè)產(chǎn)品,尋找最復(fù)雜的特性、最有挑戰(zhàn)的數(shù)據(jù)集、最大的依賴關(guān)系。不僅要尋找隱藏的角落和縫隙,而且要尋找程序類似的主要交通區(qū)域,繁忙市場(chǎng),辦公大樓,火車站,這些地方有大量的互動(dòng),bug 可能混跡于人群之中。

            菜單、窗口和會(huì)話旅行

            使用一個(gè)產(chǎn)品并尋找所有的菜單(主菜單和上下文菜單)、菜單選項(xiàng)、窗口、工具欄、圖標(biāo)和其它的控制欄,把所有的都運(yùn)行一遍,對(duì)它們進(jìn)行分類,或者構(gòu)建一個(gè)思維導(dǎo)圖。

            鍵盤和鼠標(biāo)旅行

            使用一個(gè)產(chǎn)品,尋找所有你需要用到鼠標(biāo)和鍵盤的地方。在鍵盤上敲擊所有的鍵,敲擊所有f鍵,Enter 鍵、Tab 鍵、Esc 、Backspace; 通過字母順序運(yùn)行,結(jié)合每個(gè)鍵與轉(zhuǎn)變Ctrl 、Alt、 Windows鍵CMD或其它選項(xiàng),在其它平臺(tái)上,歐洲的AltGr鍵。單擊(右,左,左右同時(shí),雙擊,三重)任何東西。按鍵的時(shí)候與shifted一起按。

            中斷

            開始一個(gè)活動(dòng)并在中途停止它們。在不合適的時(shí)候終止它們。使用Cancle按鈕,O/S級(jí)中斷(ctrl-alt-delete或任務(wù)管理器)。安排其他程序中斷(比如屏幕保護(hù)程序或病毒檢查)。同時(shí)嘗試暫停一個(gè)活動(dòng)并返回。把你的筆記本電腦進(jìn)入睡眠或休眠模式。

            破壞

            當(dāng)系統(tǒng)在一個(gè)正常的狀態(tài),開始使用一個(gè)功能,然后改變其狀態(tài)。當(dāng)文件處于編輯狀態(tài)時(shí)刪除它;彈出磁盤;拔出網(wǎng)線或電源線,通過類似的方法獲得機(jī)器的不正常狀態(tài)。這和中斷相似,除非你期望功能自己通過檢測(cè)不再能安全運(yùn)行來自我中斷。

            調(diào)整

            設(shè)置一些參數(shù)到一個(gè)特定的值,然后,在隨后的任意時(shí)候,在沒有重置或重新創(chuàng)建包含文檔或數(shù)據(jù)結(jié)構(gòu)的情況下,重置那個(gè)值為其它別的東西。程序員通常期待通過GUI進(jìn)行對(duì)配置和變量進(jìn)行調(diào)整。黑客和有創(chuàng)見的人希望找到其他方法來改變這些值。

            機(jī)器打樁

            不管你在做什么,做更多的事,以及在這些事情上做其它的標(biāo)注。獲得更多的過程;嘗試建立更多目前同時(shí)存在的狀態(tài)。調(diào)用對(duì)話框和非模式對(duì)話框嵌套。在多用戶系統(tǒng)情況下,讓更多的人使用該系統(tǒng)或使用工具模擬這種狀態(tài)。如果你的測(cè)試似乎引發(fā)奇怪的行為,在同一個(gè)地方堆積,直到讓這個(gè)異常變得更極端。

            連續(xù)的使用

            測(cè)試時(shí),不要重啟系統(tǒng)。讓窗口和文件打開,讓磁盤和內(nèi)存使用量掛載。你希望隨著時(shí)間的推移,系統(tǒng)表現(xiàn)出失去了對(duì)任務(wù)的跟蹤或者陷入了困境。

            功能相動(dòng)

            發(fā)現(xiàn)各個(gè)功能互動(dòng)或共享數(shù)據(jù)交互的地方。尋找任何相互依賴性。探索它們,開發(fā)它們和給它們加壓。尋找程序重復(fù)的地方或允許你在不同的地方做同樣的事情的地方。例如,對(duì)于數(shù)據(jù)顯示在不同的方法和不同的地方,尋找不一致性。再比如,把所有的表單中的字段設(shè)置到它們的最大值,然后遍歷報(bào)告生成器。

          召喚幫助

            在一些操作或活動(dòng)中使用調(diào)出上下文相關(guān)的幫助功能。查看這個(gè)文件的幫助文件是否有效地解答了問題,或者是否它通過在屏幕的簡(jiǎn)單重述低估了用戶的智商;甚至這種幫助是否切實(shí)可用。

            瘋狂點(diǎn)擊

            你有沒有注意到一只貓或一個(gè)孩子可以輕松是系統(tǒng)崩潰?測(cè)試不只是“敲打鍵盤”,但這句話也并非空穴來風(fēng)。試著去敲打鍵盤。盡量到處點(diǎn)擊。屏幕上每平方厘米都要點(diǎn)擊到,直到你找到一個(gè)秘密按鈕。

            鞋測(cè)試

            對(duì)于一個(gè)非常廉價(jià)的壓力測(cè)試,使用鍵盤上的自動(dòng)重復(fù)鍵。尋找按一個(gè)鍵可用進(jìn)行的對(duì)話框,例如,另一個(gè)對(duì)話框(可能是一個(gè)錯(cuò)誤消息),這個(gè)對(duì)話框的按鍵與能返回到第一個(gè)對(duì)話框的按鍵相關(guān)。給鍵盤穿上鞋并讓其行走。讓這種測(cè)試運(yùn)行一個(gè)小時(shí),如果有一個(gè)資源或內(nèi)存泄露,這種測(cè)試可以暴漏它。注意,一些輕量級(jí)的自動(dòng)化可你為你提供虛擬的鞋。

            閃爍測(cè)試

            找出產(chǎn)品的某一個(gè)方面,這個(gè)方面能產(chǎn)生大量的數(shù)據(jù)或能夠迅速進(jìn)行一些操作。瀏覽一個(gè)長(zhǎng)日志文件過瀏覽數(shù)據(jù)庫記錄,故意滾動(dòng)太快而看不到細(xì)節(jié)。注意線長(zhǎng)度的趨勢(shì),或數(shù)據(jù)的外觀及形狀。使用Excel 的條件格式特征來突出數(shù)據(jù)細(xì)胞之間的有趣的差異。軟化你的注意力。如果你有一個(gè)具有銀行顯示器的測(cè)試實(shí)驗(yàn)室,掃描或?yàn)g覽它們;不正常的行為模式能出人意外的容易識(shí)別。

            錯(cuò)誤消息的遺留

            實(shí)現(xiàn)功能是對(duì)程序員的獎(jiǎng)賞。而由于一些錯(cuò)誤或例外會(huì)導(dǎo)致一個(gè)心理問題:標(biāo)簽本身表明某處出錯(cuò)了。人們往往會(huì)主動(dòng)避免思考故障或錯(cuò)誤,因此,程序員有時(shí)會(huì)糟糕地處理一些錯(cuò)誤。這時(shí)候,使錯(cuò)誤信息發(fā)生并仔細(xì)檢測(cè)。注意錯(cuò)誤和正常路徑之間的細(xì)微的行為差異。使用自動(dòng)化使相同的錯(cuò)誤出現(xiàn)成千上萬次。

            資源匱乏

            逐步降低內(nèi)存、磁盤空間、顯示分辨率和其他資源。保持產(chǎn)品資源匱乏,直至它崩潰,或者優(yōu)雅的降低功能(這是我們希望的)

            多個(gè)實(shí)例

            同時(shí)運(yùn)行大量的應(yīng)用實(shí)例。開放、使用、更新和保存相同的文件。在不同的窗口操作。注意對(duì)資源的競(jìng)爭(zhēng)和配置。

            瘋狂配置

            用非標(biāo)準(zhǔn)的或非默認(rèn)的方式來修改操作系統(tǒng)的配置。這種操作在安裝這個(gè)產(chǎn)品之前或之后都可以進(jìn)行。打開“高對(duì)比度”可訪問性模式,或改變本地話默認(rèn)。改變系統(tǒng)硬盤的字母。把東西放在分默認(rèn)目錄。使用注冊(cè)表編輯器(用于注冊(cè)中心條目)或文本編輯器(用于初始化文件)的方式來破壞你程序的設(shè)置,這都將引發(fā)一個(gè)錯(cuò)誤消息,恢復(fù)或引出一個(gè)正常的默認(rèn)行為。

            重述:快速測(cè)試有可能是高度探索性的,但它們只是探索性測(cè)試的一個(gè)種類。不要輕信快速測(cè)試或某些類型的快速測(cè)試都是探索性測(cè)試。

          相關(guān)鏈接:

          探索性測(cè)試(一):探索性測(cè)試不是游覽

          探索性測(cè)試(二):探索性測(cè)試不是終結(jié)性測(cè)試

          探索性測(cè)試(三):探索性測(cè)試并不是不使用工具的測(cè)試

          posted on 2013-03-08 15:08 順其自然EVO 閱讀(213) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄

          <2013年3月>
          242526272812
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 祁门县| 米林县| 福州市| 鞍山市| 思南县| 漳平市| 西畴县| 界首市| 昌宁县| 北宁市| 丹江口市| 巨鹿县| 东山县| 余庆县| 阳山县| 馆陶县| 大余县| 都江堰市| 曲麻莱县| 阿鲁科尔沁旗| 崇明县| 乐安县| 汉源县| 阳西县| 定结县| 桂林市| 桓台县| 大化| 葵青区| 高州市| 潮州市| 孝义市| 仁化县| 广灵县| 汉源县| 景东| 肥城市| 元阳县| 双峰县| 霸州市| 安徽省|