软件单元测试(Unit Test )最佳实践
2006-04-06 18:49
423 查看
我们回顾几种单元测试的最佳实践。首先,TDD 是非常有价值的实践。在所有现有的开发方法中,TDD 可能是多年来根本上改进开发且投资成本最小的一种。每个 QA 工程师都会告诉您,开发人员在没有相应的测试前不会写出成功的软件。有了 TDD,实践是在实现前编写测试,并且理想情况是,编写的测试可以成为无需人工参与执行的构建脚本的一部分。需要训练来开始养成习惯,但一旦建立习惯后,不使用 TDD 方法编码就像开车时不系安全带一样。
对于测试本身,有一些额外的原则可以帮助成功进行测试:
• | 避免测试产生依赖性,这样测试需要按照特定的顺序执行。每个测试都应该是自治的。 |
• | 使用测试初始化代码验证测试清除已经成功执行,如果没有则在执行测试前重新执行清除。 |
• | 在编写任何产品代码的实现前编写测试。 |
• | 对于产品代码中的每个类创建一个测试类。这样可以简化测试的组织,并可以容易地选择在何处放置每个测试。 |
• | 使用 Visual Studio 生成初始化的测试项目。这样可以大大减少手工设置测试项目并与产品项目关联的步骤。 |
• | 避免创建其他依赖计算机的测试,例如依赖特定的目录路径的测试。 |
• | 创建模拟对象 (mock object) 来测试接口。模拟对象通常在需要验证 API 符合所需功能的测试项目中实现。 |
• | 在继续创建新的测试前验证所有测试运行成功。这样可以保证在破坏代码后立刻进行修正。 |
• | 可以最大化无需人工参与执行的测试代码。在依赖于手工测试前,必须完全肯定无法采用合理的无需人工参与执行的测试方案。 |
单元测试是我一直想推行的,但是当时没有找到非常合适的低成本的解决方案,所以一直不行。
现在有和VSTS集成的测试工具,真是不错,还是全自动的、可以进行代码覆盖的检查,不错。
要设置代码覆盖的检查就要编辑Test Run的配置:
这是查看代码覆盖的结果:
相关文章推荐
- appium自动化测试实践之python利用unittest进行测试用例执行的几种方式(转载)
- Oracle数据库测试和优化最佳实践: OTest介绍 (转)
- DbUnit实践:Spring Test Dbunit,H2数据库
- Django 1.6 最佳实践: 如何正确进行 Unit Tests
- Android 底部导航栏(底部Tab)最佳实践
- RESTful API 设计最佳实践
- Maven最佳实践:划分模块
- 基于unittest测试框架的扩展
- Using Selenium 2 ( WebDriver ) to run qUnit test page
- 【第七章】 对JDBC的支持 之 7.5 集成Spring JDBC及最佳实践 ——跟我学spring3
- Android 底部导航栏(底部Tab)最佳实践
- 事务管理最佳实践全面解析(转)http://blog.csdn.net/shendl/archive/2006/11/27/1415958.aspx
- ASP.NET&Spring.NET&NHibernate最佳实践(二)——第1章前言
- Android最佳性能实践(三)——高性能编码优化
- 事务管理最佳实践多余的话之二:Transaction后缀给声明式事务管理带来的好处
- IT基础设施最佳实践ITIL
- 10个精妙的Java编码最佳实践
- 史上最最佳软件开发实践指导
- DockerFile最佳实践:
- Create Unit Test on VS