如何提高我的回归测试速度

时间:2012-10-29 21:29:48

标签: testing

我发现自己经常从IDE运行我的应用程序,测试了许多更简单的更改,我发现它使我的开发时间陷入困境,但如果我不这样做,我会害怕从以前的依赖工作中爬出来的bug。在更大的产品环境中,构建可能需要几分钟 - 每个人都经常进行实际测试?你如何应对潜在的错误代码?

2 个答案:

答案 0 :(得分:0)

自动化回归测试是您可以为提高开发速度而进行的最佳投资之一。

这是你应该更聪明地工作而不是更努力的领域。有大量关于自动化测试的已发布信息。你应该尽可能这样做。

示例包括数据测试,单元测试,集成和UI测试。所有这些都可以在某种程度上实现自动化,让您的生活更轻松。要列出的工具和实践太多,但我过去常常使用可能是您的入口点的网站http://www.opensourcetesting.org/resources.php。关于这些话题也有很多问题。

答案 1 :(得分:0)

我做的一些事情:

  • 防守代码:
    • 使用断言自由地测试假设(总是可以为生产代码转换断言:尽管有些公司提供带有断言的代码,以便更容易诊断问题行为 - 即使是高达~30%的开销)
    • 相互猜疑:在使用之前始终验证对单位的输入
    • 白名单而不是黑名单:通常更容易指定构成“有效”行为的内容,而不是尝试枚举某些内容可能失败的方式。
  • 代码审查:
    • 使用ReviewBoard等开源软件进行代码审查流程可以提高整体开发速度/质量。
  • 烟雾测试:在进行更长时间的测试之前,检查基本假设/行为的简单,便宜的测试 - 这可以为您节省大量时间。
  • 单元测试:
    • 为您编写的每个代码单元包含自包含的测试:代码块,函数/方法,类,包......等等
    • 只要您编写的最小代码块可以进行测试,请对其进行测试 - 这样可以节省您的时间。
    • 利用测试框架自动运行这些
  • 回归测试:
    • 在更改后测试所有内容以确保没有任何中断。这些通常需要更长的时间才能运行,因此您可能必须在夜间构建中执行这些操作。
  • 在编写代码之前编写测试:
    • 首先编写测试可以帮助您准确理解程序应该执行的操作。
    • 它可以帮助您准确编码规范