軟件測試 | 針對看起來很小的代碼錯誤執(zhí)行后續(xù)測試
當發(fā)現編碼錯誤時,程序所處狀態(tài)時程序員不想要或可能沒有料到的。數據現在也可能時預期不可能的值。如果在第一次失效后繼續(xù)使用這個程序,任何情況都有可能發(fā)生。
如果看到的時小失效,不要只是重視該失效并寫入報告。程序處于脆弱狀態(tài),嘗試利用這一點,繼續(xù)測試,并可能發(fā)現內部缺陷的實際影響時糟糕得多的失效,例如系統(tǒng)崩潰或數據損壞。
我們建議嘗試三種后續(xù)測試:
變化自己的行為(通過改變操作方式改變條件)。例如,讓程序不斷反復進入失效狀態(tài)。有積累影響嗎?嘗試與該任務相關的失效操作。例如,當在屏幕上增加兩個數字時,如果程序意外地稍微上移一點顯示,則嘗試測試這種缺陷是否影響加法或影響數字。嘗試與該失效相關的操作。如果失效時在做了加法處理后顯示意外上移,可嘗試先上移顯示再做加法。嘗試刷新屏幕然后再做加法。嘗試重新定義數字顯示的尺寸后再做加法。也可以嘗試更快速地輸入數字,或以某種方式改變測試活動的速度。當然,還可以嘗試各種其他探索式測試手段。有時這種方法很有用:與運行很多無關的其他測試,直接在不重新啟動或重新設置的情況下繼續(xù)使用程序。
變化程序選項和設置(通過改變被測程序改變條件)。典型的變化時使用不同的數據庫、改變持久變量的取值、改變程序使用內存的方式,或改變程序允許測試員修改的任何其他選擇(任何其他選項或偏好或設置)。在屏幕上移例子中,也許可以改變程序的窗口尺寸、要顯示的數字精度或拼寫檢查器的背景活動設置。
變化軟件和硬件環(huán)境(通過改變與被測程序一起運行的軟件或正在使用的硬件改變條件)。這不是配置測試,不是要檢查標準配置上的缺陷,而是要調查怎樣變更配置才會使得這個失效暴露充分。例如,如果認為時序可能時個因素,就使用不同速度的處理器或視頻顯示或通信連接。如果認為內存可能有關,就使用內存較少(或較多)的計算機,或改變虛擬內存設置。
后續(xù)測試可以一直進行下去。應該做多少呢?對于每個認為反應了編碼錯誤的失效(沒有體現程序員意愿的代碼)至少要做幾分鐘的后續(xù)測試。
對于有些失效要多做一些后續(xù)測試,可能需要一天的時間。要相信自己的判斷。如果認為再做一些測試可能會發(fā)現有價值的新信息,就繼續(xù)測試。如果認為現在對該缺陷的了解,通過繼續(xù)測試也不會再深入了,就停止這種測試,并編寫錯誤報告。要相信自己的判斷。