📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
随着DeepSeek的日益流行和AI技术的飞速发展,今天我们将深入探讨如何利用DeepSeek来增强自动化测试的效率与质量。通过AI的介入,我们有望实现测试过程的智能化与高效化。
Prompt的重要性
Prompt在AI的应用中扮演着至关重要的角色。它作为AI理解和执行任务的基础,其准确性和清晰度将直接影响AI生成的结果。AI通过对Prompt的解析,理解关键词及其语义关系,从而精准地执行我们的指令。
为了演示如何使用DeepSeek生成接口测试用例,我们首先编写一个简单的Prompt:
根据提供的接口信息,生成接口测试用例,并以json格式返回。json格式需包含请求体、请求头。接口信息如下:{ "API": "/payment", "method": "POST", "params": { "user_id": {"type": "int", "required": true, "min": 1000, "max": 9999}, "amount": {"type": "float", "required": true, "min": 0.01, "max": 10000.00}, "currency": {"type": "enum", "values": ["USD", "CNY", "EUR"]}, "timestamp": {"type": "timestamp", "format": "ISO8601"} } }
调用模型
完成Prompt编写后,我们将其输入DeepSeek模型,观察其返回结果:
{
"test_cases":[
{
"name":"valid_request_all_parameters",
"method":"POST",
"path":"/payment",
"headers":{
"Content-Type":"application/json"
},
"body":{
"user_id":1000,
"amount":50.5,
"currency":"USD",
"timestamp":"2023-10-05T12:34:56Z"
},
"expected_status":200,
"expected_validation":["user_id","amount","currency","timestamp"]
},
{
"name":"missing_required_user_id",
"method":"POST",
"path":"/payment",
"headers":{
"Content-Type":"application/json"
},
"body":{
"amount":50.5,
"currency":"USD",
"timestamp":"2023-10-05T12:34:56Z"
},
"expected_status":400,
"expected_validation":["user_id is required"]
},
{
"name":"user_id_invalid_type",
"method":"POST",
"path":"/payment",
"headers":{
"Content-Type":"application/json"
},
"body":{
"user_id":"invalid_id",
"amount":50.5,
"currency":"USD",
"timestamp":"2023-10-05T12:34:56Z"
},
"expected_status":400,
"expected_validation":["user_id must be an integer"]
},
{
"name":"user_id_below_min",
"method":"POST",
"path":"/payment",
"headers":{
"Content-Type":"application/json"
},
"body":{
"user_id":999,
"amount":50.5,
"currency":"USD",
"timestamp":"2023-10-05T12:34:56Z"
},
"expected_status":400,
"expected_validation":["user_id must be ≥1000"]
},
{
"name":"user_id_above_max",
"method":"POST",
"path":"/payment",
"headers":{
"Content-Type":"application/json"
},
"body":{
"user_id":10000,
"amount":50.5,
"currency":"USD",
"timestamp":"2023-10-05T12:34:56Z"
},
"expected_status":400,
"expected_validation":["user_id must be ≤9999"]
},
{
"name":"missing_required_amount",
"method":"POST",
"path":"/payment",
"headers":{
"Content-Type":"application/json"
},
"body":{
"user_id":1000,
"currency":"USD",
"timestamp":"2023-10-05T12:34:56Z"
},
"expected_status":400,
"expected_validation":["amount is required"]
},
{
"name":"amount_negative",
"method":"POST",
"path":"/payment",
"headers":{
"Content-Type":"application/json"
},
"body":{
"user_id":1000,
"amount":-0.5,
"currency":"USD",
"timestamp":"2023-10-05T12:34:56Z"
},
"expected_status":400,
"expected_validation":["amount must be ≥0.01"]
},
{
"name":"amount_exceeds_max",
"method":"POST",
"path":"/payment",
"headers":{
"Content-Type":"application/json"
},
"body":{
"user_id":1000,
"amount":10001.0,
"currency":"USD",
"timestamp":"2023-10-05T12:34:56Z"
},
"expected_status":400,
"expected_validation":["amount must be ≤10000.00"]
},
{
"name":"amount_invalid_type",
"method":"POST",
"path":"/payment",
"headers":{
"Content-Type":"application/json"
},
"body":{
"user_id":1000,
"amount":"invalid_amount",
"currency":"USD",
"timestamp":"2023-10-05T12:34:56Z"
},
"expected_status":400,
"expected_validation":["amount must be a float"]
},
{
"name":"invalid_currency",
"method":"POST",
"path":"/payment",
"headers":{
"Content-Type":"application/json"
},
"body":{
"user_id":1000,
"amount":50.5,
"currency":"JPY",
"timestamp":"2023-10-05T12:34:56Z"
},
"expected_status":400,
"expected_validation":["currency must be one of: USD, CNY, EUR"]
},
{
"name":"invalid_timestamp_format",
"method":"POST",
"path":"/payment",
"headers":{
"Content-Type":"application/json"
},
"body":{
"user_id":1000,
"amount":50.5,
"currency":"USD",
"timestamp":"2023-10-05 12:34:56"
},
"expected_status":400,
"expected_validation":["timestamp must be in ISO8601 format"]
}]
}
从返回结果来看,DeepSeek成功生成了我们期望的测试用例。这些测试用例可以直接用于编写接口测试脚本,我们只需将DeepSeek返回的结果传递给测试脚本即可。当然,根据实际需求,预期结果可能需要进行微调,但接口返回的状态码通常是可以直接使用的。此外,我们还可以在Prompt中预先定义接口返回的枚举值,以便DeepSeek生成更精确的测试用例。
扩展应用
基于上述示例,我们可以进一步开发智能生成接口测试用例的功能。通过调用DeepSeek接口,传入Prompt,获取其返回的测试用例,然后组装成测试脚本进行自动化测试。这种方法将极大地提高测试效率,并降低人为错误的风险。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】