接口測(cè)試用例設(shè)計(jì)
1:接口說明文檔的重要性 1.1接口文檔的特點(diǎn) 接口文檔,顧名思義就是對(duì)接口說明的文檔。好的接口文檔包含了對(duì)接口URL,參數(shù)以及輸出內(nèi)容的說明,我們參照接口文檔就能編寫出一個(gè)個(gè)的測(cè)試用例。而且接口文檔詳細(xì)的話,測(cè)試用例編寫簡(jiǎn)單,不會(huì)遺漏。如果一個(gè)接口文檔沒有寫清楚,你從文檔中分不出哪些兒參數(shù)是必需的,哪些兒是非必須的,而且沒有參數(shù)的取值說明,返回值的結(jié)構(gòu)等信息的話,測(cè)試人員是無法 編寫相應(yīng)的測(cè)試用例的。但是由于開發(fā)人員不愿意寫文檔,所以很多接口文檔相對(duì)來說比較簡(jiǎn)單,模糊不清,這對(duì)我們做接口自動(dòng)化測(cè)試是很大的阻礙。1.2 接口文檔的結(jié)構(gòu)接口文檔可以包含很多信息,有的愿意寫就可以多寫的,不太愿意寫的話,就寫的信息相對(duì)來說會(huì)少點(diǎn)兒。不過,下面幾項(xiàng)內(nèi)容必須有,這是我們使用接口中和測(cè)試接口的依據(jù):(1)接口名稱。標(biāo)識(shí)各個(gè)接口的簡(jiǎn)單說明,如登錄接口,獲取項(xiàng)目詳情接口等。(2)接口URL。接口的調(diào)用地址,在測(cè)試環(huán)境下前面的域名可能不一樣,不過接口名是不會(huì)變的。(3)調(diào)用方式。接口的調(diào)用方式:Post/Get方式,決定了如何調(diào)用接口及傳遞參數(shù)。(4) 參數(shù)。接口需要傳遞的參數(shù),參數(shù)需要增加些兒說明: (a) 參數(shù)值類型說明:參數(shù)值要說明一下,只支持字母,數(shù)據(jù),特殊字符或是字母數(shù)據(jù)混搭。(b)參數(shù)長(zhǎng)度說明:參數(shù)接收最大多少個(gè)的字符串,或是最大是多少的數(shù)值等。(c) 參數(shù)取值范圍:像枚舉型的參數(shù),只接收什么范圍內(nèi)的數(shù)據(jù),如1-5等。(d)參數(shù)的配合說明:有些兒參數(shù)需要配合起作用的,如:offset和count參數(shù)。(e) 參數(shù)是必需的還是非必需的。(5)返回值。接口的返回值說明需要包含正確和錯(cuò)誤的情況,正確的情況下有哪兒數(shù)據(jù),錯(cuò)誤的情況下會(huì)有什么提示?(6)其他的一些兒說明。上面的說明是通用的,還有其他的一些兒說明,如必須是登錄狀態(tài)調(diào)用,或是版本號(hào)等說明,在某些兒情況下也需要說明一下。嚴(yán)格要求的公司會(huì)要求接口開發(fā)人員標(biāo)明上面相關(guān)的接口說明,此時(shí)我們做接口測(cè)試的時(shí)候,就可以參照文檔來轉(zhuǎn)化我們的測(cè)試用例。但目前國(guó)內(nèi)很多公司不太注重文檔,接口信息不全是常有的事情。1.3 接口文檔缺失 針對(duì)目前接口文檔信息不全或是沒有接口文檔的情況下,如果上面的領(lǐng)導(dǎo)要求我們做接口自動(dòng)化測(cè)試,這無異是一個(gè)非常艱辛的任務(wù)。但是奉承著“兵來將當(dāng),水來土掩”的原則,我們要想著解決辦法。(1)完全沒有接口文檔。這個(gè)情況是最麻煩的,我們要找開發(fā)人員來商量 ,最好能補(bǔ)個(gè)接口文檔,如果實(shí)在來不及那就給個(gè)調(diào)用接口的實(shí)例。實(shí)例中會(huì)有接口地址,參數(shù)等信息,我們?nèi)y(cè)試環(huán)境中調(diào)用一下,就能看到返回結(jié)果的情況。(2)接口文檔信息不全。信息不全這個(gè)最常見,像參數(shù)說明缺少啊,沒有說明哪些兒是必需的參數(shù),哪些兒是非必需的,或是沒有說明取值范圍等。此時(shí)我們能問開發(fā)就問開發(fā),如果不太方便,就要做嘗試:一般非必需的參數(shù)不會(huì)做容錯(cuò)的判斷,必需的參數(shù)檢測(cè)的方面比較全面。(3)文檔不是最新的。接口的后續(xù)的工作中被修改或是優(yōu)化過,我們按接口文檔上的說明去調(diào)用,返回和預(yù)期的不一樣。通知開發(fā)更新文檔,然后用最新的文檔再去修改測(cè)試用例。這個(gè)接口文檔需要和接口開發(fā)人員做好約定,開發(fā)新接口時(shí)要把接口信息寫清楚,如果更新原來的接口,要及時(shí)更新接口文檔。同時(shí)在寫接口自動(dòng)化測(cè)試用例的時(shí)候,要多和開發(fā)人員溝通,只有通過大家的一起努力,才能把工作做的越來越好。 2:接口測(cè)試用例設(shè)計(jì)關(guān)注點(diǎn)接口的測(cè)試設(shè)計(jì)主要關(guān)注點(diǎn)1. 接口中所有的入?yún)⒍家獙憸y(cè)試用例。2. 每個(gè)入?yún)⒌拿總€(gè)錯(cuò)誤類型都要準(zhǔn)備一個(gè)異常用例。如必須參數(shù)缺省、參數(shù)類型錯(cuò)誤、參數(shù)范圍錯(cuò)誤、參數(shù)超過最大位數(shù)、參數(shù)沒有達(dá)到最小指定位數(shù)、參數(shù) 的無效值(有效狀態(tài)外)、參數(shù)的小數(shù)點(diǎn)超過規(guī)定長(zhǎng)度、參數(shù)含有非法字、參數(shù)含有違禁字、參數(shù)的關(guān)聯(lián)性檢查(如所在省、市,所在地不匹配)等等。3. 對(duì)于正常系的用例,要把所有入?yún)⒌母鞣N合法的有效值都執(zhí)行到。所有入?yún)⒌淖畲笪豢梢杂靡粋€(gè)測(cè)試用例執(zhí)行掉。所有可缺省的參數(shù)不要(只輸入必須參數(shù))的測(cè)試用例也要做一個(gè)。4. 對(duì)于搜索接口,應(yīng)該把每個(gè)參數(shù)單獨(dú)作為搜索條件來確認(rèn)搜索結(jié)果是否正確,然后再確認(rèn)多條件輸入后的結(jié)果。 如下是部分參數(shù)的接口測(cè)試設(shè)計(jì)的截圖:接口的測(cè)試代碼的編寫 大家應(yīng)該發(fā)現(xiàn)了對(duì)于所有的參數(shù),我們都需要校驗(yàn)一下參數(shù)的基本特征,如前面講到的異常用例一樣。那么接口測(cè)試代碼又是什么樣的呢?!?step1: 編寫測(cè)試基類(加載資源、初始化環(huán)境)(可選)?!?step2: 編寫測(cè)試類。· step3: 在該測(cè)試類中編寫測(cè)試方法?!?step4: 在測(cè)試方法中調(diào)用被測(cè)方法。· step5: 驗(yàn)證預(yù)期結(jié)果與返回的結(jié)果是否一致。· step6: 執(zhí)行測(cè)試查看測(cè)試結(jié)果。 那么針對(duì)所有的接口測(cè)試用例寫接口測(cè)試代碼,可以看到的是,我們的接口測(cè)試代碼主要是入?yún)⒌牟煌?,校?yàn)結(jié)果的不同,其他區(qū)域的測(cè)試代碼都是一樣的。我們要做的是不斷的 copy 前一個(gè)測(cè)試用例代碼,然后修改某個(gè)參數(shù)、修改某個(gè)驗(yàn)證點(diǎn)就搞定了。
頁:
[1]