测试是软件开发的重要组成部分。无论我们是否意识到,我们一直在不断地进行测试。例如,当我们在 PHP 中编写一个类时,我们可能会逐步调试它,或者简单地使用 echo
或 die
语句来验证实现是否按我们的初始计划工作。对于 Web 应用程序,我们在表单中输入一些测试数据以确保页面按预期与我们交互。
测试过程可以自动化,以便每次我们需要验证某些东西时,我们只需要调用执行此操作的代码。验证结果与我们计划相符的代码称为测试,创建和进一步执行它的过程称为自动化测试,这是这些测试章节的主要主题。
测试驱动开发 (TDD) 和行为驱动开发 (BDD) 是开发软件的方法,在编写实际代码之前,将一段代码或整个功能的行为描述为一组场景或测试,然后创建允许这些测试通过的实现,从而验证预期行为是否已实现。
开发功能的过程如下
完成后,该过程将针对另一项功能或改进重复。如果要更改现有功能,也应该更改测试。
提示:如果您觉得花了很多时间进行大量的小而简单的迭代,请尝试通过测试场景来涵盖更多内容,以便在再次执行测试之前完成更多工作。如果您调试太多,请尝试做相反的事情。
在进行任何实现之前创建测试的原因是,它使我们能够专注于我们想要实现的目标,并在之后完全深入了解“如何做到”。通常,当涉及功能调整或耦合度较低的组件时,它会导致更好的抽象和更轻松的测试维护。
因此,总结这种方法的优点如下
从长远来看,它通常可以节省大量时间。
虽然上面描述的测试优先方法对于长期且相对复杂的项目很有意义,但对于简单的项目来说可能过于繁琐。以下是一些判断何时适用的指标。
创建测试以覆盖现有实现的行为并没有错。
在某些情况下,任何形式的自动化测试都可能过于繁琐。
即使有时间,在这些情况下自动化测试也是一个好主意。
发现错别字或您认为此页面需要改进?
在 github 上编辑它 !
注册 或 登录 以发表评论。