【讀書筆記】《探索式軟件測試》——第2章:手工測試

? ? 1.軟件缺陷的根源

? ? 軟件失效的主要原因是因?yàn)殚_發(fā)人員沒有理解、預(yù)見或測試所有可以運(yùn)行軟件的環(huán)境。將討論兩種缺陷:程序員引入的缺陷和運(yùn)行環(huán)境導(dǎo)致的缺陷。

? ? 2.缺陷的預(yù)防和檢測

? ? 缺陷預(yù)防技術(shù)包括編寫更好的設(shè)計(jì)規(guī)范、實(shí)施代碼審核、運(yùn)行代碼靜態(tài)分析工具、運(yùn)行單元測試。這些都是從開發(fā)人員角度來說的。但,仍然還存在著以下問題:

? ? a)開發(fā)人員只能是個(gè)糟糕的測試者

? ? b)處于靜止?fàn)顟B(tài)的軟件

? ? c)缺乏數(shù)據(jù)

? ? 測試是一個(gè)動態(tài)的過程,它包括在不同的環(huán)境中運(yùn)行軟件,使用合理的測試數(shù)據(jù),并在較短的測試周期內(nèi)盡可能多地嘗試不同的輸入值。

? ? 缺陷檢測主要有兩種形式:自動化測試和手工測試。自動化測試有個(gè)“預(yù)言家難題”,過度依賴自動化測試也會為程序的最終成功帶來隱患。

? ? 3.手工測試

? ? 手工測試很慢,沒有規(guī)律,不可反復(fù)使用,發(fā)現(xiàn)問題后也不能重視,又不能移植,而且沒有很多可借鑒的經(jīng)驗(yàn)教訓(xùn)來幫助測試人員做的更好。現(xiàn)在是時(shí)候應(yīng)該讓我們在手工測試領(lǐng)域里使用目前最好的技術(shù)了,即“探索性測試”!

? ? 4.手工測試中使用腳本

? ? 腳本用于指定該使用什么輸入、如何判斷正確的軟件輸出結(jié)果。但使用預(yù)先編制的腳本會比較死板,測試人員會使用一些變通手段,即腳本中含有一些粗線條的描述。

? ? 5.探索式測試

? ? 完全拋開或定義比較籠統(tǒng)的腳本,就叫“探索式測試”。對一個(gè)有經(jīng)驗(yàn)并熟練掌握探索式測試法的人來說,這種方式非常強(qiáng)大。探索式測試最適用于新潮的使用“敏捷開發(fā)過程”的應(yīng)用程序。

? ? 探索式測試的缺點(diǎn)在于測試人員有可能在測試中沒有重點(diǎn),漫無目的地嘗試各種情況來試圖發(fā)現(xiàn)軟件缺陷,浪費(fèi)時(shí)間。因此,探索式測試需要指導(dǎo)方法。目前三兩種:

? ? a)局部探索式測試法:它幫助測試人員在測試過程中即時(shí)做出決定。

? ? b)全局探索式測試法:它幫助測試人員設(shè)計(jì)整體測試計(jì)劃和測試策略。

? ? 在軟件的所有細(xì)節(jié)問題都解決之后,會發(fā)現(xiàn)我們還缺乏一個(gè)綜合的測試集,該測試集用來確認(rèn)軟件是否已經(jīng)滿足正式發(fā)布所需達(dá)到的質(zhì)量標(biāo)準(zhǔn)。綜合的測試集所帶來的價(jià)值,比單獨(dú)運(yùn)行它們大得多。

? ? c)同時(shí)使用探索式測試和腳本測試

? ? 在傳統(tǒng)的基于用戶場景測試的方案中加入探索式測試,不僅可以拓寬腳本所包含的范圍,還可以在腳本中添加更多的變化可能、更多的用戶使用方式和更多的檢測方式。

? ? 6.小結(jié)

? ? 探索會測試就像是在應(yīng)用程序和軟件測試人員之間的一種競賽,測試人員必須找到隱藏很深的軟件缺陷,挑出軟件可用性方面的問題,發(fā)現(xiàn)安全隱患等。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容