以下是測(cè)試專家James Whittaker在HTBS(How To Break Software)中以失敗模型為基礎(chǔ)介紹的一些快速測(cè)試方法,這里進(jìn)行補(bǔ)充和調(diào)整,并同步更新到我們的測(cè)試知識(shí)共享庫(kù)中,使用時(shí)可靈活增刪改查。
為宿州等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及宿州網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站制作、宿州網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
嘗試各種輸入以觸發(fā)軟件的所有錯(cuò)誤消息
軟件處理錯(cuò)誤輸入的常見方式有三種:
1.輸入過(guò)濾:濾除錯(cuò)誤的數(shù)據(jù)
2.輸入檢查:檢查輸入并報(bào)告錯(cuò)誤
3.異常處理:當(dāng)錯(cuò)誤輸入產(chǎn)生故障時(shí),異常處理代碼會(huì)捕獲異常并加以補(bǔ)救。
正確編寫以上代碼需周密思考和反復(fù)測(cè)試,稍有不慎就可能引入缺陷 "
采用極限值測(cè)試、邊界值測(cè)試、非法值測(cè)試、壓力測(cè)試等方法來(lái)測(cè)試用戶輸入
強(qiáng)制讓軟件使用默認(rèn)值
不同模塊由不同程序員編寫,他們可能期望不同的默認(rèn)值 ,這種不一致性會(huì)導(dǎo)致錯(cuò)誤
1.接受所有默認(rèn)值,然后提交
2.使用空值
3.將默認(rèn)值改為另一個(gè)值,然后再改回來(lái)
4.將默認(rèn)值改為另一個(gè)值,然后改為空值"
探索允許的字符集和數(shù)據(jù)類型
常見問(wèn)題:
1.字符集:有些軟件只支持特定編碼的字符集,輸入其他編碼的字符會(huì)導(dǎo)致錯(cuò)誤
2.編程語(yǔ)言:有些軟件會(huì)將用戶輸入作為程序來(lái)執(zhí)行,這導(dǎo)致了許多問(wèn)題,如SQL注入
3.OS:OS會(huì)禁止創(chuàng)建一些特定名字的文件。一些軟件在西文OS上不能正確顯示中文字符
測(cè)試了解軟件、編程語(yǔ)言、實(shí)現(xiàn)技術(shù)、OS對(duì)字符集和數(shù)據(jù)的期望與限制,然后使用對(duì)它們而言具有特殊含義的字符串或數(shù)據(jù)進(jìn)行***
令輸入緩沖區(qū)溢出
軟件未考慮輸入值超長(zhǎng)、超大的情況,導(dǎo)致數(shù)值計(jì)算溢出或緩沖區(qū)溢出
常見測(cè)試想法:
1.輸入超長(zhǎng)的字符串,字符串最好類似于“中文中文數(shù)字1234567中文...”有助于定位導(dǎo)致錯(cuò)誤的長(zhǎng)度
2.輸入極大值(針對(duì)加法和乘法計(jì)算)、負(fù)的極大值(針對(duì)減法計(jì)算)、很接近0的值(針對(duì)除法計(jì)算)等"
測(cè)試一組相關(guān)變量的取值組
當(dāng)多個(gè)程序員共同開發(fā)一段代碼時(shí),他們的代碼所產(chǎn)生的數(shù)值可能不能正常協(xié)作。
此外,程序員還會(huì)用復(fù)雜的嵌套if語(yǔ)句來(lái)檢查多個(gè)變量,這些代碼不容易編寫,更容易在維護(hù)時(shí)出錯(cuò)。
測(cè)試人員通過(guò)調(diào)查軟件需求和實(shí)現(xiàn),以識(shí)別真正相關(guān)的變量,它們通常屬于同一個(gè)數(shù)據(jù)結(jié)構(gòu)或參與到同一項(xiàng)計(jì)算中。
然后,根據(jù)軟件使用它們的方式設(shè)計(jì)Case。
也可使用組合測(cè)試工具來(lái)產(chǎn)生Case
重復(fù)輸入多次
軟件可能不了解它在空間和時(shí)間上的限制,當(dāng)重復(fù)操作耗盡其資源時(shí),它會(huì)失敗
測(cè)試反復(fù)執(zhí)行一些消耗較多資源的操作,或反復(fù)執(zhí)行一些大量數(shù)據(jù)的操作。如,在測(cè)試在線商城時(shí),測(cè)試持續(xù)向購(gòu)物車中添加貨品,創(chuàng)建出一個(gè)包含許多商品的“超級(jí)訂單”。該訂單可能導(dǎo)致提交失敗,或令未來(lái)的訂單處理遇到困難。