一、Webservice簡介
1、Webservice是一種基於HTTP通信協議和XML標準來實現應用之間互操作性的技術。Webservice可以用來實現不同平台、不同編程語言之間的互操作性。
2、Webservice是一種遠程調用方式,它採用WebService描述語言(WSDL)進行描述和發布,使其它應用程序可以通過SOAP協議來訪問和使用,從而達到互通的目的。
3、Webservice除了支持使用SOAP協議來進行遠程調用,還可以使用RESTful風格的HTTP請求進行調用。
二、Webservice測試的分類
1、功能測試:主要測試Webservice是否能夠正確的處理請求和返回期望結果,包括參數測試、異常測試等。
2、性能測試:主要測試Webservice在高並發、大數據負荷下的性能表現,包括響應時間、吞吐量、並發數等。
3、安全測試:主要測試Webservice是否有安全漏洞,包括授權認證、輸入合法性等。
三、Webservice測試用例設計
1、功能測試用例:
@Path("/users")
public class UserService {
@POST
@Path("/register")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response registerUser(User user) {
// 註冊用戶
return Response.status(200).entity(result).build();
}
}
測試用例1:註冊成功
請求類型:POST
請求URL:http://localhost:8080/myapp/users/register
請求頭:Content-Type: application/json
請求體:{
"name": "張三",
"age": 25,
"email": "zhangsan@gmail.com"
}
期望響應:{
"code": 0,
"msg": "註冊成功"
}
測試用例2:參數為空
請求類型:POST
請求URL:http://localhost:8080/myapp/users/register
請求頭:Content-Type: application/json
請求體:{}
期望響應:{
"code": -1,
"msg": "參數錯誤"
}
2、性能測試用例:
測試場景1:1000個請求,每個請求攜帶100個參數,請求間隔為1ms
請求類型:POST
請求URL:http://localhost:8080/myapp/performance
請求頭:Content-Type: application/json
請求體:{
"param1": "value1",
...
"param100": "value100"
}
期望響應:{
"code": 0,
"msg": "請求成功"
}
3、安全測試用例:
測試用例1:未授權訪問
請求類型:GET
請求URL:http://localhost:8080/myapp/users/list
期望響應:{
"code": 401,
"msg": "未授權訪問"
}
測試用例2:SQL注入攻擊
請求類型:POST
請求URL:http://localhost:8080/myapp/users/login
請求頭:Content-Type: application/json
請求體:{
"username": "xxx' OR '1'='1",
"password": "xxx"
}
期望響應:{
"code": -1,
"msg": "用戶名或密碼錯誤"
}
四、Webservice測試工具
1、SoapUI:支持對SOAP和RESTful Webservice進行測試、模擬和 mocking。
2、JMeter:支持對Web應用程序、Web服務、FTP等進行測試,可以進行高並發測試。
3、Postman:支持對HTTP請求進行測試和調試,支持RESTful風格的API。
五、結語
Webservice測試是Web應用測試中重要的一環,需要從多個方面進行測試,包括功能、性能和安全等方面。同時,需要選擇合適的測試工具進行測試,以保證Webservice的質量。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/257874.html
微信掃一掃
支付寶掃一掃