qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請?jiān)L問 http://qaseven.github.io/

          基于數(shù)據(jù)驅(qū)動的接口測試框架設(shè)計(jì)

           首先簡要介紹一下我們的系統(tǒng)。我們整個系統(tǒng)中,可視化的應(yīng)用(web,APP)都是基于后端的saasapi。我們的saasapi采用rest風(fēng)格,采用http協(xié)議,以json作為數(shù)據(jù)載體。所以,對后端的api接口進(jìn)行測試很有必要。
            用到的技術(shù)包括:maven、junit4,json開發(fā)包、hudson、jdbc等等。
            1.項(xiàng)目目錄結(jié)構(gòu)(采用maven)
            2.用例組織和規(guī)則約束
            用例組織
            例如:trackSegListWithTime(軌跡分段)、segTrackData(軌跡點(diǎn)顯示)接口屬于我的車模塊。那么就在src/test/java源文件夾下面建立一個我的車模塊包c(diǎn)om.cpsdna.saasapi.test.vehicle,然后新建測試接口的類:    TrackSegListWithTimeTest.java、 SegTrackDataTest.java
            命名規(guī)則
            測試類命名規(guī)則:接口名稱+Test,例如SegTrackDataTest.java(軌跡點(diǎn)顯示接口的測試類)
            方法命名規(guī)則:test+方法意義,例如testSegTrackDataWithNoObjId(以沒有objId參數(shù)方式測試segTrackData接口 )
            3.測試方法步驟
            1.聲明參數(shù)變量
            2.從數(shù)據(jù)庫讀取該參數(shù)變量的值
            3.組裝發(fā)送的json報文,把參數(shù)變量加入其中
            4.向服務(wù)器端發(fā)送json
            5.接收從服務(wù)器端返回的信息(json或者其它)
            6.通過json開發(fā)包(json-lib,gson)解析從服務(wù)器返回的json
            7.添加斷言(預(yù)期的結(jié)果和解析的實(shí)際結(jié)果是否一致)
            下面給一個實(shí)例:
           4.數(shù)據(jù)驅(qū)動
            1.為什么要用數(shù)據(jù)驅(qū)動?
            測試數(shù)據(jù)(參數(shù)變量)和測試行為(邏輯代碼)分離。這些對于用例的健壯性,復(fù)用性都是至關(guān)重要的。
            2.為什么存在數(shù)據(jù)庫?
            易于管理,存儲方便。(后期我還建一個用例數(shù)據(jù)管理的web平臺)
            5.如何保證取到所想要的參數(shù)值?
            類名+方法名+參數(shù)名,3個組合必須系統(tǒng)唯一,以此來保證調(diào)用正確的參數(shù)
            SELECT PARAM_VALUE FROM params WHERE CLASS_NAME = '"+className+"' AND METHOD_NAME='"+methodName+"' AND PARAM_NAME='"+paramName+"' AND `STATUS` = '0'
            6.測試數(shù)據(jù)管理
            1.通過數(shù)據(jù)庫軟件直接操作(存在誤操作風(fēng)險)
            2.通過開發(fā)的測試數(shù)據(jù)管理平臺管理
            7.持續(xù)集成
            對于龐大的測試用例,一個個執(zhí)行或者通過測試套件執(zhí)行,很明顯不方便。我們通過和hudson集成,把寫好的代碼提交到svn后,maven和hudson配合,對接口測試用例進(jìn)行持續(xù)集成。這樣也好得到測試報告。
            上面就是我對于基于數(shù)據(jù)驅(qū)動的接口測試框架設(shè)計(jì)的一些實(shí)踐。比較大概的寫出來,具體還有很多很多的細(xì)節(jié),以及在這開發(fā)之中遇到的困難,如果有機(jī)會再慢慢道來。平凡的技術(shù)做踏實(shí)的事情。

          posted on 2014-07-08 13:59 順其自然EVO 閱讀(325) 評論(0)  編輯  收藏 所屬分類: 測試學(xué)習(xí)專欄

          <2014年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 上蔡县| 永仁县| 临清市| 册亨县| 蓝山县| 东明县| 通化县| 石嘴山市| 白河县| 永和县| 博爱县| 蓬溪县| 台中县| 平定县| 大石桥市| 定襄县| 慈溪市| 太和县| 商河县| 潜山县| 松溪县| 怀安县| 府谷县| 日喀则市| 乃东县| 淮北市| 清原| 南漳县| 东城区| 麻江县| 海兴县| 镇安县| 宁安市| 巴青县| 三江| 诸城市| 华容县| 富宁县| 深泽县| 彩票| 阿克苏市|