1.通過性驗(yàn)證:
首先肯定要保證這個(gè)接口功能是好使的,也就是正常的通過性測試,按照接口文檔上的參數(shù),正常傳入,是否可以返回正確的結(jié)果。
2.參數(shù)組合:
現(xiàn)在有一個(gè)操作商品的接口,有個(gè)字段type,傳1的時(shí)候代表修改商品,商品id、商品名稱、價(jià)格有一個(gè)是必傳的,type傳2的時(shí)候是刪除商品,商品id是必傳的,這樣的,就要測參數(shù)組合了,type傳1的時(shí)候,只傳商品名稱能不能修改成功,id、名稱、價(jià)格都傳的時(shí)候能不能修改成功。
3.接口安全:
1)、繞過驗(yàn)證,比如說購買了一個(gè)商品,它的價(jià)格是300元,那我在提交訂單時(shí)候,我把這個(gè)商品的價(jià)格改成3元,后端有沒有做驗(yàn)證,更狠點(diǎn),我把錢改成-3,是不是我的余額還要增加?
2)、繞過身份授權(quán),比如說修改商品信息接口,那必須得是賣家才能修改,那我傳一個(gè)普通用戶,能不能修改成功,我傳一個(gè)其他的賣家能不能修改成功
3)、參數(shù)是否加密,比如說我登陸的接口,用戶名和密碼是不是加密,如果不加密的話,別人攔截到你的請(qǐng)求,就能獲取到你的信息了,加密規(guī)則是否容易破解。
4)、密碼安全規(guī)則,密碼的復(fù)雜程度校驗(yàn)
4.異常驗(yàn)證:
異常的,也就是我不按照你接口文檔上的要求輸入?yún)?shù),來驗(yàn)證接口對(duì)異常情況的校驗(yàn)。比如說必填的參數(shù)不填,輸入整數(shù)類型的,傳入字符串類型,長度是10的,傳11,總之就是你說怎么來,我就不怎么來,其實(shí)也就這三種,必傳非必傳、參數(shù)類型、入?yún)㈤L度。
5.根據(jù)業(yè)務(wù)邏輯來設(shè)計(jì)測試用例
根據(jù)業(yè)務(wù)邏輯來設(shè)計(jì)的話,就是根據(jù)自己系統(tǒng)的業(yè)務(wù)來設(shè)計(jì)用例,這個(gè)每個(gè)公司的業(yè)務(wù)不一樣,就得具體的看自己公司的業(yè)務(wù)了,其實(shí)這也和功能測試設(shè)計(jì)用例是一樣的。?
舉個(gè)例子,拿bbs來說。
bbs的需求是這樣的:?
1)、登錄失敗5次,就需要等待15分鐘之后再登錄?
2)、新注冊(cè)的用戶需要過了實(shí)習(xí)期才能發(fā)帖
3)、刪除帖子扣除積分
4)、......?
像這樣的你就要把這些測試點(diǎn)列出來,然后再去造數(shù)據(jù)測試對(duì)應(yīng)的測試點(diǎn)。
6.接口測試用例模板
? ? ? ? 測試接口的話,肯定要寫測試用例,寫測試用例的話,就要有一個(gè)用例模板,那需要有哪些字段呢?
1)項(xiàng)目 是哪個(gè)項(xiàng)目的
2)模塊 這個(gè)接口是屬于哪個(gè)功能模塊的
3)用例id
4)接口名稱
5)用例標(biāo)題 用例是干嘛的
6)請(qǐng)求方式 GET/POST
7)請(qǐng)求url url地址
8)請(qǐng)求參數(shù)
9)前置條件 有依賴的時(shí)候,比如說要測登錄失敗3次的
10)結(jié)果驗(yàn)證 預(yù)期結(jié)果
11)請(qǐng)求報(bào)文
12)返回報(bào)文
13)測試結(jié)果 通過/失敗
14)測試人員
轉(zhuǎn)自:通用接口測試用例設(shè)計(jì) - 銀蕩的那一夏 - 博客園