跳至主要內容
使用 pytest 为LLM应用添加回归测试

使用 pytest 为LLM应用添加回归测试

回归测试的必要性

基于 LLM 的 Chat 应用大量依赖了 Prompt Engineering,而用户的输入又千奇百怪,调整了 Prompt 模板,很可能会有意想不到的效果:满足了新需求,却破坏了旧功能。

因此,LLM应用比任何时候都需要回归测试,确保在迭代过程中,不破坏旧功能、不让已修复的bug复现。

而回归测试,当然是自动化执行效率才高。本文交分享如何使用 pytest 对 LLM 应用进行自动化的回归测试。


levy大约 3 分钟PythonTestingGitlab
单元测试概述

单元测试概述

Why

为什么要做单元测试?或者说,为什么要写测试代码?

个人总结为以下两点:

  1. 测试左移,降低修复bug的成本
  2. 形成资产,方便回归测试,后续迭代重构、维护有保障

levy大约 3 分钟Testing
使用 RestAssured 进行 API 测试

使用 RestAssured 进行 API 测试

前言

本文将借助 RestAssured 工具,向大家介绍如何进行 API 测试,从而在团队中开启接口自动化之路。

本文的示例代码使用的是 Java 语言。尽管本文的首要读者是 Java 研发人员,但道理是相通的,其他语言的研发人员也能从中受益。

What

什么是 API 测试?简单来说,可以认为是针对 Controller 层的测试,但不是 Mock,而是会真实地处理请求,与数据库或外部服务进行交互。

Why

为什么要做 API 测试呢?


levy大约 7 分钟JavaTesting
下一代 UI 自动化测试工具 Playwright

下一代 UI 自动化测试工具 Playwright

前言

Playwright 是微软于 2020 年发布的一款 E2E testing 工具,跟社区成熟的 Cypress 相比,稍显年轻。然而 Playwright 的主要优势有:

  1. 支持多语言:Node.js、Java、Python,也即它并非是前端工程师专属的工具
  2. 开箱即用的代码生成功能(Cypress 现在也支持,不过要修改配置或安装插件)

另外,Playwright 的安装没什么门槛,不像 Cypress 可能需要黑魔法。


levy大约 10 分钟Node.jsPythonTesting
使用 Cypress 进行端对端测试

使用 Cypress 进行端对端测试

为什么写端对端测试

写端对端测试代码的最大好处就是,把相关的用例变成可执行的代码,成为项目的资产;结合CI系统,可在后续研发维护过程中,将一部分测试过程自动化,减少重复的手工劳动,既保障质量,又提高效率。

谁来写呢?本文的目标读者是前端研发人员,因而相关测试代码是由前端同学去编写的。

为什么用 Cypress

文档齐全,生态好,对 JavaScript 友好,可简单上手。更多详见:why-cypress


levy大约 8 分钟Node.jsTesting
使用 Jest 实践测试驱动开发

使用 Jest 实践测试驱动开发

前言

本文将使用jest进行测试驱动开发的示例,源码在github
旨在说明在开发中引入单元测试后开发过程,以及测试先行的开发思路。


levy大约 6 分钟Node.jsTesting