打破測試團隊無用錄的魔咒 4- 錯誤重現和分析 - IIS 網頁應用程式
IntelliTrace 是什麼? Lolota 大 有很詳細的介紹了 ,請點下面的連結
http://www.dotblogs.com.tw/lolota/archive/2010/02/08/13526.aspx ( 除錯的資訊永遠不嫌多 )
這是一個以操作時間的概念提供除錯資訊。 ( Debug History 是垂直的 )
=====================================================================
什麼是 Lab Manager 2010 ( 新朋友專區 )
http://liveriver.spaces.live.com/blog/cns!3E957722FC02B734!971.entry
http://liveriver.spaces.live.com/blog/cns!3E957722FC02B734!1067.entry
http://liveriver.spaces.live.com/blog/cns!3E957722FC02B734!1103.entry
=====================================================================
在台灣 很多都是沒有測試團隊,往往都是 PM 或 SA 兼任。
通常比較簡單的 Bug 可以很容易被重現,但若是遇到很麻煩的 錯誤時,像 Excpetion 的話怎麼辦?
會出現 Exception 通常都是程式當初沒有想到而發生的 bug ,或是由 系統發出的。
這一類的 bug 之所以會很難找到是因為,當下應用程式按下去可能就出錯了。
可能,畫面卻只是出現一些 Error 的警告畫面 ( 這時都還是由 程式本身所控制 )
但再操作其他功能時,可能沒作好判斷就導致 Exception 是在別的操作畫面掛掉的
這很容易讓我們的測試人員和 開發人員在 Debug 時誤判
會變成錯誤非常難重現!
=====================================================================================
我們進 VCR 還原現場!!!
開發A:是在那裡出錯?
測試B:喔!到 加入購物車後就出錯了
開發A:可能我重新驗證沒有這個問題呀?出現這個錯誤前還有做什麼其他的操作嗎?
測試B:我做了… 一、… 二、…
開發A:我按照你的步驟了!還是一樣很正常呀!在你那裡會出現嗎?
測試B:(回去重新按) 呃… 怎麼又好了?剛剛明明有錯呀?
開發A:那!下次再出現這個 Bug 我們再來看好了!
=====================================================================================
一來一回是會花非常多時間的 ,就是我們所說的「互踢皮球」 ( 國外是說 打乒乓球 )
之前有說明 Lab Manager 可以把操作人員的操作過程都記錄下來,那是否有更進階的資訊可以給 開發人員?而且是 Web 用的?
是的!就是透過 IntelliTrace ! 在 Lab Manager 也有同樣的功能!
首先!這當然必須是 ASP.NET 的專案!因目前 IntelliTrace 只有 x86 的,所以在測試環境請先用 x86 (日後會有 64的)
設定我們的測試環境
久久才設定一次總是會忘記~~ 每次小弟都 Debug 好一會才想到 這個設定忘了設 Orz 真害
ps.. 沒有設的話會出現以下的錯誤
測試回合期間未啟動任何 Microsoft .NET 應用程式。請在測試案例啟動之後,從總管或新的命令提示字元啟動應用程式。如果沒有 .NET 應用程式要進行測試,請停用 [測試影響] 和 IntelliTrace 診斷資料配接器。
Exception 畫面 ( 小弟故意沒有轉成 Error.htm 的樣子 )
開發人員點下去後 ,會載入至 VS 2010 !可以找到 所有錯誤訊息 ( 這只是其中之一 )
是的你沒看錯!! 專案會自動進入 「執行中」模式! 而且 在右邊的 IntelliTrace 會有「當時」操作的的順序
每點一個 在 Call History 都會記錄呼叫的過程
若是 開發人員想要再從某一個步驟進行 Debug 的話!也可以在自已的開發環境「重現操作步驟」
所以,即使是 .NET 2.0 的專案 ( 這是 PetShop 4.0 ) 也可以套用在 Lab Manager 2010 和 VS 2010 上
解決這種難以重現的 Bug !