大数据综合能力测试_如何完成大数据测试?资深测试从功能测试角度为你分析分析...
大數(shù)據(jù),已經(jīng)成為了這個時代的代名詞。當(dāng)今的互聯(lián)網(wǎng)屬于大數(shù)據(jù)時代,大數(shù)據(jù)時代的到來,顛覆了以往對數(shù)據(jù)的慣性思考方式,要保證數(shù)據(jù)執(zhí)行,軟件質(zhì)量,測試質(zhì)量,數(shù)據(jù)使用場景等,都需要重新變換一個新的角度,對軟件進行更全方面的思考。
今天我想從功能測試的角度,討論大數(shù)據(jù)的功能測試要怎么做,用例怎么設(shè)計,才能覆蓋面更廣,更好的保證其正確性。
之前大數(shù)據(jù)很少有測試,開發(fā)會覺得:測試環(huán)境又沒有那么多數(shù)據(jù),你怎么測?拋開大數(shù)據(jù)的數(shù)據(jù)量大的特點,究其根本,他也是為業(yè)務(wù)服務(wù)的。有一句話我非常贊同:一切技術(shù)都是為業(yè)務(wù)服務(wù),脫離業(yè)務(wù)的技術(shù)一文不值。這句話在大數(shù)據(jù)時代的今天,依然適用,并且會一直適用下去。測試的工作就是要保證數(shù)據(jù)的正確性,業(yè)務(wù)邏輯正確。
大數(shù)據(jù)腳本也有輸入、輸出,這有點類似與功能測試中的后臺邏輯測試,沒有界面,一切都是后臺服務(wù)器處理的,測試人員必須要清楚整個處理流程,每個數(shù)據(jù)的流轉(zhuǎn),每個步驟的輸入和輸出,才能判斷最后的輸出結(jié)果是否正確。
對于大數(shù)據(jù)測試也是一樣,我們要清楚每個腳本的功能,每個腳本的輸入和輸出,整體數(shù)據(jù)流轉(zhuǎn)過程,來判斷大數(shù)據(jù)實現(xiàn)的功能是否正確。一個數(shù)據(jù)腳本或者一段數(shù)據(jù)計算邏輯,在大數(shù)據(jù)下運行正確的前提,必須是其功能是正確的,這也是我們測試人員首先要保證的。那么,我們應(yīng)該如何做呢?今天我想談下自己的淺見。
那么,怎么編寫測試用例呢?
功能測試編寫測試用例的常用方法:等價類、邊界值(這兩個方法估計做測試的都知道),同樣適用于大數(shù)據(jù)測試編寫用例,與通常意義上的功能測試不同的是,他的輸入不再是一個輸入框,而是一個數(shù)據(jù)庫字段或者一個有特殊意義的數(shù)據(jù)集(包含多個數(shù)據(jù))。
我們先回顧一下等價類和邊界值兩種常用的功能測試設(shè)計用例的方法。首先劃分等價類:是指某個輸入域的子集合。在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的,并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試。
那么,如何用大數(shù)據(jù)編寫測試用例呢?
1、收集大數(shù)據(jù)腳本
拿我們之前測試的一個大數(shù)據(jù)腳本舉例,腳本的主要功能是統(tǒng)計某家店鋪某一天的訂單量,根據(jù)設(shè)置的每個商品不同的返利規(guī)則,計算店鋪每天的利潤。
舉例說明
首先輸入分析條件:
1)指定店鋪
2)指定某一天
3)不同時間,不同的商品,不同的返點
商品1:2016.12.06 13:00:00-15:00:00,返利為5%;
商品2:2016.12.07 00:00:00-23:59:59,返利為15%;
所有商品,除指定時間外,返利均為1%。
他的等價類不再是一個輸入,而是一個條件,滿足這個條件的我們劃到有效等價類上,不滿足這個條件的,我們劃分到無效等價類上,而在條件邊界上的數(shù)據(jù)則是我們的邊界值。
? 用例劃分結(jié)果
其他編寫功能測試用例的方法,如場景分析法、分支覆蓋法,也同樣可以用在編寫大數(shù)據(jù)測試用例中,任何測試都不能脫離實際業(yè)務(wù),單純的測試數(shù)據(jù),或者單純的測試輸入,沒什么意義,我們必須結(jié)合不同的場景,設(shè)計更全面、更有效率的測試用例。
2、準(zhǔn)備測試數(shù)據(jù)
根據(jù)編寫的測試用例,準(zhǔn)備不同類型的測試數(shù)據(jù),這個也與功能測試一樣,測試數(shù)據(jù)不在數(shù)量的多少,而在于覆蓋的全面性,如果你準(zhǔn)備了幾千條數(shù)據(jù),但是數(shù)據(jù)類型都一樣,覆蓋的代碼分支也都是一條,那這些數(shù)據(jù)只有一條能稱之為有效測試數(shù)據(jù),其他的全部是無效測試數(shù)據(jù)。
其中準(zhǔn)備測試數(shù)據(jù),可以有幾種方法:
1)自己寫sql單條插入
2)使用存儲過程
3)從線上導(dǎo)導(dǎo)出數(shù)據(jù),直接導(dǎo)入到測試環(huán)境。
同時要注意,準(zhǔn)備測試數(shù)據(jù)時,盡量和實際數(shù)據(jù)保持一致,如時間的值,精確到時分秒還是只到年月日,還有金額保留幾位小數(shù)等。
3、執(zhí)行測試腳本,檢查測試結(jié)果
準(zhǔn)備好測試數(shù)據(jù)后,就可以執(zhí)行測試腳本,腳本可能是在hadoop平臺上,也可能是在其他平臺上,但這些都只是一個操作,類似我們學(xué)習(xí)一個工具怎么使用,知道怎么運行腳本后,接下來的工作就又回歸到測試上來,這時候測試人員要做的事情就是利用準(zhǔn)備好的數(shù)據(jù),執(zhí)行腳本,檢查預(yù)期結(jié)果和實際結(jié)果是否一致,判斷腳本邏輯是否正確,這完全是我們功能測試的工作一模一樣。
所以,不管什么類型的測試,其測試過程都是通用的,測試方法都是可借鑒的,我們儲備了足夠多的測試基礎(chǔ)和測試方法,就可以輕松應(yīng)對各種不同的測試。
總結(jié)
以上是生活随笔為你收集整理的大数据综合能力测试_如何完成大数据测试?资深测试从功能测试角度为你分析分析...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果支付服务 Apple Pay 上线
- 下一篇: 早报:iQOO Z7系列发布 起亚公布