数据驱动测试在接口测试和网站测试中的应用

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


什么是数据驱动测试

据驱动测试是一种测试方法,其中测试数据和测试逻辑是分开的,测试数据被存储在外部源中(如Excel表格、JSON文件、数据库等),测试逻辑则独立于测试数据。在测试过程中,测试数据被读取并传递给测试逻辑,以执行相应的测试操作。这种方法使得测试用例的维护更加简单,并且能够轻松地扩展和修改测试数据,而不需要修改测试代码。

数据驱动测试的作用和价值包括:

  • 易于维护和扩展: 将测试数据与测试逻辑分离使得测试用例更易于维护。当测试数据需要变更时,只需修改数据源,而不需要修改测试代码本身。

  • 提高测试覆盖范围: 数据驱动测试允许在不同的数据集上执行相同的测试逻辑,从而提高了测试用例的覆盖范围。这意味着可以更全面地测试应用程序的各种情况和边界条件。

  • 减少重复性工作: 通过重复使用相同的测试逻辑,可以减少编写重复代码的工作量。一旦测试逻辑被编写和验证,就可以在多个测试数据集上重复使用。

  • 易于自动化: 数据驱动测试是自动化测试的理想选择。自动化测试工具可以很容易地读取数据源,并将数据传递给测试逻辑,从而实现自动化执行测试用例的目的。

使用场景包括但不限于:

  • 接口测试: 对API进行测试时,可以使用数据驱动测试来测试不同的输入和输出组合。

  • 网页测试: 在网页自动化测试中,可以使用数据驱动测试来测试不同的用户输入、页面操作等场景。

  • 性能测试: 对于性能测试,可以使用数据驱动测试来测试不同的负载情况和并发用户数。

数据驱动测试是一种灵活且高效的测试方法,能够帮助测试团队更好地管理和执行测试用例,提高测试覆盖率和效率,从而保证软件质量。

简单来说,就是测试程序不变,使用不同的测试数据传给测试程序来执行测试用例

下面是一个接口测试中使用数据驱动的案例,测试注册接口:

import requests

# 定义接口测试函数
def test_api(endpoint, method, data=None):
    url = f"http://124.223.167.147:8080/{endpoint}"
    if method.lower() == 'get':
        response = requests.get(url)
    elif method.lower() == 'post':
        response = requests.post(url, json=data)
    else:
        print("Invalid HTTP method")
        return

    print(f"Request URL: {url}")
    print(f"HTTP Method: {method}")
    print(f"Response Status Code: {response.status_code}")
    print(f"Response Body: {response.json()}")
    print()

# 数据驱动测试
api_tests = [
    {'endpoint': 'register/', 'method': 'post','data':{"username":"li221","password":"a1111111112","email":"lily@qq.com"}},
    {'endpoint': 'register/', 'method': 'POST', 'data': {"username":"andy22","password":"b398d2k2k22","email":"andy@qq.com"}}
]

# 执行测试
for test_case in api_tests:
    test_api(**test_case)

执行结果:​​​​​​​

Request URL: http://124.223.167.147:8080/register/
HTTP Method: post
Response Status Code: 200
Response Body: {'code': '00', 'userid': 3}

Request URL: http://124.223.167.147:8080/register/
HTTP Method: POST
Response Status Code: 200
Response Body: {'code': '00', 'userid': 4}

下面是数据驱动在网站测试中的案例:​​​​​​​

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# 定义网页测试函数
def test_web(url, search_query):
    # 请确保已经安装了Chrome浏览器及其对应的webdriver,并将webdriver放在系统PATH中
    driver = webdriver.Chrome(executable_path="e:\\chromedriver.exe") 
    driver.get(url)
    search_box = driver.find_element_by_name('query')
    search_box.send_keys(search_query)
    search_box.send_keys(Keys.RETURN)
    print(f"Page Title: {driver.title}")
    time.sleep(5)
    driver.quit()

# 数据驱动测试
web_tests = [
    {'url': 'https://www.sogou.com/web', 'search_query': 'Python'},
    {'url': 'https://www.sogou.com/web', 'search_query': 'Data Driven Testing'}
]

# 执行测试
for test_case in web_tests:
    test_web(**test_case)

测试结果:分别两次打开浏览器,访问搜狗网站的时候,使用了不同的搜索词进行查询。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
在这里插入图片描述​​​​
在这里插入图片描述​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值