【讀書筆記】《探索式軟件測試》——第7章:漫游與測試中的棘手問題

??? 好久沒來,這本書看了好久了,接著第7章...

??? 1.軟件測試的五個棘手問題

??? 軟件測試作為控制和減少軟件錯誤的過程,本身也具有嚴重的不足。包含5種令人擔憂的棘手問題。

??? 1)漫無目的

??? 軟件測試不是簡單地拿起來就做的事情,它要求有計劃、有準備、有策略和有多變的戰(zhàn)術,這是成功進行軟件測試的前提。

??? a)決定測試什么

??? 軟件測試開始通常是把一個應用程序分成組件或特性,然后把測試人員或測試小組分配到每一個組件或每一個特性。但用戶關心的是功用,即如何通過組件和特性做希望做的事。如果根據(jù)功用來進行測試,我們的測試就會更接近于實際的使用情況。

??? b)決定何時測試

??? 發(fā)現(xiàn)一個輸入字段應該只接受數(shù)字輸入?yún)s接受了字符輸入,或經(jīng)常發(fā)現(xiàn)同一種缺陷反復出現(xiàn),這種被稱為“錯誤噪音”。在最理想的情況下,所有這類問題應該已經(jīng)在前期的開發(fā)人員自我測試、單元測試或代碼審核過程中被發(fā)現(xiàn)。

??? 對于每一個被發(fā)現(xiàn)的缺陷,明確地討論它應該在什么時候被發(fā)現(xiàn)?;谌毕莸臍v史數(shù)據(jù)分析,我們將學會如何在代碼審查、單元測試或其他方面有針對性地進行工作。

??? c)決定如何測試

??? 許多團隊做了大量的研究工作來尋找測試技術與缺陷之間的對應關系,可以將某些缺陷類別和某些漫游路徑或測試技術聯(lián)系在一起,從而讓測試人員知道:“這種功能或特性最好用這種給定的方法來測試”。

??? 2)重復性

??? a)知道已經(jīng)運行過哪些測試

??? 農(nóng)藥悖論:一旦測試套件發(fā)現(xiàn)了大量缺陷后,那些沒被發(fā)現(xiàn)的缺陷會對測試套件的未來效用產(chǎn)生免疫力。

??? b)知道什么時候注入變異

??? 漫游測試時,使用不同順序、不斷變化的數(shù)據(jù)和環(huán)境也會起到變化的作用。殺蟲劑上的標簽顯示了該殺蟲劑對哪些蟲子有效果,測試方法也可以貼上類似的標簽。

??? 3)暫時性

??? 大多數(shù)測試人員不生活在軟件中,他們只是“暫住”而已。把用戶帶入測試實驗室,這種“帶入”可以是親自帶入用戶或是從概念上加以考慮。

??? 應用程序出廠后項目就結(jié)束,這樣的假設是完全錯誤的。我們忽略了保修期,這段時間仍然是測試環(huán)節(jié)的一部分。

??? 4)單調(diào)性

??? 測試需要決定測什么,知道如何把多種功能和環(huán)境考慮結(jié)合在一個測試中,設計出更高級的測試技術和概念,搞清楚一組測試如何幫助總體的測試策略。

??? 樂意花時間進行測試分類和測試策略設計的測試人員更注重于測試的有效性,因而在測試運行上花的時間就比較少。

??? 5)健忘性

??? 我們計劃測試、設計測試、運行測試、分析結(jié)果,測試結(jié)束后馬上就忘。測試用例并不是解決這種記憶問題的最好方法,而殺蟲劑悖論也降低了現(xiàn)有測試用例的價值。

??? 漫游測試在一定程度上效果更好,因為一條漫游路徑可以代表任何數(shù)據(jù)的實際測試用例。如果我們努力地把漫游路徑映射到軟件特性和缺陷上,我們會留下有關產(chǎn)品的記錄,它會幫助下一任測試人員了解內(nèi)部情況,包括我們所做的測試哪些有效、哪些無效。

??? 2.總結(jié)

??? 擁有測試策略和規(guī)范的技術使得測試人員在處理他們的任務時目標更明確,這直接解決了無目標的問題。漫游路徑又迫使測試用例的產(chǎn)生具有更多變化,使重復性問題和單調(diào)性問題得到積極的處理。另外,漫游測試提供了測試技術的討論平臺,可以促進知識交流和建立測試文化,從而改善暫時性(沒有實際用戶時,盡量模擬實際情況)和健忘性問題。

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

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

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