進銷存系統中的報表測試(3)

發表于:2014-12-16來源:uml.org.cn作者:陳雷點擊數: 標簽:報表
!--[if !supportLists]--(9) 著重對那些算法復雜、與業務功能關聯較多的報表的測試!--[endif]-- 如果只是簡單的把某個日期范圍內的所有入庫情況統計出來,可能

  <!--[if !supportLists]-->(9) 著重對那些算法復雜、與業務功能關聯較多的報表的測試<!--[endif]-->

  如果只是簡單的把某個日期范圍內的所有入庫情況統計出來,可能不會出錯;但是如果還要考慮按照供應商或商品匯總,同時要選取特定的類型或狀態的單據,再進行一些響應的計算,恐怕就很難保證開發人員永遠不會出錯了。這就像業務功能的測試一樣,越是復雜的業務,越有可能出錯。

  <!--[if !supportLists]-->(10) 留意四舍五入對報表數據的影響<!--[endif]-->

  從這一條開始,后面的內容可以說也是一些在實際測試時要注意的事項。

  這也是一個常見的問題。在一般的進銷存系統中,都會存在這種情況,無論小數點后保留幾位,總是難以避免明細和匯總之間的差別。原因可能是因為采購和銷售的包裝不一致,因為拆零引起的,例如10/30*30≠10;或者由于毛利率、稅率等因素導致的不一致。我們曾經試過在保留4位小數的情況下還是無法避免這種情況。

  <!--[if !supportLists]-->(11) 留意進/存/銷時使用不同單位對報表數據的影響<!--[endif]-->

  例如采購時是5箱,每箱有100盒,而銷售單位是盒,入庫之后,可能會要求按照銷售單位來統計,這時要注意開發人員是否會選擇了錯誤的單位,把500盒弄成5盒。

  <!--[if !supportLists]-->(12) 留意業務單據中存在多個日期字段時對報表數據的影響<!--[endif]-->

  一般來說,一張單據上都會有多個日期字段,比如采購單就有采購日期、單據日期、審核日期,而入庫單也會有單據日期、入庫日期,諸如此類。那么在測試時,一定要留意,開發人員是否按照要求選擇了正確的日期,包括日期選取的一致性——是否存在這邊取采購日期,那邊取審核日期的情況。

  <!--[if !supportLists]-->(13) 留意是否存在遺漏的單據類型<!--[endif]-->

  例如像出入庫的報表,入庫方向的,除了最主要的采購入庫外,可能還會包括退貨入庫、盤盈入庫、報溢入庫;出庫方向的,除了最常見的銷售出庫,還會包括盤虧出庫、報損出庫。那么在具體測試時,一定要準備充分這些相應類型的單據,并且要留意開發人員是否遺漏了相應的單據類型。

  <!--[if !supportLists]-->(14) 留意不同狀態的單據對報表數據的影響<!--[endif]-->

  例如采購單,當采購單發出后,供應商會開始送貨,可能第一批之送來了一半的商品,那么這時采購單的收貨狀態是“未完成” ;當供應商把商品送齊了以后,采購數量=收貨數量,則采購單的收貨狀態變為“已完成”。那這時留意,開發人員在采購報表中,是包含所需要的狀態的單據,還是只包含了一部分?

  <!--[if !supportLists]-->(15) 留意那些被當做默認規則的因素<!--[endif]-->

  有些規則——例如單據類型或者單據狀態——是作為默認規則寫死在SQL語句或者數據庫的存儲過程里面,這些規則不會體現在界面,也不會由用戶選擇決定。但是這些規則恰恰是最容易被忽略的部分。所以,一定要同開發人員反復確認,保證自己已經了解了同報表各數據項計算有關的各個因素。

  <!--[if !supportLists]-->(16) 保證測試人員可以通過UI 找到自己所需的所有原始數據<!--[endif]-->

  在進行系統測試時,無論是報表,還是一般的業務功能測試,都不要去直接通過SQL語句查詢數據庫中的內容,而是通過UI來輸入,再通過UI體現處理的結果進行驗證——因為這是系統測試,不是集成測試,將來用戶是決不會去直接查數據庫的。因此,如果需要對報表的結果進行驗證,應該通過其他的功能模塊,去查詢業務單據,或者其他報表,根據UI體現的結果,來進行確認。

  <!--[if !supportLists]-->(17) 檢查大數據量對報表的影響<!--[endif]-->

  報表測試也會涉及到性能測試,主要是在大數據量查詢統計的測試。大數據量一是說原始數據多,二是被操作、計算的數據多,三是某個數據項被是經過多次計算得出的。特別是對于一些算法比較復雜的報表,10萬條數據和100萬條數據時的響應時間將表現出巨大的差別。

  <!--[if !supportLists]-->(18) 不要遺漏權限控制和訪問安全性的測試<!--[endif]-->

  這里說的權限控制不是誰可以訪問某個模塊,誰不可以訪問某個模塊,而且數據的計算也沒有直接的關系,而是側重于報表設計的測試。我們都知道不同的報表是設計給不同的人看的,例如出入庫報表是給倉庫管理人員看的,里面不會包含商品的價格,而只會包含數量;而財務報表中,只會包含采購、銷售的金額,而不會包含數量,這樣才能保證可以相互對照,不會出現營私舞弊的行為。那么在測試時,應當考慮報表是否泄漏了不該泄漏的信息。當然,這里對業務的熟悉程度就是更高的要求了。

原文轉自:http://www.uml.org.cn/Test/200603073.htm

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