軟件測(cè)試的修煉之道上,如何做好報(bào)表測(cè)試?
文章導(dǎo)讀:
在一個(gè)研發(fā)項(xiàng)目團(tuán)隊(duì)中,很多人(包括我)的第一印象都會(huì)覺得:測(cè)試比做產(chǎn)品、開發(fā)簡(jiǎn)單得多。在接觸了測(cè)試近一年的我想說:在這個(gè)世界上,你想把任何一件事做好、做到極致都沒那么容易。誠(chéng)如:如何做好報(bào)表測(cè)試?
正文:
所謂的報(bào)表,就是在已有數(shù)據(jù)的基礎(chǔ)上,經(jīng)過各種加工、匯總,而呈現(xiàn)出來的數(shù)據(jù)結(jié)果,而報(bào)表測(cè)試則是鑒定報(bào)表的正確性、完整性、安全性和使用質(zhì)量的過程。不多說,直奔主題吧,下面就結(jié)合前人的經(jīng)驗(yàn)以及個(gè)人心得來說說如何做好報(bào)表測(cè)試:

首先,提高業(yè)務(wù)的熟悉程度
和功能測(cè)試以及其他測(cè)試一樣,報(bào)表測(cè)試也需要熟悉業(yè)務(wù),不同的是報(bào)表測(cè)試要理解每個(gè)指標(biāo)的算法、數(shù)據(jù)來源以及要明白具體的業(yè)務(wù)動(dòng)作和指標(biāo)之間的關(guān)系。
熟悉業(yè)務(wù)是極為必要的,因?yàn)樵谠O(shè)計(jì)測(cè)試用例前,你需要在需求文檔中了解并確定以下的信息:
1、指標(biāo)的設(shè)計(jì)是否符合業(yè)務(wù)場(chǎng)景或真正的業(yè)務(wù)需求;
2、統(tǒng)計(jì)指標(biāo)是否需針對(duì)異常數(shù)據(jù)的情況,做異常處理;
3、用戶訪問的頻率、使用習(xí)慣等情況,以便后面做性能測(cè)試時(shí)的用例設(shè)計(jì);
4、需求提供者有無以往的手工數(shù)據(jù)或歷史數(shù)據(jù)可以作為核對(duì)標(biāo)準(zhǔn)?如果有,最好請(qǐng)產(chǎn)品人員提供。
熟悉業(yè)務(wù)后,就可以進(jìn)行用例設(shè)計(jì)了。

報(bào)表測(cè)試的六大用例設(shè)計(jì)點(diǎn):
一、數(shù)據(jù)的正確性
對(duì)于用戶來講,使用報(bào)表就是希望通過報(bào)表快速簡(jiǎn)單地查到自已所需要的數(shù)據(jù),所以測(cè)試報(bào)表最主要的內(nèi)容就是驗(yàn)證數(shù)據(jù)的正確性:
1、數(shù)據(jù)來源是否正確。針對(duì)產(chǎn)品提出的指標(biāo),確認(rèn)和需求是否是同一個(gè)數(shù)據(jù)源。一般來說,數(shù)據(jù)源大致分為兩類:一是本系統(tǒng)產(chǎn)生的數(shù)據(jù);二是從第三方同步過來的數(shù)據(jù),需要核對(duì)需求中需要的數(shù)據(jù),本系統(tǒng)是否已經(jīng)同步過來,同步是否符合要求。
2、數(shù)據(jù)范圍是否對(duì)應(yīng)。是否只顯示了報(bào)表設(shè)置的對(duì)應(yīng)范圍,并且考慮需求中是否包括統(tǒng)計(jì)區(qū)間的邊界值。
3、指標(biāo)的特定條件是否滿足。前提是要弄清楚,所測(cè)報(bào)表的指標(biāo)中,是否有特定條件,這個(gè)特定條件是什么,報(bào)表數(shù)據(jù)是否滿足該特定條件等。
4、明細(xì)與合計(jì)是否一致。即報(bào)表的各部分明細(xì)值之和,是否和合計(jì)值一致。
二、報(bào)表的權(quán)限控制
考慮到數(shù)據(jù)的安全性,對(duì)報(bào)表進(jìn)行權(quán)限控制是很有必要的。
1、確定報(bào)表是否有針對(duì)不同用戶角色,設(shè)置相應(yīng)查看權(quán)限的需求;
2、不同的用戶角色,其查看權(quán)限是否正確;

