聊聊大數(shù)據(jù)測(cè)試那些事
小伙伴們對(duì)傳統(tǒng)測(cè)試已經(jīng)非常熟悉了,從測(cè)試手段來區(qū)分:功能測(cè)試、性能測(cè)試、自動(dòng)化測(cè)試、安全測(cè)試、接口測(cè)試就有多種。
那么大數(shù)據(jù)測(cè)試到底測(cè)啥以及如何測(cè),非常遺憾的告訴伙伴們,目前業(yè)界沒有通用的方法定義大數(shù)據(jù)測(cè)試,本篇借鑒傳統(tǒng)測(cè)試的思想跟大伙一起探討下大數(shù)據(jù)測(cè)試的范圍。
目錄如下
1、傳統(tǒng)測(cè)試范圍的定義
2、大數(shù)據(jù)的功能性與易用性
3、大數(shù)據(jù)的可靠性與效率
1 傳統(tǒng)測(cè)試范疇的定義
ISO9126軟件質(zhì)量模型標(biāo)準(zhǔn)定義了軟件評(píng)估的6大特性分別是:功能性、易用性、可靠性、效率性、可維護(hù)性、可移植性,也就意味著軟件測(cè)試基本上圍繞著這6個(gè)特性展開,詳情見:
ISO9126軟件質(zhì)量模型的六大特性
2 大數(shù)據(jù)的功能性與易用性
我們借鑒ISO9126軟件質(zhì)量模型,看看大數(shù)據(jù)的功能性、易用性需考慮方面

2.1 功能性
說明:ISO9126 里面指滿足需求文檔和相關(guān)標(biāo)準(zhǔn)能力,分別從適合性、準(zhǔn)確性、互操作性、保密安全性、功能的依從性去定義,好比測(cè)試一臺(tái)手機(jī):確保它功能完整(能打電話、發(fā)短信、運(yùn)行app、拍照..),滿足用戶日常的需求,并且符合互操作性(確保打電話的時(shí)能運(yùn)行手機(jī)上的app),發(fā)出去的短信傳輸過程是通過加密、安全的,并且該手機(jī)的功能在國(guó)際上具備一定的規(guī)范一致性
對(duì)比:這里我們將其進(jìn)行遷移到數(shù)據(jù)測(cè)試上,例:公司通過爬蟲獲取到友商的一些數(shù)據(jù),作為測(cè)試人員可以嘗試考慮這些方面:
2.2 數(shù)據(jù)全面性

質(zhì)疑下拿到的爬蟲數(shù)據(jù)對(duì)應(yīng)的友商是否全面,
除了友商A的數(shù)據(jù)應(yīng)該獲取,友商B、C、D的數(shù)據(jù)是否有考慮
每個(gè)友商選取的對(duì)標(biāo)門店是否具有代表性,需考慮
通常在需求評(píng)審階段提出
2.3 數(shù)據(jù)完整性

質(zhì)疑拿到的數(shù)據(jù)是否完整,這里完整指:
數(shù)據(jù)確保指定時(shí)間范圍內(nèi)每天有數(shù)據(jù),排除被風(fēng)控了的情況 數(shù)據(jù)是否重復(fù),例:同1條URL對(duì)應(yīng)2條結(jié)果數(shù)據(jù) 數(shù)據(jù)預(yù)期與結(jié)果總條數(shù)一致
通常在etl測(cè)試階段考慮
2.4 數(shù)據(jù)合理性
質(zhì)疑拿到的數(shù)據(jù)是否符合數(shù)據(jù)庫(kù)規(guī)定類型、以及是否出現(xiàn)出現(xiàn)異常值
字段類型check,如對(duì)重要字段類型check,例:int型下出現(xiàn)其他字符類型情況 字段異常值check,例:null、空、或者另外一些約定異常值 字段默認(rèn)值一致性驗(yàn)證check,例: 從A表同步到B表后,某字段枚舉值含義相同
在etl測(cè)試階段 或者 數(shù)據(jù)應(yīng)用層測(cè)試考慮
2.5 數(shù)據(jù)準(zhǔn)確性

