歡迎來到培訓(xùn)無憂網(wǎng)!
咨詢熱線 400-001-5729
2021-12-30 21:44:59|已瀏覽:163次
談起軟件測(cè)試,就不得不說一下接口測(cè)試,凡是有功能的軟件都離不開接口,沒有接口的軟件只是一個(gè)模具或頁面,不具備任何功能。
什么是接口
接口說白了就是實(shí)現(xiàn)軟件功能的方法,而這些方法的最終目的就是傳遞信息,實(shí)現(xiàn)軟件功能。
接口測(cè)試是什么
接口測(cè)試就是驗(yàn)證這些信息能否正確傳遞,驗(yàn)證這個(gè)方法是否正確,有沒有存在潛在的安全,性能問題。
所以總結(jié)一下接口測(cè)試的測(cè)試點(diǎn)就有三個(gè):接口功能測(cè)試、接口安全測(cè)試、接口性能測(cè)試。
那么接下來我就給大家講講我所遇到過的一些接口和測(cè)試吧!
查詢本地?cái)?shù)據(jù)庫數(shù)據(jù)的查詢接口
這個(gè)接口的功能是這樣的:
查詢條件
訂單編號(hào)、產(chǎn)品名稱、產(chǎn)品型號(hào)、訂單日期,可單獨(dú)一個(gè)條件查詢也可多個(gè)條件聯(lián)合查詢,多個(gè)條件查詢的時(shí)候查詢出來的結(jié)果取并集。
結(jié)果展示
根據(jù)查詢條件查出來所有產(chǎn)品的配置信息展示給有權(quán)限的用戶看,展示的字段有訂單編號(hào)、產(chǎn)品名稱、產(chǎn)品版本號(hào)、產(chǎn)品型號(hào)、配件編號(hào)、配件描述、訂單日期。
對(duì)這個(gè)接口的功能進(jìn)行進(jìn)一步的了解我們知道了如下信息:
這些數(shù)據(jù)都是存在于本系統(tǒng)后臺(tái)數(shù)據(jù)庫中,涉及兩張表:訂單表、產(chǎn)品配置表。
開發(fā)通過獲取頁面輸入的查詢條件,去數(shù)據(jù)庫查詢這兩張表里面的頁面需要的相關(guān)信息并展示出來。
訂單表中訂單編號(hào)是主鍵,產(chǎn)品配置表中產(chǎn)品名稱+產(chǎn)品版本號(hào)是主鍵,兩張表通過產(chǎn)品名稱+產(chǎn)品版本號(hào)進(jìn)行關(guān)聯(lián)。
產(chǎn)品名稱存在特殊字符的現(xiàn)象。
通過以上的了解,對(duì)這接口測(cè)試點(diǎn)進(jìn)行分析:
這是一個(gè)結(jié)果可見性的查詢接口,可以通過頁面功能直接來測(cè)試,可以不借用工具,另外它也不涉及外部系統(tǒng)數(shù)據(jù),不用考慮聯(lián)測(cè)。
因?yàn)樽侄伪碇胁樵儣l件相關(guān)的字段有特殊字符,所以在測(cè)試輸入條件查詢的時(shí)候要關(guān)注特殊字符查詢條件的查詢。
所以綜合以上分析,輸入這塊的測(cè)試場(chǎng)景有:
輸入特殊字符
輸入超長(zhǎng)字符
輸入空字符
SQL注入安全測(cè)試
從查詢條件分析,這個(gè)查詢條件是單獨(dú)或多個(gè)聯(lián)合使用的,且多個(gè)條件聯(lián)合時(shí)取的并集。
所以從查詢條件的組合來看,測(cè)試場(chǎng)景有以下四種情況:
輸入一個(gè)查詢條件
輸入兩個(gè)查詢條件
輸入3個(gè)查詢條件
輸入4個(gè)查詢條件
根據(jù)組合,我們羅列出查詢條件的測(cè)試場(chǎng)景,為防止有重復(fù),我用了一個(gè)表格來畫如下
對(duì)后臺(tái)兩個(gè)表中的數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)由于歷史原因,存在版本號(hào)為空的數(shù)據(jù),而且存在數(shù)據(jù)量比較大的查詢數(shù)據(jù),所以在測(cè)試的時(shí)候還需要關(guān)注版本號(hào)為空的場(chǎng)景,大數(shù)據(jù)查詢結(jié)果的場(chǎng)景。
另外出于性能考慮,我們還要關(guān)注多人并發(fā)查詢的場(chǎng)景和一人頻繁查詢的場(chǎng)景,及異常場(chǎng)景:數(shù)據(jù)庫宕機(jī)的場(chǎng)景。
所有測(cè)試的場(chǎng)景分析完了,接下來就是把這些場(chǎng)景轉(zhuǎn)化為具體的測(cè)試用例,執(zhí)行測(cè)試了。
傳遞數(shù)據(jù)信息的通道中間接口
這是一種常見的且最簡(jiǎn)單的接口,沒有任何邏輯,也不做任何處理,只是把A系統(tǒng)傳過來的數(shù)據(jù)再轉(zhuǎn)手傳給B系統(tǒng),功能比較單一,這種接口功能大致流程如下:
我記得當(dāng)時(shí)測(cè)試有這樣一個(gè)接口,系統(tǒng)B想要獲取系統(tǒng)A產(chǎn)品的版本號(hào)信息,但系統(tǒng)B又沒有直接跟系統(tǒng)A交互,只能通過我們這個(gè)中間系統(tǒng)進(jìn)行交互。
所以系統(tǒng)B就把存在他們系統(tǒng)的產(chǎn)品名稱和產(chǎn)品型號(hào)傳到我們系統(tǒng),我們系統(tǒng)再把這個(gè)信息推給系統(tǒng)A,系統(tǒng)A返回一個(gè)版本信息到我們系統(tǒng),我們系統(tǒng)就直接把這個(gè)信息傳給了系統(tǒng)B。
記得當(dāng)時(shí)story測(cè)試時(shí),直接用的soapui工具,自己手動(dòng)構(gòu)造的系統(tǒng)B的產(chǎn)品信息傳給了系統(tǒng)A,這樣雖然驗(yàn)證了本系統(tǒng)接口功能的正確性和性能,但它的測(cè)試充分性卻是不足的,為啥呢?
因?yàn)槲覀儗?duì)系統(tǒng)A產(chǎn)品的特殊參數(shù)了解的不多,只能測(cè)試普通的共同性問題,不能測(cè)試到個(gè)性問題,所以必須進(jìn)行聯(lián)測(cè)來完善測(cè)試,讓對(duì)方系統(tǒng)的測(cè)試人員根據(jù)他們的測(cè)試場(chǎng)景去構(gòu)造測(cè)試數(shù)據(jù)進(jìn)行測(cè)試。
涉及到外部系統(tǒng)的查詢接口
這種接口的流程一般如下:
像這種接口的測(cè)試輸入,輸出都在本系統(tǒng)但有一個(gè)中間結(jié)果在頁面是不可見的,我們雖然可以在頁面上看到輸入、輸出,但卻不能判斷輸出結(jié)果的正確性,這個(gè)時(shí)候我們就要通過接口測(cè)試工具和頁面功能相結(jié)合的方式來驗(yàn)證了。
有這樣一個(gè)頁面查詢功能就是這樣的,那個(gè)頁面查詢功能是:
當(dāng)?shù)卿浫?/span>A,所在公司下有子公司時(shí),他可查詢到總公司及其所有分公司的訂單,當(dāng)所在公司下沒有分公司時(shí),只能查看當(dāng)前公司的訂單。
而這登錄人所在公司下是否有分公司只能通過查詢系統(tǒng)B才能知道,而系統(tǒng)B返回的結(jié)果在頁面上并沒有展示,而是直接拿他作為查詢條件進(jìn)行了查詢,所以要測(cè)試這個(gè)查詢接口查詢結(jié)果是否正確,就要結(jié)合B系統(tǒng)返回給我們的結(jié)果進(jìn)行測(cè)試。
通過接口工具先查看系統(tǒng)B返回的結(jié)果,然后再對(duì)比頁面上的查詢結(jié)果看是否與我們預(yù)期的一致。
這里用接口測(cè)試工具查看返回結(jié)果還有一個(gè)好處就是可以看到對(duì)方系統(tǒng)返回給我們的參數(shù)格式,便于我們根據(jù)他們的返回結(jié)果格式去構(gòu)造適合的測(cè)試場(chǎng)景來驗(yàn)證我們的查詢結(jié)果,使我們的測(cè)試更充分。
輸入在本系統(tǒng),輸出在外系統(tǒng)的接口
這類接口的測(cè)試一般我們采用接口工具和頁面功能相結(jié)合的方法進(jìn)行測(cè)試,就是在我們的系統(tǒng)頁面觸發(fā)調(diào)用這個(gè)接口的功能,通過接口工具查看監(jiān)控此接口的信息來驗(yàn)證信息的傳遞情況以及查看相關(guān)的輸出結(jié)果。
當(dāng)然這種接口也可以直接用測(cè)試工具進(jìn)行測(cè)試,但是我一般是不這樣的,為啥呢?因?yàn)閿?shù)據(jù)構(gòu)造太麻煩,而且構(gòu)造的數(shù)據(jù)沒有直接在頁面調(diào)用接口形成的數(shù)據(jù)的可靠性高。
同樣的這種接口還是少不得聯(lián)測(cè)的,聯(lián)測(cè)就是檢測(cè)我們系統(tǒng)存在的各種場(chǎng)景的數(shù)據(jù)傳遞過去后是不是都能被對(duì)方系統(tǒng)正常接收到。
我碰到過的這樣的接口是這樣的一個(gè)功能:我們系統(tǒng)訂單生成的產(chǎn)品價(jià)格要傳給系統(tǒng)C,他們要做記錄進(jìn)行預(yù)算。
這個(gè)接口前期的各種參數(shù)輸入都在我們的系統(tǒng)頁面上可以完成,只是后期生成訂單后的價(jià)格和對(duì)應(yīng)的產(chǎn)品信息要傳到對(duì)方系統(tǒng)后的結(jié)果我們是看不到的。
在這個(gè)時(shí)候,前面的測(cè)試就是根據(jù)我們系統(tǒng)各種參數(shù)場(chǎng)景組合測(cè)試,那這個(gè)參數(shù)到底傳沒有傳過去,因?yàn)閮蓚(gè)系統(tǒng)的開發(fā)并不同步,無法直接聯(lián)測(cè),前期只能通過接口工具調(diào)用日志查看參數(shù)是否傳過去及各個(gè)參數(shù)的值與我們系統(tǒng)頁面上是否一致,后期兩邊系統(tǒng)功能都實(shí)現(xiàn)了就要進(jìn)行一個(gè)聯(lián)測(cè)了。
在這個(gè)聯(lián)測(cè)的過程中你不單要把自己系統(tǒng)的各種數(shù)據(jù)場(chǎng)景覆蓋到,還要了解對(duì)方系統(tǒng)有什么特殊的地方,根據(jù)他們的特殊要求構(gòu)造特殊的數(shù)據(jù)傳給數(shù)據(jù)進(jìn)行更深一步的驗(yàn)證。
好了,我碰到的接口類型大概就是這些了,希望我的這些測(cè)試對(duì)你有所幫助。
本文由培訓(xùn)無憂網(wǎng)長(zhǎng)沙牛耳教育課程顧問老師整理發(fā)布,希望能夠?qū)ο雲(yún)⒓娱L(zhǎng)沙軟件測(cè)試培訓(xùn)的學(xué)生有所幫助。更多軟件測(cè)試培訓(xùn)課程信息可關(guān)注培訓(xùn)無憂網(wǎng)電腦IT培訓(xùn)或添加老師微信:15033336050
注:尊重原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處和鏈接 http://m.dedgn.cn/news-id-11366.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請(qǐng)自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請(qǐng)關(guān)注軟件測(cè)試頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050