测试基础:如何知道你的代码有效
你怎样知道你的代码实际上有效?你运行它并检查。那就是测试!但如果你可以自动化该过程呢?这就是自动化测试,它是现代软件开发的基石。
什么是测试?
测试是验证你的代码做你期望它做的事的过程。手工测试是当你手工做这个。自动化测试是当你写代码来测试你的代码。
简单的断言
最简单的测试形式是断言。断言是某个东西必须为真的陈述。例如,用普通英语:
声称
add(2, 2)函数返回4。
如果它返回5,断言失败,测试失败。
单元测试vs.集成测试
有许多类型的测试,但两个常见的是:
- 单元测试:这些测试代码的小的、隔离的片段(一个"单元"),如单个函数。它们是快速和简单的。
- 集成测试:这些测试你的系统的多个部分如何一起工作。例如,你的登录表单是否正确与你的数据库交谈?
AI用于测试生成
AI在编写测试中可以有很大帮助。你可以给你的AI助手一个函数,并要求它为其编写测试。
"为以下JavaScript函数编写一组单元测试。覆盖边界情况,如空输入和无效数据。
function calculateAverage(numbers) {
if (numbers.length === 0) {
return 0;
}
const sum = numbers.reduce((a, b) => a + b, 0);
return sum / numbers.length;
}
```"
关键:审查AI生成的测试
AI生成的测试是一个很好的起点,但它们可能很肤浅。AI不理解你的应用程序的业务逻辑。始终审查它生成的测试。问自己:
- 这个测试真正检查的是什么?
- 它缺少什么重要的情况?
你的转向:写手工测试
回到之前的数字猜测游戏。你还不能轻易地为它写自动化测试,但你可以写一个手工测试列表。
写下至少5个测试用例。例如:
- 测试用例:猜测一个太高的数字。 预期结果:应用程序应该说"太高了!"。