繁体   English   中英

单元测试应该在本地计算机上运行吗?

[英]Should Unit Tests Be Run On A Local Machine?

最近,我受命用C#为桌面应用程序编写和运行单元测试。 过去,我主要编写了自动化的功能/ GUI测试。 它们可以在专用的QA机器上运行,因为这些测试可能导致崩溃,数据丢失,蓝屏死机等。是否应该对运行的单元测试进行类似的设置? 在本地计算机上运行单元测试有任何风险吗?

单元测试应在本地计算机构建服务器上运行。 它们是开发人员的宝贵资源。 DEV应该编写单元测试。 在签入之前,他应该运行单元测试以确保他没有破坏任何东西。 然后,构建服务器将再次运行单元测试,以确保它没有实际损坏,并确保与其他代码(如果有)的集成成功。

最好运行单元测试后,构建服务器应再运行集成测试和自动UI测试。 这些过程完成后,就生成了没有已知缺陷的构建-至少没有覆盖测试。 换句话说,绿色的构建意味着软件集成良好,开发人员可以继续检入-或在实际发布软件之前开始进行手动测试。

软件测试必杀技是在足够多的测试自动化后发生的,因此,开发人员和企业仅凭这种自动化测试的成功,就可以放心地发布产品。 实际上,只有少数产品会如此成熟-并需要进行一些手动测试。

单元测试不涉及外部系统或接口。 因此,在本地运行它们没有任何风险。

单元测试应该隔离开来,这样它们可以在每台机器上运行而无需任何进一步的设置。 从定义上讲,单元测试仅在不涉及外部系统(即数据库,文件系统等)的情况下,仅对功能单元进行非常细致的测试。

单元测试通常由开发人员在开发过程中完成。 因此,请在您的开发环境上运行它。 可能是您的本地计算机。

如果您的本地计算机是开发计算机,那么我认为没有风险,因为该计算机不是生产最终用户计算机。 您还可以考虑使用TFS Lab管理(如果您将Microsoft TFS作为ALM /源代码控制系统)。 在这种情况下,您可以创建虚拟或物理测试环境,然后在定义的环境中部署和测试应用程序。

不知道非TFS方案中类似测试产品的名称是什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM