關鍵字: 進銷存 報表 軟件測試
本文適合有過MIS系統報表測試經驗,或者有關進銷存系統測試經驗的朋友參考。
報表功能的基本要求,就是通過查詢/統計/分析,提供用戶所需的準確的數據。如果無法實現這個基本功能,則報表完全失去意義。
對于用戶來說,報表可以直接影響到他們的決策,例如可能因為報表對銷售和庫存情況反映的不準確,導致錯誤的大量進貨;或者因為報表對應收應付金額計算的不準確,而導致企業對資金占用情況做出錯誤的估計,
從而導致錯誤的決策,最終造成用戶在經營上的損失。諸如此類,相信只要大家留心,還可以找出很多這樣的例子。
進銷存系統中的報表多如牛毛,而且各種不同行業的進銷存系統中的業務有區別,報表也有些區別,因此不太可能對各種報表逐個講解,而主要是把一些報表測試的經驗總結成了十幾條可以在各種行業的報表測試中應用的“最佳實踐”,來跟大家一起分享。希望下面的這十幾條像一招招簡單實用的“擒拿手”,可以供正在進行報表測試或者準備開始作報表測試的朋友隨手拈來,見招拆招,輕松應對這項工作。
<!--[if !supportLists]-->(1) 提高對業務的熟悉程度<!--[endif]-->
其實對任何一個軟件進行測試,都必須要熟悉它的業務,包括業務流程和業務規則。但是報表同一般的業務功能還是有些區別的。例如對于單據的增、刪、改,通過對界面的瀏覽和探索性的操作,大概都可以弄明白它的業務流程和業務規則,因為這些內容比較直觀,而且在不同的行業中也差不了太多。但是在報表中,是很難直觀的看到我們所需要了解的內容的。例如報表中的某個數據項,它的算法或者說數據來源,恐怕是比較難看出來的——即使是很類似的一個數據項,在不同行業的實際業務中,它的算法和數據來源也可以能完全不同的。
所以對于報表業務的熟悉,主要是兩個方面:數據項的算法和數據來源,也就是說要明白一個數據項同具體的業務有什么關系,單據的增、刪、改或者狀態的變化,對報表中各個數據項的計算會產生什么不同的影響。如果不知道到這些,那么就無法驗證報表中的數據是否準確,也無法通過報表去檢查業務系統的正確與否。
<!--[if !supportLists]-->(2) 覆蓋所有可能的查詢統計方式,而不是以自己的使用習慣為準<!--[endif]-->
對于報表的使用者來說——一般是企業的中層或高層領導,他們對于報表的要求可能會是多方面的,例如在進銷存系統中,可能需要按不同商品進行分類統計,也可能是按供應商分類統計,這些都是由用戶在實際工作中的需要來決定的,所以假如一個報表提供了多種查詢統計的方法,那么在測試時,只要時間充分,就應該覆蓋這些所有可能被用到的查詢統計方法,而不是以自己的使用習慣為測試的依據。
<!--[if !supportLists]-->(3) 使用或構造受控的數據環境<!--[endif]-->
數據對于報表測試來說是一個非常非常重要的問題。因為上面說到,報表的基本功能就是通過各種查詢統計分析的方法,為用戶提供準確的數據,幫助用戶做出決策。那么那些用來進行測試的數據從哪里來呢?
首先,應該保證準備足夠多的有效的數據。前面一條也提到了,在實際測試報表時,應當盡可能的覆蓋到報表所提供的各種查詢統計方法,因此至少應該保證每一種查詢統計方法都應該有對應的數據,得到的結果都不會是0,否則等于沒有覆蓋到這個被測的查詢統計算法。當然數據也不是越多越好,能保證全部覆蓋,并且剛好夠用就可以了,因為數據的準備和生成也是很花時間的。
其次,要保證數據的可控。數據并不是隨意生成的,如果使用通過自動化工具或者通過業務測試時隨意的輸入的數據來進行報表測試,一般來說是不太可能的。因為如果無法控制數據來源,那么即使知道報表中每個數據項的算法,也無法最終驗證報表的查詢統計結果是否正確。例如,系統的會有不同類型的單據,每種單據又會有不同的狀態,某個報表的統計中,可能會涉及到多種類型和狀態的單據,那么在準備數據時,就要充分考慮到這一點,準備各種不同的單據來滿足測試的要求。又比如,如果整個系統中只有一個供應商,一個商品,那么測試按供應商分類統計或者按商品分類統計的報表時,意義也就不大了。
原文轉自:http://www.uml.org.cn/Test/200603073.htm