后台数据逻辑的测试分析方法
生活随笔
收集整理的這篇文章主要介紹了
后台数据逻辑的测试分析方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一. ? ?關于后臺數(shù)據(jù)邏輯的測試分析 (一)基于業(yè)務場景的分析 1. 背景分析 用戶角色:數(shù)據(jù)的使用者,屬于什么崗位,什么角色,關注點是什么。 應用場景:數(shù)據(jù)在哪些前端業(yè)務系統(tǒng)中使用,業(yè)務關系是怎樣的。 使用目的:使用這些數(shù)據(jù)的目的是什么,能夠為業(yè)務帶來怎樣的效益。 2. 業(yè)務場景分解 統(tǒng)計維度:針對每個維度的粒度,層次和成員等。 統(tǒng)計口徑:針對哪個時間段的數(shù)據(jù)進行統(tǒng)計 統(tǒng)計指標:每個指標的定義及情景細分 計算邏輯:維度和指標的計算邏輯 更新頻率:數(shù)據(jù)更新的頻率。 3. 關于歷史數(shù)據(jù)的考量 比如新增字段,歷史數(shù)據(jù)是否需要補數(shù)。 (二)基于程序設計的分析 1. 存儲過程 所在包名 調用方式:通常是定時程序,數(shù)據(jù)庫job或java?quartz 功能說明:初始化邏輯和增量更新邏輯。 改動方式:新增或修改 入?yún)⒊鰠?目標表 2. 數(shù)據(jù)表 結果表:表結構是否滿足業(yè)務統(tǒng)計要求 中間表:a.用途;b.更新或刪除的機制 源表:a.源數(shù)據(jù)是否能滿足需求;b.源數(shù)據(jù)的分布;c.源表之間的關聯(lián)關系 3. Java邏輯 接口類型:通常是查詢接口 接口名稱 改動方式:新增或修改 入?yún)⒎祷?實現(xiàn)邏輯 4. 存儲過程和java接口的調用時機 存儲過程的調用順序和執(zhí)行時間。 Java接口的調用時機和觸發(fā)條件。 5. 初始化數(shù)據(jù),增量更新數(shù)據(jù),實時處理數(shù)據(jù) 初始化數(shù)據(jù):對當前所有數(shù)據(jù)的處理結果。 增量更新數(shù)據(jù):對每日變化數(shù)據(jù)的處理結果。 實時處理數(shù)據(jù):業(yè)務系統(tǒng)產(chǎn)生業(yè)務數(shù)據(jù)的同時進行數(shù)據(jù)處理的結果。 注意:除了測試初始化數(shù)據(jù)以外,還需要模擬增量更新數(shù)據(jù)的處理和需要實時處理的數(shù)據(jù)。
(三)基于結果表的或基于檢查點的分析 1. 列數(shù)據(jù)(字段): 檢查點: 每個字段的取值賦值是否正確; 哪些場景下需要更新字段值,程序是否都有考慮; 增量跑的時候,是否會錯誤的更新不該更新的數(shù)據(jù); 對列值進行分類,觀察是否有特殊數(shù)據(jù),給予特別關注。 2. 行數(shù)據(jù)(記錄): 檢查點:分類統(tǒng)計記錄數(shù),分析合理性。 (四)基于邊界條件和邊界數(shù)據(jù)的分析 這里只關注系統(tǒng)測試層面的邊界條件和邊界數(shù)據(jù),對于代碼層面的邊界值測試建議在單元測試階段完成,成本更低。 1. 邊界條件 需要測試上邊界和下邊界,以及超越上下邊界的情況。 在包含邊界條件的程序中可能開始一直是大于號判斷,到了下邊界可能會忘了改成小于號判斷。 2. 邊界數(shù)據(jù) 對于值的范圍,值的個數(shù),有序集合,需要選取正好等于,剛剛大于,剛剛小于,或者有序集合的第一個和最后一個。 二. ? ?關于后臺數(shù)據(jù)邏輯的測試方法 (一)常規(guī)測試方法 1. 編寫測試數(shù)據(jù)準備腳本(按維度) 查詢出基于測試分析得到的各種測試數(shù)據(jù)類型 2. 編寫測試數(shù)據(jù)驗證腳本(按指標) 按指標計算邏輯直接查詢得到或間接得到一個預期的結果值。 3. 查結果表 根據(jù)測試數(shù)據(jù)ID查結果表,得到一個實際的結果值。 4. 比較預期結果值和實際結果值 (二)基于存儲過程的測試方法 是基于常規(guī)測試方法的分析基礎上,將SQL打包成procedure,能夠更快速的執(zhí)行,并將測試結果記錄到測試表中。 1. 拆分,從復雜到簡單: 將復雜的邏輯拆分成若干個簡單片段,保證每個片段的數(shù)值或屬性值容易得到。 2. 建測試表: 在測試環(huán)境中,構建一張測試數(shù)據(jù)表,除ID外,為每個片段設置一個或幾個表字段,用于存儲每個片段得到的中間值。 3. 編寫測試存儲過程: 按照Step 1拆分的片段邏輯,直接使用數(shù)據(jù)庫存儲過程實現(xiàn)整個過程的統(tǒng)計分析,即寫一個測試用的存儲過程。 4. 執(zhí)行測試存儲過程和程序代碼: 測試執(zhí)行時,先執(zhí)行被測功能代碼邏輯,再基于同一個數(shù)據(jù)源執(zhí)行存儲過程的測試用例,最后對比測試表最終計算結果和被測功能代碼邏輯的計算結果。 5.分析比較結果并定位問題: 如果結果不一致,可根據(jù)測試數(shù)據(jù)表存儲的中間值,方便的進行手工核對,定位出錯點是測試用例還是代碼邏輯。 若用例出錯,及時修正測試用例;若測試用例沒有出錯,則可以根據(jù)計算過程的中間值,結合debug工具,定位代碼邏輯的bug點 好處:方便進行批量測試。 (三)基于探索式的隨機測試方法 1. 基于結果表,從各種維度去查詢數(shù)據(jù),觀察是否有可疑的數(shù)據(jù) 2. 基于結果表,用明顯不合理的條件從反向去驗證是否有異常數(shù)據(jù)存在 3. 基于源表,查詢關鍵字段的數(shù)據(jù)狀態(tài)。 觀察是否有異常數(shù)據(jù),對異常數(shù)據(jù)是否需要清洗機制。 4. 基于數(shù)據(jù)特點,分析是否可能有多對多的表關聯(lián)情況,可能導致數(shù)據(jù)翻倍 需要分析出存儲過程中涉及到哪些源表,源表之間的關系和數(shù)據(jù)特點 (四)基于生產(chǎn)模擬的用戶驗收式測試方法 從業(yè)務系統(tǒng)前臺操作產(chǎn)生業(yè)務數(shù)據(jù),通過真實模擬源數(shù)據(jù)的產(chǎn)生,檢查結果表的統(tǒng)計數(shù)據(jù)是否正確。 最后,還是祝福我的小寶貝聰明勇敢,善良快樂。祝福我的家人們平平安安,健健康康,真的好愛你們。 版權聲明:本文出自 暖洋洋 的51Testing軟件測試博客:http://www.51testing.com/?15019819 原創(chuàng)作品,轉載時請務必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任。
最新內容請見作者的GitHub頁:http://qaseven.github.io/
(三)基于結果表的或基于檢查點的分析 1. 列數(shù)據(jù)(字段): 檢查點: 每個字段的取值賦值是否正確; 哪些場景下需要更新字段值,程序是否都有考慮; 增量跑的時候,是否會錯誤的更新不該更新的數(shù)據(jù); 對列值進行分類,觀察是否有特殊數(shù)據(jù),給予特別關注。 2. 行數(shù)據(jù)(記錄): 檢查點:分類統(tǒng)計記錄數(shù),分析合理性。 (四)基于邊界條件和邊界數(shù)據(jù)的分析 這里只關注系統(tǒng)測試層面的邊界條件和邊界數(shù)據(jù),對于代碼層面的邊界值測試建議在單元測試階段完成,成本更低。 1. 邊界條件 需要測試上邊界和下邊界,以及超越上下邊界的情況。 在包含邊界條件的程序中可能開始一直是大于號判斷,到了下邊界可能會忘了改成小于號判斷。 2. 邊界數(shù)據(jù) 對于值的范圍,值的個數(shù),有序集合,需要選取正好等于,剛剛大于,剛剛小于,或者有序集合的第一個和最后一個。 二. ? ?關于后臺數(shù)據(jù)邏輯的測試方法 (一)常規(guī)測試方法 1. 編寫測試數(shù)據(jù)準備腳本(按維度) 查詢出基于測試分析得到的各種測試數(shù)據(jù)類型 2. 編寫測試數(shù)據(jù)驗證腳本(按指標) 按指標計算邏輯直接查詢得到或間接得到一個預期的結果值。 3. 查結果表 根據(jù)測試數(shù)據(jù)ID查結果表,得到一個實際的結果值。 4. 比較預期結果值和實際結果值 (二)基于存儲過程的測試方法 是基于常規(guī)測試方法的分析基礎上,將SQL打包成procedure,能夠更快速的執(zhí)行,并將測試結果記錄到測試表中。 1. 拆分,從復雜到簡單: 將復雜的邏輯拆分成若干個簡單片段,保證每個片段的數(shù)值或屬性值容易得到。 2. 建測試表: 在測試環(huán)境中,構建一張測試數(shù)據(jù)表,除ID外,為每個片段設置一個或幾個表字段,用于存儲每個片段得到的中間值。 3. 編寫測試存儲過程: 按照Step 1拆分的片段邏輯,直接使用數(shù)據(jù)庫存儲過程實現(xiàn)整個過程的統(tǒng)計分析,即寫一個測試用的存儲過程。 4. 執(zhí)行測試存儲過程和程序代碼: 測試執(zhí)行時,先執(zhí)行被測功能代碼邏輯,再基于同一個數(shù)據(jù)源執(zhí)行存儲過程的測試用例,最后對比測試表最終計算結果和被測功能代碼邏輯的計算結果。 5.分析比較結果并定位問題: 如果結果不一致,可根據(jù)測試數(shù)據(jù)表存儲的中間值,方便的進行手工核對,定位出錯點是測試用例還是代碼邏輯。 若用例出錯,及時修正測試用例;若測試用例沒有出錯,則可以根據(jù)計算過程的中間值,結合debug工具,定位代碼邏輯的bug點 好處:方便進行批量測試。 (三)基于探索式的隨機測試方法 1. 基于結果表,從各種維度去查詢數(shù)據(jù),觀察是否有可疑的數(shù)據(jù) 2. 基于結果表,用明顯不合理的條件從反向去驗證是否有異常數(shù)據(jù)存在 3. 基于源表,查詢關鍵字段的數(shù)據(jù)狀態(tài)。 觀察是否有異常數(shù)據(jù),對異常數(shù)據(jù)是否需要清洗機制。 4. 基于數(shù)據(jù)特點,分析是否可能有多對多的表關聯(lián)情況,可能導致數(shù)據(jù)翻倍 需要分析出存儲過程中涉及到哪些源表,源表之間的關系和數(shù)據(jù)特點 (四)基于生產(chǎn)模擬的用戶驗收式測試方法 從業(yè)務系統(tǒng)前臺操作產(chǎn)生業(yè)務數(shù)據(jù),通過真實模擬源數(shù)據(jù)的產(chǎn)生,檢查結果表的統(tǒng)計數(shù)據(jù)是否正確。 最后,還是祝福我的小寶貝聰明勇敢,善良快樂。祝福我的家人們平平安安,健健康康,真的好愛你們。 版權聲明:本文出自 暖洋洋 的51Testing軟件測試博客:http://www.51testing.com/?15019819 原創(chuàng)作品,轉載時請務必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任。
最新內容請見作者的GitHub頁:http://qaseven.github.io/
總結
以上是生活随笔為你收集整理的后台数据逻辑的测试分析方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GPU加速在前端的应用
- 下一篇: 消费者信任缺失,拼多多解决不了的问题其他