軟件測試的修煉之道上,如何做好報表測試?
文章導讀:
在一個研發項目團隊中,很多人(包括我)的第一印象都會覺得:測試比做產品、開發簡單得多。在接觸了測試近一年的我想說:在這個世界上,你想把任何一件事做好、做到極致都沒那麼容易。誠如:如何做好報表測試?
正文:
所謂的報表,就是在已有數據的基礎上,經過各種加工、彙總,而呈現出來的數據結果,而報表測試則是鑒定報表的正確性、完整性、安全性和使用質量的過程。不多說,直奔主題吧,下麵就結合前人的經驗以及個人心得來說說如何做好報表測試:

首先,提高業務的熟悉程度
和功能測試以及其他測試一樣,報表測試也需要熟悉業務,不同的是報表測試要理解每個指標的算法、數據來源以及要明白具體的業務動作和指標之間的關係。
熟悉業務是極為必要的,因為在設計測試用例前,你需要在需求文檔中了解並確定以下的信息:
1、指標的設計是否符合業務場景或真正的業務需求;
2、統計指標是否需針對異常數據的情況,做異常處理;
3、用戶訪問的頻率、使用習慣等情況,以便後麵做性能測試時的用例設計;
4、需求提供者有無以往的手工數據或曆史數據可以作為核對標準?如果有,最好請產品人員提供。
熟悉業務後,就可以進行用例設計了。

報表測試的六大用例設計點:
一、數據的正確性
對於用戶來講,使用報表就是希望通過報表快速簡單地查到自已所需要的數據,所以測試報表最主要的內容就是驗證數據的正確性:
1、數據來源是否正確。針對產品提出的指標,確認和需求是否是同一個數據源。一般來說,數據源大致分為兩類:一是本係統產生的數據;二是從第三方同步過來的數據,需要核對需求中需要的數據,本係統是否已經同步過來,同步是否符合要求。
2、數據範圍是否對應。是否隻顯示了報表設置的對應範圍,並且考慮需求中是否包括統計區間的邊界值。
3、指zhi標biao的de特te定ding條tiao件jian是shi否fou滿man足zu。前qian提ti是shi要yao弄nong清qing楚chu,所suo測ce報bao表biao的de指zhi標biao中zhong,是shi否fou有you特te定ding條tiao件jian,這zhe個ge特te定ding條tiao件jian是shi什shen麼me,報bao表biao數shu據ju是shi否fou滿man足zu該gai特te定ding條tiao件jian等deng。
4、明細與合計是否一致。即報表的各部分明細值之和,是否和合計值一致。
二、報表的權限控製
考慮到數據的安全性,對報表進行權限控製是很有必要的。
1、確定報表是否有針對不同用戶角色,設置相應查看權限的需求;
2、不同的用戶角色,其查看權限是否正確;

三、報表格式的顯示
特別是對外使用的報表,需要關注輸出報表的顯示格式是否符合客戶需求:
1、報表的標題或者表名是否正確;
2、報表的整體顯示格式是否符合客戶提供的表樣;
3、數據顯示格式或誤差是否與需求保持一致,如小位數、百分號、單位、彙率等;
4、報表頁麵的時間段是否用戶選擇的時間段;
5、當輸出的內容過多時,分頁方式是否正確;翻頁時,是否有與上頁相同的樣式,第2頁輸出是否正確;
6、需要特別提醒的數據(一些異常數據)是否突出顯示;有些指標計算方法特別或某些指標容易混淆的情況下,頁麵是否有加注釋;
四、報表功能的使用
1、各個指標的組合篩選查詢是否正常;
2、輸出功能,如導出PDF、excel等使用是否正常;
3、打印設置、打印效果等是否正常;
4、分頁,或分布導出等是否如常;
5、導常情況下的使用等。
五、性能
測試的前需要了解的信息:用戶訪問的頻率、使用習慣、數據範圍等。
1、數據範圍大小;
2、篩選查詢的響應時長;
3、QPS(即每秒的響應請求數)。
六、數據的有效性
1、當數據源有實時數據入庫時, 相關報表類的展示多久統計出來?
2、是實時還是會有延緩?延緩多久?
3、數據延緩對指標有何影響?
報表測試的很大關注成分在於數據,那麼,測試中對於數據的設計呢?
報表測試三大數據設計點:
一、有效數據
有(you)效(xiao)數(shu)據(ju),顧(gu)名(ming)思(si)義(yi),是(shi)指(zhi)既(ji)符(fu)合(he)前(qian)台(tai)業(ye)務(wu)規(gui)則(ze),又(you)符(fu)合(he)統(tong)計(ji)規(gui)則(ze)的(de)數(shu)據(ju)。它(ta)們(men)會(hui)被(bei)統(tong)計(ji)進(jin)報(bao)表(biao)中(zhong),對(dui)報(bao)表(biao)的(de)統(tong)計(ji)值(zhi)會(hui)產(chan)生(sheng)正(zheng)麵(mian)的(de)影(ying)響(xiang)。
二、無效數據
無效數據,屬於統計規則以外的數據。此類數據,符合前台業務規則,但不符合報表統計規則,即對報表的統計值不會產生任何影響。
三、異常數據
異(yi)常(chang)數(shu)據(ju),主(zhu)要(yao)目(mu)的(de)是(shi)用(yong)於(yu)檢(jian)驗(yan)報(bao)表(biao)係(xi)統(tong)對(dui)數(shu)據(ju)的(de)容(rong)錯(cuo)能(neng)力(li)。此(ci)類(lei)數(shu)據(ju)不(bu)符(fu)合(he)前(qian)台(tai)業(ye)務(wu)規(gui)則(ze),對(dui)報(bao)表(biao)的(de)統(tong)計(ji)值(zhi)會(hui)產(chan)生(sheng)負(fu)麵(mian)影(ying)響(xiang)。最(zui)常(chang)見(jian)的(de)場(chang)景(jing)是(shi),統(tong)計(ji)值(zhi)的(de)分(fen)母(mu)為(wei)零(ling)。
zheleishujudesheji,gengduodiyingyongyubaobiaoxitongyuyewuxitongfenlideqingkuangzhong。dangbaobiaoxitongyuyewuxitonghuxiangtongyishi,yichangshujuhuishoudaoqiantaiyewuguizedexianzhi,jiyichangshujulianchuxiandekenengyemeiyou;在(zai)報(bao)表(biao)係(xi)統(tong)和(he)業(ye)務(wu)係(xi)統(tong)分(fen)離(li)的(de)情(qing)況(kuang)下(xia),異(yi)常(chang)數(shu)據(ju)就(jiu)很(hen)有(you)可(ke)能(neng)由(you)於(yu)數(shu)據(ju)傳(chuan)輸(shu)的(de)不(bu)同(tong)步(bu),造(zao)成(cheng)短(duan)時(shi)間(jian)的(de)出(chu)現(xian),此(ci)時(shi)報(bao)表(biao)係(xi)統(tong)對(dui)於(yu)錯(cuo)誤(wu)的(de)處(chu)理(li)機(ji)製(zhi)就(jiu)顯(xian)得(de)非(fei)常(chang)重(zhong)要(yao)了(le)。