三、報(bào)表格式的顯示
特別是對(duì)外使用的報(bào)表,需要關(guān)注輸出報(bào)表的顯示格式是否符合客戶需求:
1、報(bào)表的標(biāo)題或者表名是否正確;
2、報(bào)表的整體顯示格式是否符合客戶提供的表樣;
3、數(shù)據(jù)顯示格式或誤差是否與需求保持一致,如小位數(shù)、百分號(hào)、單位、匯率等;
4、報(bào)表頁(yè)面的時(shí)間段是否用戶選擇的時(shí)間段;
5、當(dāng)輸出的內(nèi)容過多時(shí),分頁(yè)方式是否正確;翻頁(yè)時(shí),是否有與上頁(yè)相同的樣式,第2頁(yè)輸出是否正確;
6、需要特別提醒的數(shù)據(jù)(一些異常數(shù)據(jù))是否突出顯示;有些指標(biāo)計(jì)算方法特別或某些指標(biāo)容易混淆的情況下,頁(yè)面是否有加注釋;
四、報(bào)表功能的使用
1、各個(gè)指標(biāo)的組合篩選查詢是否正常;
2、輸出功能,如導(dǎo)出PDF、excel等使用是否正常;
3、打印設(shè)置、打印效果等是否正常;
4、分頁(yè),或分布導(dǎo)出等是否如常;
5、導(dǎo)常情況下的使用等。
五、性能
測(cè)試的前需要了解的信息:用戶訪問的頻率、使用習(xí)慣、數(shù)據(jù)范圍等。
1、數(shù)據(jù)范圍大小;
2、篩選查詢的響應(yīng)時(shí)長(zhǎng);
3、QPS(即每秒的響應(yīng)請(qǐng)求數(shù))。
六、數(shù)據(jù)的有效性
1、當(dāng)數(shù)據(jù)源有實(shí)時(shí)數(shù)據(jù)入庫(kù)時(shí), 相關(guān)報(bào)表類的展示多久統(tǒng)計(jì)出來?
2、是實(shí)時(shí)還是會(huì)有延緩?延緩多久?
3、數(shù)據(jù)延緩對(duì)指標(biāo)有何影響?
報(bào)表測(cè)試的很大關(guān)注成分在于數(shù)據(jù),那么,測(cè)試中對(duì)于數(shù)據(jù)的設(shè)計(jì)呢?
報(bào)表測(cè)試三大數(shù)據(jù)設(shè)計(jì)點(diǎn):
一、有效數(shù)據(jù)
有效數(shù)據(jù),顧名思義,是指既符合前臺(tái)業(yè)務(wù)規(guī)則,又符合統(tǒng)計(jì)規(guī)則的數(shù)據(jù)。它們會(huì)被統(tǒng)計(jì)進(jìn)報(bào)表中,對(duì)報(bào)表的統(tǒng)計(jì)值會(huì)產(chǎn)生正面的影響。
二、無效數(shù)據(jù)
無效數(shù)據(jù),屬于統(tǒng)計(jì)規(guī)則以外的數(shù)據(jù)。此類數(shù)據(jù),符合前臺(tái)業(yè)務(wù)規(guī)則,但不符合報(bào)表統(tǒng)計(jì)規(guī)則,即對(duì)報(bào)表的統(tǒng)計(jì)值不會(huì)產(chǎn)生任何影響。
三、異常數(shù)據(jù)
異常數(shù)據(jù),主要目的是用于檢驗(yàn)報(bào)表系統(tǒng)對(duì)數(shù)據(jù)的容錯(cuò)能力。此類數(shù)據(jù)不符合前臺(tái)業(yè)務(wù)規(guī)則,對(duì)報(bào)表的統(tǒng)計(jì)值會(huì)產(chǎn)生負(fù)面影響。最常見的場(chǎng)景是,統(tǒng)計(jì)值的分母為零。
這類數(shù)據(jù)的設(shè)計(jì),更多地應(yīng)用于報(bào)表系統(tǒng)與業(yè)務(wù)系統(tǒng)分離的情況中。當(dāng)報(bào)表系統(tǒng)與業(yè)務(wù)系統(tǒng)互相統(tǒng)一時(shí),異常數(shù)據(jù)會(huì)受到前臺(tái)業(yè)務(wù)規(guī)則的限制,即異常數(shù)據(jù)連出現(xiàn)的可能也沒有;在報(bào)表系統(tǒng)和業(yè)務(wù)系統(tǒng)分離的情況下,異常數(shù)據(jù)就很有可能由于數(shù)據(jù)傳輸?shù)牟煌?,造成短時(shí)間的出現(xiàn),此時(shí)報(bào)表系統(tǒng)對(duì)于錯(cuò)誤的處理機(jī)制就顯得非常重要了。

