• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 自動化用例的自動生成技術

    發表于:2012-12-27來源:淘測試作者:雷藏點擊數: 標簽:自動化用例
    閑話少說,直奔主題。 先來看看用例構成:輸入數據(包括方法入參,數據庫狀態)+ 方法調用+ 預期結果+ 結果比對 而這里面“方法調用”,“結果比對”都是固定的可以封裝起來,所以用例的核心就是數據:輸入數據,預期數據。只要解決了這兩個問題所有
      閑話少說,直奔主題。
      先來看看用例構成:輸入數據(包括方法入參,數據庫狀態)+ 方法調用+ 預期結果+ 結果比對
      而這里面“方法調用”,“結果比對”都是固定的可以封裝起來,所以用例的核心就是數據:輸入數據,預期數據。只要解決了這兩個問題所有問題就解決了。
      空說無憑,將這兩天做的一個日常作為實例來說明問題。
      需求說明:
      根據B2B用戶nick,獲取用戶信息(user),用戶旺旺處罰規則code(ruleCode),用戶狀態(suspended),處罰中心相關數據(punishData),如果是子帳號還需要獲取子帳號相關信息(mmpData)
      詳細設計流程圖如下:
      1、解決輸入數據問題
      第一步,對上述詳細設計進行分析,整理出輸入、輸出,這里的輸入包括“方法調用入參”,“數據庫數據”:
    輸入數據 入參nick
    旺旺規則數據wwLimitData
    用戶狀態suspended
    處罰中心數據punishData
    子帳號數據mmpData
    輸出數據 用戶信息user
    旺旺ruleCode
    用戶suspended
    處罰數據punishData
    子帳號數據mmpData
      第二步,整理出所有輸入數據的取值范圍,這里就要把我們生平所學的所有業務知識、測試理論全都用上,什么等價類啊,邊界值啊,隨便吧,總之八仙過海各顯神通,不過這里數據取的不好是會影響測試用例質量的哦!(PS:數據庫字段數據的取值范圍有個偷懶的辦法,可以去線上庫distinct一下,立馬就有了):
    輸入數據 類型 取值范圍(包含異常取值) 取值個數
    nick String “”,空串
    null
    “1233211”,不存在的用戶nick
    “leizang_test”, 淘寶帳號
    “leizang_btob_1”,B2b帳號
    “ leizang_btob_1:subnick01”, 子帳號
    6
    suspended Integer 0,1,2,3,-9 5
    wwLimitData String null
    “true”
    “OK_WW”
    “ LIMIT_WW”
    “ {"ruleCode":"","wwuic-limit":"OK_WW"}”
    “ {"ruleCode":"xxxx","wwuic-limit":"LIMIT_WW"}”
    6
    punishData String null
    "UEsDBBQACAAIAGL/Ua61XfDlBLBwi2PNplVAAAAPwDAAA="
    2
    mmpData String null
    “{"accountStatus":-1}”
    “{"accountStatus":3,"owedStatus":-1}”
    3
      一旦輸入范圍確定,用例的輸入就好解決了,最笨的辦法就是把所有的數據排列組合一遍,肯定能測試到所有的場景,只是用例的數量龐大一點而已,排列組合后的用例個數為:6*5*6*2*3= 1080個,哇靠,這么多啊,果然不是人能做出來的,看你以后老板還敢不敢要求腳本數量。不過呢,這里面水分很多,有很多重復場景,那有效場景到底有多少呢?我們先放一放,容后再談,先來解決一下預期數據的準備問題。
      2、解決預期數據問題
      梳理流程圖,整理出依賴關系,“A-- > B”表示A依賴于B:
      整理出的依賴關系如下:
    中間對象 被依賴對象
    user nick
    ruleCode user, wwLimitData
    isFrozen user, wwLimitData
    suspended user, isFrozen
    punishData user, punishData, suspended
    mmpData user, mmpData
      這樣,我們可以針對每一個“中間對象”(沒想到好名字,姑且先這么叫)編寫一個獲取中間對象取值范圍的方法。注意這里用詞是“取值范圍”,跟開發的程序邏輯是不一樣的,是我們根據“輸入的數據”并按照“業務規則”得出的,我們直接用數據說話,那么到底該如何編寫呢?接著往下看。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>