質(zhì)疑拿到數(shù)據(jù)的結(jié)果表與數(shù)據(jù)源頭表是否一致,可能源表經(jīng)過A -> B -> C處理后得到結(jié)果表,所以需要驗(yàn)證整個(gè)過程數(shù)據(jù)是否失真,確保數(shù)據(jù)的準(zhǔn)確與一致
基于總數(shù)的驗(yàn)證,即 A -> B -> C后總數(shù)一致,可能到C后有聚合的數(shù)據(jù),視情況而定,即在A時(shí)有10萬條數(shù)據(jù),到C階段理論也有10萬。 基于總數(shù)額的驗(yàn)證,即 A -> B -> C后總額一致,這里的總額可能是:金額、銷量等。
在etl測(cè)試階段 或者 數(shù)據(jù)應(yīng)用層測(cè)試考慮
2.6 安全性驗(yàn)證

對(duì)于某些敏感的數(shù)據(jù)往往需要考慮其安全性,可以是從獲取數(shù)據(jù)的方式,也可以是數(shù)據(jù)本身安全性上。
賬號(hào)的隔離,測(cè)評(píng)是否有必要采用賬號(hào)隔離訪問數(shù)據(jù) 基于對(duì)某些數(shù)據(jù)字段,測(cè)評(píng)是否有必要對(duì)某些字段進(jìn)行加密考慮,例:身份證、家庭住址、金錢等方面的加密
在需求評(píng)審階段考慮
2.7 易用性驗(yàn)證
確保數(shù)據(jù)獲取的過程順暢,如果數(shù)據(jù)需要通過很多命令執(zhí)行并且連接多個(gè)環(huán)境才能獲取到,這樣的數(shù)據(jù)易用性則不強(qiáng),以及每個(gè)指定的一定能被人所理解。
數(shù)據(jù)獲取的交互是否過于復(fù)雜
數(shù)據(jù)對(duì)應(yīng)的指標(biāo)能被人所理解,例:MAU-月活人數(shù)、DAU-日活人數(shù)
3 大數(shù)據(jù)的可靠性與效率
同樣的當(dāng)處理大數(shù)據(jù)的平臺(tái)出現(xiàn)不可預(yù)知的錯(cuò)誤時(shí),或者數(shù)據(jù)處理變慢時(shí),我們得有一些處理方案讓其能短時(shí)間內(nèi)恢復(fù),或者即便恢復(fù)不了也有一些應(yīng)急的方案,讓其不影響到整個(gè)鏈路的上下游,這里其實(shí)就是對(duì)處理大數(shù)據(jù)的平臺(tái)可靠性與效率性的保證。

數(shù)據(jù)恢復(fù)性,當(dāng)平臺(tái)出現(xiàn)異常時(shí),可以有一些重試機(jī)制進(jìn)行重試,確保系統(tǒng)短時(shí)間內(nèi)能恢復(fù)。
數(shù)據(jù)容錯(cuò)性,即便通過重試機(jī)制不能恢復(fù)時(shí),需保證上游數(shù)據(jù)不能影響到下游的數(shù)據(jù),可以有一些默認(rèn)數(shù)據(jù)的預(yù)置,確保下游總能獲取到數(shù)據(jù)。
時(shí)間與資源,當(dāng)平臺(tái)運(yùn)算資源緊張任務(wù)繁重的時(shí)候,可能會(huì)出現(xiàn)長(zhǎng)時(shí)間的等待,這時(shí)候除了需要跟研發(fā)一起優(yōu)化SQL線程,還需要設(shè)計(jì)一些交互展示一些頁(yè)面給用戶,減少等待帶來的用戶體檢差的問題
4 大數(shù)據(jù)的可維護(hù)性與可移植性

可維護(hù)性指:數(shù)據(jù)可用且及時(shí)被維護(hù),可移植性指:無論數(shù)據(jù)的遷入與遷出都不會(huì)影響到數(shù)據(jù)的使用
維護(hù)庫(kù)表之間關(guān)系,由于通常大數(shù)據(jù)隨著時(shí)間的推移數(shù)據(jù)庫(kù)表會(huì)越來越多,需要確保有地方能維護(hù)數(shù)據(jù)庫(kù)表之間的關(guān)系。
維護(hù)單表字段含義,例:某天業(yè)務(wù)上新定義銷售類型,那么需要在對(duì)應(yīng)的表內(nèi)注解出及時(shí)維護(hù)。
數(shù)據(jù)的遷入/遷出:確保數(shù)據(jù)遷入/遷出字段不丟失以及數(shù)據(jù)完整性(參考2.3 數(shù)據(jù)完整性)
--end--
