作為測試人,我們經(jīng)常要對項目中的接口進行接口測試,那么在做接口測試的時候,如何寫接口測試用例呢?如何寫出好的接口測試用例呢?
一:什么是接口測試
首先我們要了解一下,什么是接口測試?
那么首先要搞清楚,我們一般說的接口到底是什么?一般狹義上說的都是web項目中的接口測試,當(dāng)然app也一樣,都是指前后端交互的接口,我們通過各種工具對后端給前端提供的接口做模擬測試,驗證后端提供的接口是否滿足要求。主要是滿足功能需求,還有一些非功能需求,比如穩(wěn)定性,可靠性等性能要求,響應(yīng)正常,那么響應(yīng)時間是否符合要求,持續(xù)的請求是否也可以符合響應(yīng)時間的要求。
那么,一般我們做接口測試時,都是依照開發(fā)提供的接口文檔為依據(jù),在一個接口文檔中,我們都需要得到哪些信息呢?這些內(nèi)容直接影響你寫出的用例是否是優(yōu)秀的。一般在接口文檔中,都會提供以下內(nèi)容:1:請求信息 2:響應(yīng)信息
請求中我們要得到哪些信息呢?主要是請求的連接地址,請求方式,請求參數(shù),是否有其他要求,比如cookie,token等。這些都至關(guān)重要。
響應(yīng)中都要什么信息呢?主要是響應(yīng)的響應(yīng)碼,響應(yīng)頭信息,響應(yīng)體,響應(yīng)的方式。
當(dāng)你得到了以上信息,就可以進行接口測試用例的編寫了
二:如何編寫接口測試用例
首先我們要理解,一個好的測試用例要包含的內(nèi)容有哪些?
用例編號
所屬模塊
前置條件
測試標(biāo)題
測試步驟
測試數(shù)據(jù)
預(yù)期結(jié)果
實際結(jié)果
請求和響應(yīng)
那么對于一個接口測試的測試用例,我們還要添加哪些東西呢?在接口測試用例中,其實要體現(xiàn)的內(nèi)容主要是請求和響應(yīng)的內(nèi)容,所以在測試步驟中,一定要注明你這個接口中,如何做這個請求,在預(yù)期結(jié)果中體現(xiàn)出對響應(yīng)的要求,這才是接口測試用例的核心。
也就是說在接口測試用例中,我們要寫清楚,如何做這次請求,請求的地址,請求的方式,請求的參數(shù)及參數(shù)類型,是否有cookie和token及其他要求。
預(yù)期中對應(yīng)每種請求的預(yù)期結(jié)果響應(yīng)內(nèi)容到底如何要求,響應(yīng)時間是否有具體要求,這些都決定了這次接口測試是否通過。
除了正向驗證外,我們也要設(shè)計對應(yīng)的反向用例,比如故意設(shè)計不符合要求的參數(shù)個數(shù),參數(shù)類型,請求方式等,要求包含設(shè)計中卻未包含,這些都是很重要的,一個用例的好壞,主要是看其是否覆蓋了所有的可能性。
請求參數(shù)
除了以上這些,還有一個很重要的方面,就是測試數(shù)據(jù)。對于一個接口來說,數(shù)據(jù)的設(shè)計可以說是重中之重,因為數(shù)據(jù)才是接口測試的核心,一旦數(shù)據(jù)發(fā)生改變,結(jié)果就會有很大的差異,數(shù)據(jù)是否符合要求,數(shù)據(jù)是否是有效數(shù)據(jù),這些都要在用例中體現(xiàn),比如你設(shè)計的數(shù)據(jù)是否來源于真實的數(shù)據(jù)庫,是否是有效數(shù)據(jù)。對于接口測試來說,請求參數(shù)就是我們對于數(shù)據(jù)的地方,所以對請求參數(shù)的分析要徹底,要到位。
一個接口測試用例,只要包含了以上所說的內(nèi)容,就可以說是一個完整的接口測試用例了,如果你的數(shù)據(jù)設(shè)計合理,預(yù)期結(jié)果設(shè)計對應(yīng)每次請求都有詳細的要求,那么這個接口測試用例一定是滿足要求的,一定是一份優(yōu)秀的接口測試用例。