• 软件单元测试(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的配置:


    这是查看代码覆盖的结果:
  • 相关阅读:
    幻方~未完待续
    过河(DP)
    生日蛋糕(DFS)
    n皇后问题<dfs>
    POJ 1182_食物链
    POJ 2431 Expedition【贪心】
    POJ 3268_Silver Cow Party
    POJ 1061 青蛙的约会【扩欧】
    【数学】扩展欧几里得算法
    Codeforces 404D Minesweeper 1D
  • 原文地址:https://www.cnblogs.com/cleo/p/368604.html
Copyright © 2020-2023  润新知