如何實(shí)現(xiàn)接口異常場(chǎng)景測(cè)試?測(cè)試方法探索與測(cè)試工具實(shí)現(xiàn)
?隨著前后端分離、微服務(wù)等技術(shù)的廣泛應(yīng)用,接口測(cè)試在整個(gè)測(cè)試過(guò)程中扮演的角色越來(lái)越重要,如何更加高效地把接口測(cè)好、測(cè)得更加充分就成了一個(gè)亟待解決的難題。
當(dāng)前在對(duì)具體的某一接口進(jìn)行測(cè)試時(shí),普遍采取的方法是測(cè)試人員按照接口文檔中的字段取值規(guī)則使用接口測(cè)試工具(例如Postman等)手工來(lái)回修改接口報(bào)文中的某一個(gè)字段值來(lái)進(jìn)行測(cè)試。
這種方法對(duì)于單個(gè)或者是簡(jiǎn)單接口相對(duì)比較友好,然而往往一個(gè)系統(tǒng)中會(huì)包含有大量的接口、接口邏輯復(fù)雜、接口里邊包含有非常多的字段,這就給接口測(cè)試的開(kāi)展帶來(lái)了很多問(wèn)題,比如費(fèi)時(shí)費(fèi)力、工作量大、漏測(cè)某些測(cè)試場(chǎng)景等。
同時(shí)還由于項(xiàng)目工期緊張等原因,在接口測(cè)試過(guò)程中一般更多的是關(guān)注正常場(chǎng)景是否有實(shí)現(xiàn),相較于異常場(chǎng)景的重視程度就不夠,從而極易由此引發(fā)相關(guān)測(cè)試問(wèn)題。
因此,為了減少此類(lèi)情況發(fā)生,針對(duì)這一問(wèn)題進(jìn)行了探索和實(shí)踐,總結(jié)了相關(guān)方法,并將其應(yīng)用到了多個(gè)項(xiàng)目,起到了很好的效果。
方法探索
(1) 異常場(chǎng)景分析歸納
在對(duì)當(dāng)前接口測(cè)試中異常場(chǎng)景測(cè)試的相關(guān)情形進(jìn)行分析并總結(jié)歸納后,發(fā)現(xiàn)可以大致將其分為基本異常場(chǎng)景和特殊異常場(chǎng)景兩大類(lèi),其中基本異常場(chǎng)景對(duì)具體接口中每個(gè)字段均適用,特殊異常場(chǎng)景只適用于特定的接口字段。
具體分類(lèi)和示例如下圖所示:
(2) 方法探索
結(jié)合上述異常場(chǎng)景的分析歸納以及當(dāng)前測(cè)試接口測(cè)試的實(shí)際開(kāi)展情形,對(duì)于接口異常場(chǎng)景的測(cè)試可以將相關(guān)的重復(fù)工作通過(guò)工具流程固化下來(lái),通過(guò)工具自動(dòng)對(duì)其進(jìn)行測(cè)試以減少重復(fù)勞動(dòng),進(jìn)一步提升測(cè)試效率。
(3) 接口異常場(chǎng)景測(cè)試工具技術(shù)實(shí)現(xiàn)
接口異常場(chǎng)景測(cè)試工具流程圖
如以上流程圖所示,技術(shù)實(shí)現(xiàn)整體思路為:首先是將待測(cè)接口的接口配置等相關(guān)信息作為輸入,然后對(duì)其進(jìn)行解析并匹配相關(guān)異常場(chǎng)景,其次是對(duì)匹配到的異常場(chǎng)景生成對(duì)應(yīng)的接口測(cè)試用例以及測(cè)試腳本,最后是腳本執(zhí)行生成相對(duì)應(yīng)的測(cè)試結(jié)果。
應(yīng)用實(shí)踐
(1) 工具界面:
(2) 實(shí)踐示例
XX信息查詢(xún)接口:
(3) 應(yīng)用實(shí)踐情況
目前該方法和工具已推廣應(yīng)用到多個(gè)項(xiàng)目多個(gè)接口,累計(jì)生成千余條異常場(chǎng)景測(cè)試用例,發(fā)現(xiàn)多個(gè)測(cè)試缺陷,平均將工作量縮短至原來(lái)人工測(cè)試時(shí)的三分之一,測(cè)試效率和測(cè)試質(zhì)量提升效果明顯。
總結(jié)
雖然目前已經(jīng)在多個(gè)項(xiàng)目得到了應(yīng)用,也取得了一定的效果,但是在應(yīng)用實(shí)踐過(guò)程中,也遇到了諸多問(wèn)題,例如:目前支持的異常場(chǎng)景相對(duì)有限、接口文檔的形式不統(tǒng)一(excel、word等)、各系統(tǒng)的接口格式多種多樣,但目前僅支持http-json類(lèi)型的接口測(cè)試等,后續(xù)將對(duì)這些問(wèn)題逐一分析解決。
此外,在特殊異常場(chǎng)景方面還需要進(jìn)行更加深入的探索,可以通過(guò)該方式將更多的測(cè)試經(jīng)驗(yàn)和特殊異常場(chǎng)景固化下來(lái)納入到工具流程中,再通過(guò)自動(dòng)化生成和執(zhí)行對(duì)應(yīng)用例,從而節(jié)省時(shí)間、精力,減少測(cè)試人員在這方面的投入,將更多的精力投入到其他相對(duì)更加重要的測(cè)試中,進(jìn)一步提升測(cè)試質(zhì)量和效率。?