Testing

目录

[Unit Test](#Unit Test)

[Integration Test](#Integration Test)

[Performance Test](#Performance Test)

[Automation Test](#Automation Test)

自动化测试的关键技术点

[API Automation Test - Cucumber, Karate, REST-Assured](#API Automation Test - Cucumber, Karate, REST-Assured)

Karate

[UI Automation Test - Cypress, Playwright, Selenium](#UI Automation Test - Cypress, Playwright, Selenium)

[AI Test](#AI Test)


Unit Test

Java: JUnit + Mockito

JS/TS: Jest

Python: Pytest

Integration Test

Java: REST-Assured

Performance Test

JMeter

Automation Test

自动化测试的关键技术点

一个成熟的测试框架通常需要解决以下几个核心问题:

  • 断言库 (Assertion Library): 验证结果是否符合预期(如 expect(result).toBe(200))。

  • Mock/Stub (模拟): 模拟外部依赖(如数据库、第三方支付网关),让测试环境保持纯净。

  • 测试运行器 (Test Runner): 负责发现测试文件、执行测试并生成报告。

  • CI/CD 集成: 确保每次代码提交都能自动触发测试。

API Automation Test - Cucumber, Karate, REST-Assured

Karate

Karate Official website: https://karatelabs.github.io/karate/

Karate doc: https://docs.karatelabs.io/getting-started/why-karate

Karate: open-source cucumber-based API test automation framework.

BDD (Behavior-Driven Development), 行为驱动开发 (BDD) 框架

这类框架强调"用业务语言写测试",方便产品经理(PO)和测试人员沟通。

  • Cucumber: * 使用 Gherkin 语法(Given... When... Then...)。

    • 例如:Given 我已登录成功; When 我提交一个批量订单; Then 订单状态应显示为处理中。

Project structure: https://docs.karatelabs.io/core-syntax/project-structure

Test script: .feature file

Feature, Background (Optional), Scenario

Fuzzy matching

REST API: url, request, response, http method, header, http status

Authentication

Keywords: https://docs.karatelabs.io/api-reference/keywords

Report:

  • karate-reports karate-summary.html
  • cucumber-report overview-features.html
  • surefire-reports

Tags

Timeline

Parallel run

Best Practice: karate-config.js, features folder, json folder, Maven pom.xml, logback-test.yml, karate.log

UI Automation Test - Cypress, Playwright, Selenium

  • Playwright (微软出品): * 优势: 支持所有主流浏览器(Chromium, WebKit, Firefox),支持多页面、多标签页交互,极其稳定。

    • 地位: 目前是 Cypress 最强劲的竞争对手。
  • Cypress: * 优势: 运行在浏览器内部,调试体验极佳,自动等待机制非常智能。

  • Selenium: * 地位: "元老级"框架,支持多语言(Java, Python, Ruby 等)。虽然在现代 Web 开发中显得笨重,但在老牌金融系统或跨多端的大型企业中依然稳固。

AI Test

如果是 AI/大模型相关项目: 目前很多团队开始使用 Promptfoo 或专门的 LLM 评估框架 来测试 Prompt 的稳定性和输出质量。

相关推荐
四眼蒙面侠4 个月前
AutoQA-Agent:用 Markdown 写验收用例,AI + Playwright 跑起来,跑通还能导出成 Playwright Test
ai·qa·playwright·testing
叫我阿柒啊7 个月前
从Java全栈到前端框架:一次真实面试的深度复盘
java·spring boot·typescript·vue·database·testing·microservices
叫我阿柒啊8 个月前
从全栈开发到微服务架构:一次真实面试的深度解析
java·javascript·vue3·springboot·testing·interview·fullstack
冰冷的希望2 年前
【测试】微软测试框架playwright的使用
爬虫·测试工具·单元测试·测试·playwright·testing
暖仔会飞2 年前
第二章:input partitioning
testing