解密!傳統測試 vs 大資料測試
❝導語
❞
小夥伴們對傳統測試已經非常熟悉了,從測試手段來區分:功能測試、效能測試、自動化測試、安全測試、介面測試就有多種。 那麼大資料測試到底測啥以及如何測,非常遺憾的告訴夥伴們,目前業界沒有通用的方法定義大資料測試,本篇借鑑傳統測試的思想跟大夥一起探討下「大資料測試的範圍」。
目錄
- 傳統測試範圍的定義
- 大資料的功能性與易用性
- 大資料的可靠性與效率
1 傳統測試範疇的定義
ISO9126軟體質量模型標準定義了軟體評估的6大特性分別是:功能性、易用性、可靠性、效率性、可維護性、可移植性,也就意味著軟體測試基本上圍繞著這6個特性展開,詳情見: ISO9126軟體質量模型的六大特性
2 大資料的功能性與易用性
我們借鑑ISO9126軟體質量模型,看看大資料的功能性、易用性需考慮方面
2.1 功能性
說明:ISO9126 裡面指滿足需求文件和相關標準能力,分別從「適合性、準確性、互操作性、保密安全性、功能的依從性」去定義,好比測試一臺手機:確保它功能完整(能打電話、發簡訊、執行app、拍照..),滿足使用者日常的需求,並且符合互操作性(確保打電話的時能執行手機上的app),發出去的簡訊傳輸過程是通過加密、安全的,並且該手機的功能在國際上具備一定的規範一致性
對比:這裡我們將其進行遷移到資料測試上,例:公司通過爬蟲獲取到友商的一些資料,作為測試人員可以嘗試考慮這些方面:
2.2 資料全面性
質疑下拿到的爬蟲資料對應的友商是否全面,
- 除了友商A的資料應該獲取,友商B、C、D的資料是否有考慮
- 每個友商選取的對標門店是否具有代表性,需考慮
通常在「需求評審階段提出」
2.3 資料完整性
質疑拿到的資料是否完整,這裡完整指:
- 資料確保指定時間範圍內每天有資料,排除被風控了的情況
- 資料是否重複,例:同1條URL對應2條結果資料
- 資料預期與結果總條數一致
通常在「etl測試階段考慮」
2.4 資料合理性
質疑拿到的資料是否符合資料庫規定型別、以及是否出現出現異常值
- 欄位型別check,如對重要欄位型別check,例:int型下出現其他字元型別情況
- 欄位異常值check,例:null、空、或者另外一些約定異常值
- 欄位預設值一致性驗證check,例: 從A表同步到B表後,某欄位列舉值含義相同
在「etl測試階段」 或者 「資料應用層」測試考慮
2.5 資料準確性
質疑拿到資料的結果表與資料來源頭表是否一致,可能源表經過A -> B -> C處理後得到結果表,所以需要驗證整個過程資料是否失真,確保資料的準確與一致
- 基於總數的驗證,即 A -> B -> C後總數一致,可能到C後有聚合的資料,視情況而定,即在A時有10萬條資料,到C階段理論也有10萬。
- 基於總數額的驗證,即 A -> B -> C後總額一致,這裡的總額可能是:金額、銷量等。 在「etl測試階段」 或者 「資料應用層」測試考慮
2.6 安全性驗證
對於某些敏感的資料往往需要考慮其安全性,可以是從獲取資料的方式,也可以是資料本身安全性上。
- 賬號的隔離,測評是否有必要採用賬號隔離訪問資料
- 基於對某些資料欄位,測評是否有必要對某些欄位進行加密考慮,例:身份證、家庭住址、金錢等方面的加密 在「需求評審」階段考慮
2.7 易用性驗證
確保資料獲取的過程順暢,如果資料需要通過很多命令執行並且連線多個環境才能獲取到,這樣的資料易用性則不強,以及每個指定的一定能被人所理解。
- 資料獲取的互動是否過於複雜
- 資料對應的指標能被人所理解,例:MAU-月活人數、DAU-日活人數
在需求「評審階段」 或 「研發設計階段」考慮
3 大資料的可靠性與效率
同樣的當處理大資料的平臺出現不可預知的錯誤時,或者資料處理變慢時,我們得有一些處理方案讓其能短時間內恢復,或者即便恢復不了也有一些應急的方案,讓其「不影響到整個鏈路的上下游」,這裡其實就是對處理大資料的平臺可靠性與效率性的保證。
- 「資料恢復性」,當平臺出現異常時,可以有一些重試機制進行重試,確保系統短時間內能恢復。
- 「資料容錯性」,即便通過重試機制不能恢復時,需保證上游資料不能影響到下游的資料,可以有一些預設資料的預置,確保下游總能獲取到資料。
- 「時間與資源」,當平臺運算資源緊張任務繁重的時候,可能會出現長時間的等待,這時候除了需要跟研發一起優化SQL執行緒,還需要設計一些互動展示一些頁面給使用者,減少等待帶來的使用者體檢差的問題
4 大資料的可維護性與可移植性
可維護性指:資料可用且及時被維護,可移植性指:無論資料的遷入與遷出都不會影響到資料的使用
-
「維護庫表之間關係」,由於通常大資料隨著時間的推移資料庫表會越來越多,需要確保有地方能維護資料庫表之間的關係。
-
「維護單表欄位含義」,例:某天業務上新定義銷售型別,那麼需要在對應的表內註解出及時維護。
-
「資料的遷入/遷出」:確保資料遷入/遷出欄位不丟失以及資料完整性(參考2.3 資料完整性)
關注我的微信公眾號【資料猿溫大大】,這裡有更多關於資料測試的乾貨等著你~~
本文使用 mdnice 排版
相關文章
- 大資料測試與 傳統資料庫測試大資料資料庫
- 敏捷測試VS傳統測試對比,6招玩轉敏捷測試!敏捷測試
- 大資料測試技術——課堂測試大資料
- 從傳統測試轉向敏捷測試敏捷測試
- 大資料測試之ETL大資料
- 什麼是大資料測試?大資料測試實現步驟有哪些?大資料
- 大資料測試學習筆記之測試工具集大資料筆記
- 大資料測試之hadoop初探大資料Hadoop
- 測試資料
- 測試測試測試測試測試測試
- 功能測試之存量資料新與增資料測試
- PHP 單元測試與資料庫測試PHP資料庫
- 自動化測試如何管理測試資料
- APP測試和傳統軟體測試有什麼區別APP
- 4大軟體測試策略的特點和區別(單元測試、整合測試、確認測試和系統測試)
- TestComplete資料驅動測試教程(二)——記錄測試資料
- AI測試與傳統測試不同,需要考慮十個要點AI
- 大資料的測試思維與探索大資料
- 小白學習大資料測試之hadoop大資料Hadoop
- 大資料測試 - 相關性評估大資料
- 一個測試用例裡面有多套測試資料,如何用 beautifureport 分別對各組測試資料進行統計測試通過與否
- Mock生成測試資料Mock
- shell生成測試資料
- 資料包表測試
- 資料清洗如何測試?
- 資料庫測試指南資料庫
- 門戶系統測試---功能測試
- Go 單元測試之Mysql資料庫整合測試GoMySql資料庫
- 大資料測試之揭秘大資料的背景與發展大資料
- 關於大資料測試,你一定要試試python的fake庫大資料Python
- 最快方式搭建docker大資料 測試叢集Docker大資料
- Kunlun-Storage vs PostgreSQL OLTP 測試SQL
- 門戶系統測試---測試計劃
- TestComplete資料驅動測試教程(三)——修改記錄測試
- 軟體測試之資料庫測試技術系列七資料庫
- JB的測試之旅-測試資料的準備/構造
- MySQL製作具有千萬條測試資料的測試庫MySql
- 測試面試(三)--資料庫與linux面試資料庫Linux