除了針對以上3類數據的設計以外,我們在設計報表測試數據時,還需要注意以下幾點:
1、保證場景間測試數據的獨立性
這zhe是shi為wei了le保bao證zheng數shu據ju可ke控kong而er要yao注zhu意yi的de。如ru果guo一yi組zu數shu據ju的de已yi經jing在zai某mou個ge場chang景jing被bei使shi用yong過guo了le,就jiu不bu應ying該gai再zai把ba這zhe組zu數shu據ju應ying用yong到dao其qi他ta的de場chang景jing中zhong,否fou則ze一yi旦dan出chu現xian測ce試shi結jie果guo與yu預yu期qi結jie果guo不bu一yi致zhi,就jiu會hui提ti高gao查zha錯cuo的de難nan度du。況kuang且qie保bao證zheng數shu據ju的de獨du立li,可ke以yi更geng好hao地di闡chan述shu缺que陷xian,保bao留liu缺que陷xian現xian場chang,等deng待dai開kai發fa人ren員yuan來lai解jie決jue。
2、數據的多樣性
多樣性是指為同一個場景準備多組測試數據,因為憑借不同數據才能更好地接近真實,更容易發現問題。
3、空報表
所suo謂wei的de空kong報bao表biao,就jiu是shi指zhi在zai報bao表biao查zha詢xun條tiao件jian下xia,沒mei有you相xiang符fu的de源yuan數shu據ju,從cong而er造zao成cheng報bao表biao中zhong的de統tong計ji值zhi為wei空kong。這zhe樣yang的de測ce試shi,是shi為wei了le確que保bao報bao表biao的de正zheng確que性xing,檢jian查zha報bao表biao統tong計ji是shi否fou有you張zhang張zhang冠guan李li戴dai的de現xian象xiang。
4、注意數值的設計
這裏所說的數值,是指統計值。
例如,統計值是百分比時,我們需要覆蓋最大值(100.00%)、最小值(0.00%)、中間值(如38.01%)、小數位檢查(99.99%)。除了這些,我們還需要考慮負數、百分比超過100%、小數位的四舍五入等情況。
5、不同報表間的對照
同一組數據在不同報表中的表現應該是一致的。
例如,在合同表中,合同總金額是1萬元;然而在協議表中查詢該合同所創建的協議總金額是1萬5千元,那麼,這意味著肯定是其中一份報表出現問題了。
6、曆史數據的設計
曆史維度也屬於測試的一個重點。曆史維度的測試,涉及到曆史數據的設計。
例如,OA中的,A君4月前在市場中心,5月起調到了營銷中心,那麼5月後A君的業績是否仍計算在在市場中心?等等。
總結:
以上,關於報表測試的一些彙總。其實這大部分是一些測試前輩的經驗了,剛踏上修煉之道的我實在不敢造次,但也知道:不管是一萬小時定律,還是厚積薄發,當你把知識累積到一定程度的時候就會發現,原來,軟件測試的世界也可以這麼有意思。
文章參考:
ü CSDN博客:如何測試報表
輸入店鋪信息,獲取專業全方麵分析
* 您的信息將被嚴格保密,請放心填寫