【项目一】基于pytest的自动化测试框架day1

day1

接口测试的本质:功能测试的一部分

接口测试是功能测试的一部分,本质是将测试的对象从用户界面转移到了应用程序接口上。

测试用例的设计与实现

接口测试的第一步,从来都是获取接口文档。一个完整的接口文档通常包含以下几部分

  • 接口名词
  • 接口地址
  • 请求方法(GET,POST,PUT,DELETE等)
  • 请求头信息
  • 请求参数(必选参数与可选参数)
  • 返回值以及数据结构

测试用例的设计围绕如何验证接口的功能暂开,通常从以下几个方面入手:

  1. 单接口测试:验证某一个接口在不同参数组合下的行为是否符合预期。测试点包括:
  • 正向测试:使用正确的参数进行请求,验证返回值是否符合预期。
  • 反向测试:使用错误或异常参数进行请求,验证接口是否能正确处理异常情况。
  • 边界测试:例如对于要求固定长度的参数(如身份证号),测试其在不同长度下的响应情况。
  1. 业务逻辑测试:验证多个接口之间的协同工作。例如商品下单流程设计多个接口,如库存检查、订单创建、支付确认等。这些接口之间存在依赖关系,测试是需要保证每个步骤的返回值都正确传递给下一个接口。

接口调试与自动化:从postman到持续集成

postman、jmeter等可以帮助我们快速验证接口的功能。通过这些工具,可以确认接口是否正常工作,参数是否正确传递,以及返回值是否符合预期。自动化测试的实现通常是将手动测试的步骤脚本化,并在代码中实现。
例如,使用python的requests库,可以轻松地编写自动化测试脚本,并将这些脚本集成到持续集成(CI)系统中,如Jenkins、GitLab CI等。通过CI,我们可以设定每日定时执行测试,并将测试结果推送到团队的沟通工具(如钉钉、Slack)中,确保所有成员都能及时了解到项目的健康状态。

补充概念

DevOps:
一种将开发、运维结合的文化和实践方法。其目标是通过协作和自动化来提高软件交付的速度、频率和可靠性。DevOps 强调持续交付(CD)和持续部署(CI/CD),即通过自动化构建、测试和部署,确保代码能够快速、安全地推向生产环境。

自动化测试在DevOps中的作用:
自动化测试在 DevOps 流程中至关重要。通过自动化测试,可以在每次代码变更后立即验证其正确性,减少引入新 bug 的风险。自动化测试的主要作用包括:

  • 回归测试:确保新代码不会破坏已有功能
  • 持续集成:在每次代码提交时自动运行测试,快速发现和修复问题
  • 持续交付:确保代码在交付前通过所有测试,从而减少部署后的问题

DevOps工具链中的自动化测试:
在 DevOps 工具链中,自动化测试通常与持续集成/持续交付工具结合使用。例如,Jenkins 是一个广泛使用的 CI/CD 工具,它可以自动化地构建、测试和部署代码。通过 Jenkins,测试工程师可以设置流水线,在代码每次变更时自动运行测试并生成报告。

测试驱动开发(TDD):
测试驱动开发(TDD)是一种软件开发流程,强调先编写测试用例,然后编写最小量的代码来通过这些测试,流程通常是:

  • 编写一个失败的测试:根据需求编写一个测试用例,测试当前未实现的功能。
  • 编写通过测试的代码:编写代码通过刚刚的测试。
  • 重构:优化代码,同时确保所有测试继续通过。

TDD有助于确保代码的每个部分都是经过测试的,并且开发人员能够在早期阶段发现问题。

行为驱动开发(BDD):
行为驱动开发是一种在TDD基础上发展出来的开发流程。BDD强调在开发前,开发人员、测试人员和业务人员共同定义系统的行为,即用户故事。BDD 通常使用自然语言编写测试用例,使其更容易被非技术人员理解。例如:

• “当用户登录成功后,应该跳转到主页。”

BDD 的主要工具包括 Cucumber 和 Behave,这些工具允许测试用例以人类可读的形式编写,并且能够自动运行。

从TDD/BDD到CI/CD:
现代软件开发往往将TDD或BDD与CI/CD流程结合起来,以实现高效的测试和交付。具体流程如下:

  • TDD/BDD流程:开发人员在编写代码之前,首先编写测试(TDD)或行为描述(BDD)
  • 持续集成(CI):每次代码提交后,CI工具(如jenkins)自动运行所有测试,确保代码符合预期
  • 持续交付/持续部署(CD):通过CI工具,代码在所有测试通过之后被自动部署到生产环境,或准备好进行手动部署。
  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值