1

我发现自己经常从 IDE 运行我的应用程序,测试了很多更简单的更改,我发现它会拖慢我的开发时间,但如果我不这样做,我担心以前的依赖工作会出现错误。在可能需要几分钟才能构建的大型产品环境中 - 每个人多久进行一次实际测试?你如何处理潜在的错误代码?

4

2 回答 2

0

自动化回归测试是提高开发速度的最佳投资之一。

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

示例范围从数据测试、单元测试到集成和 UI 测试。所有这些都可以在某种程度上自动化,让您的生活更轻松。有太多工具和实践要列出,但我曾经使用过一个站点http://www.opensourcetesting.org/resources.php,它可能是您的切入点。还有很多关于这些主题的问题。

于 2012-10-29T21:37:49.653 回答
0

我做的几件事:

  • 防御性代码:
    • 自由地使用断言来测试假设(对于生产代码,总是可以关闭断言:尽管有些公司在发布带有断言的代码以使诊断问题行为更容易——即使开销高达约 30%)
    • 相互怀疑:始终在使用单元之前验证对单元的输入
    • 白名单而不是黑名单:指定什么构成“有效”行为通常比试图列举所有可能失败的方式更容易。
  • 代码审查:
    • 通过 ReviewBoard 等开源软件使用代码审查流程已被证明可以提高整体开发速度/质量。
  • 冒烟测试:在进行更长时间的测试之前检查基本假设/行为的简单、廉价的测试 - 这可以为您节省大量时间。
  • 单元测试:
    • 为您编写的每个代码单元包括自包含测试:代码块、函数/方法、类、包……等等
    • 一旦可以测试您编写的最小代码块,就对其进行测试-它将为您节省时间。
    • 利用一个测试框架自动运行这些
  • 回归测试:
    • 更改后测试所有内容以确保没有任何问题。这些通常需要更长的时间才能运行,因此您可能必须在夜间构建中执行这些操作。
  • 在编写代码之前编写测试:
    • 首先编写测试可以帮助您准确了解程序应该做什么/行为。
    • 它可以帮助您完全按照规范进行编码
于 2012-10-29T21:40:37.683 回答