報表測試中的測試數據設計

發表于:2011-03-11來源:作者:點擊數: 標簽:
在報表 測試用例 設計中,測試數據是關鍵。正如Jackie在《進銷存系統中的報表測試》中所言,如果希望更有效、更高 質量 地完成報表測試,就要重視并增加對于數據準備的關注。其實,測試數據也是為測試場景服務的,一個或者一組的測試數據往往是為了驗證在某

  在報表測試用例設計中,測試數據是關鍵。正如Jackie在《進銷存系統中的報表測試》中所言,如果希望更有效、更高質量地完成報表測試,就要重視并增加對于數據準備的關注。其實,測試數據也是為測試場景服務的,一個或者一組的測試數據往往是為了驗證在某個測試場景下報表是否能正確的展現統計值。歸根結底,測試場景的設計才是關鍵的關鍵。在之前的報表分析后,測試用例的基本框架已經完成。接下來我們需要在這個框架上,細化和補充場景設計,然后通過場景,設計出對應的測試數據。

  對于測試數據的設計,我將其粗略地分為3大類:

  1. 有效數據

  有效數據,顧名思義,是指既符合前臺業務規則,又符合統計規則的數據。它們會被統計進報表中,對報表的統計值會產生正面的影響。

  2. 無效數據

  無效數據,屬于統計規則以外的數據。此類數據,符合前臺業務規則,但不符合報表統計規則,即對報表的統計值不會產生任何影響。

  3. 異常數據

  異常數據,主要目的是用于檢驗報表系統對數據的容錯能力。此類數據不符合前臺業務規則,對報表的統計值會產生負面影響。最常見的場景是,統計值的分母為零。

  這類數據的設計,更多地應用于報表系統與業務系統分離的情況中。當報表系統與業務系統互相統一時,異常數據會受到前臺業務規則的限制,即異常數據連出現的可能也沒有;在報表系統和業務系統分離的情況下,異常數據就很有可能由于數據傳輸的不同步,造成短時間的出現,此時報表系統對于錯誤的處理機制就顯得非常重要了。

  除了針對以上3類數據的設計以外,我們在設計報表測試數據時,還需要注意以下幾點:

  1. 保證場景間測試數據的獨立性

  這是為了保證數據可控而要注意的。如果同一條或者同一組測試數據被使用到多個報表統計值的檢查中時,一旦出現測試結果與預期結果不一致,就會提高查錯的難度。況且保證數據的獨立,可以更好地闡述defect,保留defect現場,等待開發人員來解決。

  2. 數據的多樣性

  多樣性是指為場景而準備的多組測試數據。因為憑借不同數據才能更接近真實,更容易發現問題。此前我就碰到過類似的情況:在測試一份報表中,我發現同一個統計值,一月份的是正確的,三月份的卻是錯誤的。正常情況下,使用同樣的程序計算只有兩種結果,要不兩者都對,要不兩者都錯。怎么會出現一對一錯呢?后來開發人員經過檢查,發現還是計算程序中存在的問題。而出現一對一錯是因為一月份與三月份的數據使用了不同組的測試數據,而正好一月份的數據,在錯誤的計算程序中也能計算出正確的值。由此說明,報表的測試是需要多組測試數據支持的,否則defect就會從我們眼皮底下溜走了。

  3. 不要忘了空報表

  所謂的空報表,就是指在報表查詢條件下,沒有相符的源數據,從而造成報表中的統計值為空。這樣的測試,是為了確保報表的正確性,檢查報表統計是否有張冠李戴的現象。

  4. 注意數值的設計

  這里所說的數值,是指統計值。例如,統計值是百分比時,我們需要覆蓋最大值(100.00%)、最小值(0.00%)、中間值(如38.01%)、小數位檢查(99.99%)。除了這些,我們還需要考慮負數、百分比超過100%、小數位的四舍五入等情況。

  5. 不同報表間的對照

  同一組數據在不同報表中的表現應該是一致的。例如,在銷售總額報表中,營業點A的一月份總計是1萬元;然而在營業點A的銷售清單卻只能查看到9000元的銷售數據。那么,這意味著肯定是其中一份報表出現問題了。

  6. 注意歷史數據的設計

  在基于OLAP技術設計的報表系統中,歷史維度也屬于測試的一個重點。歷史維度的測試,涉及到歷史數據的設計。例如,銷售員A在2011年1月份,服務于營業點A,那么他的銷售業績就應該計算到營業點A中;然而到了2月份銷售員A調到了營業點B,那么他2月份以后的銷售業績就應該計算到營業點B中。報表是否能正確地將銷售員A在不同時間的銷售業績計算到對應的營業點中,就需要我們設計一批針對銷售員A的銷售源數據來檢查。

  7. 測試數據的備份

  與一般的系統測試相同,報表的測試也需要經歷多個版本。此外,報表測試數據的量很大,起碼是業務測試數據的3倍以上。因此,數據的備份就非常必要了。我使用過數據庫備份文件、SQL語句、CSV或excel格式3種方式來備份數據。通過比較,我推薦大家采用CSV或者excel格式來保存數據。因為在不同版本的測試中,我們很難避免數據庫結構或者數據表字段的變化。如果采用數據庫備份文件,一旦數據庫發生了一點變化,就導致這個備份無法使用;SQL語句可以避免這樣的問題,但保存在SQL語句中的測試數據不直觀,且不方便修改。因此,CSV或excel格式使用起來更簡單,而且很多數據庫都提供批量導入CSV或者excel文件的功能。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97