測試人員可以借鑑的9條除錯規則

2021-07-10 13:01:05 字數 1725 閱讀 5316

1.理解系統

解決乙個具體問題,很多時候需要在整體上理解系統。重現乙個缺陷也要求測試人員在巨集觀上和細節上都能把握軟體。在專案全程,測試人員需要積極的學習被測軟體的領域知識、產品架構、**實現、技術平台、除錯工具等。只有較全面的理解軟體,才能有效的分析資訊、設計實驗、快速測試。軟體開發與測試沒有捷徑,持續積累才是正途。

2.製造失敗

影響軟體行為的因素包括軟體自身的狀態和軟體的外部輸入(使用者的輸入、作業系統的輸入、其他軟體的輸入等)。測試人員應該列舉這些影響軟體行為的因素,並分析哪些因素可能與當前缺陷有關。然後,他需要大量嘗試這些因素的取值組合,並試著總結缺陷重現的模式。有時測試人員需要求助於程式猿,讓他提供更好的測試鉤子以控制軟體的狀態和輸入,活提供更好的除錯日誌以了解軟體的狀態和輸出。

3.觀察先於思考

在猜測引發錯誤的原因之前,應該仔細的觀察軟體的狀態、作業系統的狀態、所依賴的軟體或服務的狀態,並分析軟體的輸入資料和輸出資料。細心觀察可以更好的推測缺陷原因,設計更有效的測試,相反,憑空猜測很可能是測試誤入歧途,費時費力並沒有收穫。

4.分而治之

如果執行一次測試需要大量的準備工作(如初始化資料庫、複製資料檔案、重啟服務等),測試就不能提供快速的反饋,缺陷調查的效率就很低。為此,測試人員需要建立乙個可以快速測試的環境,這通常需要隔離一些無關的資料、軟體和服務,也需要測試鉤子的幫助。在此環境中,測試人員通過逐次逼近來縮小搜尋的範圍,即通過測試來排除一些影響軟體的因素,從而慢慢鎖定若干重要因素。

5.一次只做一處修改

在科學實驗中,科學家一次只修改乙個變數的值,從而了解該變數對於實驗結果的影響。同樣,在測試中,測試人員一次只修改乙個變數的值,從而了解它對軟體行為的影響。

6.保持審計跟蹤

在調查過程中,要記錄下所做的測試和測試結果,魔鬼隱藏在細節中,而人的記憶總是不可靠的。應該將測試、軟體和環境的細節記錄下來,作為缺陷報告的一部分。

7.檢查基本假設

如果測試人員的調查沒有進展,他也許要質疑一下他的基本假設。面對複雜的問題,測試人員的思考常常基於一些能簡化情況的假設,例如他會假定「伺服器返回的資料應該是沒問題的」、「這個模組一直很穩定,不會出錯」、「錯誤檢查**一定能過濾掉無效的輸入資料」等。這些假設在大多數時候成立,但是並非永遠如此,要質疑並檢查他們。

8.獲得全新視角

如果重現的努力沒有成功,測試人員可以向程式猿或測試夥伴請教。軟體是如此的複雜,每個人都有盲點。向別人解釋問題,會強迫測試人員組織思路,這有助於他跳出原來的思維模式,獲得新的見解。也許敘述完畢,測試人員就獲得了新的測試靈感。此外,被諮詢的人可能知道一些知識,能夠提供有效的測試策略或關鍵線索,這會顯著提高調查效率。

9.如果沒有修復它,它就一直存在

當重現缺陷的努力失敗時,測試人員不能簡單的說:「它一定隨風而去了。」缺陷在測試環境中不出現,但可能在使用者的環境中出現,更可能在公司領導向**做公開演示時出現。為了讓專案團隊獲得必要的資訊,測試人員應該提交缺陷報告。調查不可重現的缺陷可能是乙個「時間黑洞」。測試人員應該根據缺陷的嚴重程度,設定不同長度的時間盒。在時間耗盡時,他可以自問「是否追加乙個時間盒繼續調查?在下乙個時間盒中能獲得突破嗎?對於專案而言,是繼續調查還是開始新的測試更有利?」經過評估,他可以決定是繼續調查,還是結束調查並提交缺陷報告。

新手設計師可以借鑑的10條經驗

題頭 本文作者為alvin hsia,在美國新創公司 edmodo 擔任互動設計師,本文為他從事設計一年左右的10條可借鑑經驗。過去一年,加入 k 12 教育新創公司 edmodo 的設計團隊中帶給我無與倫比的經驗,edmodo 獲得包括 greylock partners,benchmark ca...

IT人員相信的十條潛規則

所謂 潛規則 就是看不見的 又沒有明文規定,被某個圈子的人所深諳而遵循的一種規則。這是 eweek 公布的it 人員相信的十條潛規則。1.安全領域最大的潛規則 黑客跟安全產商是一夥的。任何時候出現乙個系統和軟體的漏洞,黑客便馬上攻入使用者的系統。2.soa是良藥 我們都知道新的架構應當基於soa因為...

譯 設計研究的 9 條規則

譯文出自 掘金翻譯計畫 譯者 zhmhhu 校對者 starriers kathleen borgmeyer 家的全部九隻小狗。最近,我注意到早期階段的創業公司和老牌機構對研究的熱情高漲。企業已經認識到,要想進行有意義的創新就需要將客戶理解為具有多彩生活的人類。這真的不可思議。我也聽到過許多相同的謬...