2011-04-07 10 views
1

我是軟件測試的新手。目前我需要測試一箇中等規模的Web應用程序。我們剛剛重構了我們的代碼庫,並在現有代碼中添加了許多事件日誌記錄邏輯。事件日誌記錄代碼也將同時寫入Windows Eventlog和SQL數據庫表。如何以合理的方式驗證大量事件

事件的數量約爲200.我應該採取什麼方法來測試/驗證此代碼是否有效且高效地重構

謝謝。

回答

0

我會試圖對每個事件實施單元測試,以確保何時發生事件,將正確的信息傳遞到事件記錄邏輯中。

這意味着您可以在部署的站點上觸發一個事件並驗證數據是寫入數據庫和事件日誌。您可以有一個可接受的信心水平,其餘事件將被正確記錄。

如果單元測試不是一個選項,那麼您將需要手動驗證每個事件,我會在檢查數據庫和事件日誌之間進行切換,因爲在此區域失敗時應該沒有什麼風險。這意味着你將有200次測試而不是400次測試。

您也可以將應用程序劃分爲合理的部分,併爲每個部分觸發一些事件,以便爲應用程序提供合理的信心。

你所採取的方法將取決於你需要測試多長時間,如果一個事件沒有被記錄下來的成本是多少,以及記錄邏輯的發展程度如何。

希望這有助於

0

我會在重構之前添加測試。你不知道你已經破壞了它的位置:)。

你說,它會記錄到事件查看器和DB,我希望你已經暴露的日誌記錄功能作爲一個接口,讓您可以:

  • 延長它,如果需要登錄到一些其他設備

  • 也使得嘲諷有點輕鬆了許多

,如果你有200個事件來測試,這並不是一件容易的事TBH。我不認爲你可以逃避創建200個事件的eq數量的測試。

我想這樣做:

  • 我會尋找在使用我的日誌接口的所有地方,並注意所有類和 開始與關鍵路徑/那些第一(這樣你至少蓋關鍵的)

  • 或者你可以從最後開始,即記下你得到的日誌的所有可能的組合,也許指向陳舊的數據,以便你知道如果輸入是相同的,輸出也應該是相同的。每一次,迴歸測試你的新的二進制文件反對這些數據,你應該得到類似的數量/級別的日誌。

0

這應該不難。

挑選一個免費的網絡自動化測試工具一樣的Watir(JAVA)或華廷(.net)和(或VS UI測試,如果你有的話)。

創建一個涵蓋你所期望的Web應用程序的測試領域/需要開火事件。在每次測試後檢查SQL Db以查看哪些事件觸發了。

如果這些事件流對於測試是正確的,請在測試中添加一個步驟以驗證Db中是否創建了確切的事件流。

這會給你一套測試,以可重複的方式從你的網站的任何部分驗證事件發生。

高效&這種方法的有效部分是它允許您創建只有您需要驗證應用程序的儘可能多的測試。您也不需要重新創建一個單元測試方法,並且每個事件都有一個測試。

自動化測試將允許您無需額外的努力即可重新執行測試,而且這將長期保持合理。

這種方法也可以採用手動測試,但要得到一致的&可重複結果將會非常棘手。重新測試也將持續幾乎一樣長,因爲測試揭示了需要修復的缺陷。

注意:雖然這將是最有效的方式,但它不會是詳盡無遺的。可能會有邊緣案例被錯過,但幾乎可以說任何測試方法。只需添加測試用例,直到獲得所需的覆蓋範圍。

希望這會有所幫助, Chris

相關問題