除了針對(duì)以上3類數(shù)據(jù)的設(shè)計(jì)以外,我們?cè)谠O(shè)計(jì)報(bào)表測(cè)試數(shù)據(jù)時(shí),還需要注意以下幾點(diǎn):
1、保證場(chǎng)景間測(cè)試數(shù)據(jù)的獨(dú)立性
這是為了保證數(shù)據(jù)可控而要注意的。如果一組數(shù)據(jù)的已經(jīng)在某個(gè)場(chǎng)景被使用過了,就不應(yīng)該再把這組數(shù)據(jù)應(yīng)用到其他的場(chǎng)景中,否則一旦出現(xiàn)測(cè)試結(jié)果與預(yù)期結(jié)果不一致,就會(huì)提高查錯(cuò)的難度。況且保證數(shù)據(jù)的獨(dú)立,可以更好地闡述缺陷,保留缺陷現(xiàn)場(chǎng),等待開發(fā)人員來解決。
2、數(shù)據(jù)的多樣性
多樣性是指為同一個(gè)場(chǎng)景準(zhǔn)備多組測(cè)試數(shù)據(jù),因?yàn)閼{借不同數(shù)據(jù)才能更好地接近真實(shí),更容易發(fā)現(xiàn)問題。
3、空?qǐng)?bào)表
所謂的空?qǐng)?bào)表,就是指在報(bào)表查詢條件下,沒有相符的源數(shù)據(jù),從而造成報(bào)表中的統(tǒng)計(jì)值為空。這樣的測(cè)試,是為了確保報(bào)表的正確性,檢查報(bào)表統(tǒng)計(jì)是否有張張冠李戴的現(xiàn)象。
4、注意數(shù)值的設(shè)計(jì)
這里所說的數(shù)值,是指統(tǒng)計(jì)值。
例如,統(tǒng)計(jì)值是百分比時(shí),我們需要覆蓋最大值(100.00%)、最小值(0.00%)、中間值(如38.01%)、小數(shù)位檢查(99.99%)。除了這些,我們還需要考慮負(fù)數(shù)、百分比超過100%、小數(shù)位的四舍五入等情況。
5、不同報(bào)表間的對(duì)照
同一組數(shù)據(jù)在不同報(bào)表中的表現(xiàn)應(yīng)該是一致的。
例如,在合同表中,合同總金額是1萬元;然而在協(xié)議表中查詢?cè)摵贤鶆?chuàng)建的協(xié)議總金額是1萬5千元,那么,這意味著肯定是其中一份報(bào)表出現(xiàn)問題了。
6、歷史數(shù)據(jù)的設(shè)計(jì)
歷史維度也屬于測(cè)試的一個(gè)重點(diǎn)。歷史維度的測(cè)試,涉及到歷史數(shù)據(jù)的設(shè)計(jì)。
例如,OA中的,A君4月前在市場(chǎng)中心,5月起調(diào)到了營(yíng)銷中心,那么5月后A君的業(yè)績(jī)是否仍計(jì)算在在市場(chǎng)中心?等等。
總結(jié):
以上,關(guān)于報(bào)表測(cè)試的一些匯總。其實(shí)這大部分是一些測(cè)試前輩的經(jīng)驗(yàn)了,剛踏上修煉之道的我實(shí)在不敢造次,但也知道:不管是一萬小時(shí)定律,還是厚積薄發(fā),當(dāng)你把知識(shí)累積到一定程度的時(shí)候就會(huì)發(fā)現(xiàn),原來,軟件測(cè)試的世界也可以這么有意思。
文章參考:
ü CSDN博客:如何測(cè)試報(bào)表
輸入店鋪信息,獲取專業(yè)全方面分析
* 您的信息將被嚴(yán)格保密,請(qǐng)放心填寫