zoukankan      html  css  js  c++  java
  • 软件单元测试(Unit Test )最佳实践 无为而为

     

    我们回顾几种单元测试的最佳实践。首先,TDD 是非常有价值的实践。在所有现有的开发方法中,TDD 可能是多年来根本上改进开发且投资成本最小的一种。每个 QA 工程师都会告诉您,开发人员在没有相应的测试前不会写出成功的软件。有了 TDD,实践是在实现前编写测试,并且理想情况是,编写的测试可以成为无需人工参与执行的构建脚本的一部分。需要训练来开始养成习惯,但一旦建立习惯后,不使用 TDD 方法编码就像开车时不系安全带一样。

    对于测试本身,有一些额外的原则可以帮助成功进行测试:

    避免测试产生依赖性,这样测试需要按照特定的顺序执行。每个测试都应该是自治的。

    使用测试初始化代码验证测试清除已经成功执行,如果没有则在执行测试前重新执行清除。

    在编写任何产品代码的实现前编写测试。

    对于产品代码中的每个类创建一个测试类。这样可以简化测试的组织,并可以容易地选择在何处放置每个测试。

    使用 Visual Studio 生成初始化的测试项目。这样可以大大减少手工设置测试项目并与产品项目关联的步骤。

    避免创建其他依赖计算机的测试,例如依赖特定的目录路径的测试。

    创建模拟对象 (mock object) 来测试接口。模拟对象通常在需要验证 API 符合所需功能的测试项目中实现。

    在继续创建新的测试前验证所有测试运行成功。这样可以保证在破坏代码后立刻进行修正。

    可以最大化无需人工参与执行的测试代码。在依赖于手工测试前,必须完全肯定无法采用合理的无需人工参与执行的测试方案。


    以上内容转载自:http://www.microsoft.com/china/msdn/library/langtool/vsts/vstsunittesting.mspx?mfr=true

    单元测试是我一直想推行的,但是当时没有找到非常合适的低成本的解决方案,所以一直不行。
    现在有和VSTS集成的测试工具,真是不错,还是全自动的、可以进行代码覆盖的检查,不错。
    要设置代码覆盖的检查就要编辑Test Run的配置:


    这是查看代码覆盖的结果:
  • 相关阅读:
    (Java实现) 洛谷 P1106 删数问题
    (Java实现) 洛谷 P1603 斯诺登的密码
    (Java实现) 洛谷 P1036 选数
    (Java实现) 洛谷 P1012 拼数
    (Java实现) 洛谷 P1028 数的计算
    (Java实现) 洛谷 P1553 数字反转(升级版)
    (Java实现) 洛谷 P1051 谁拿了最多奖学金
    (Java实现) 洛谷 P1051 谁拿了最多奖学金
    (Java实现) 洛谷 P1106 删数问题
    目测ZIP的压缩率
  • 原文地址:https://www.cnblogs.com/cleo/p/368604.html
Copyright © 2011-2022 走看看