2012-05-15 35 views
1

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

回答

10

单元测试应该在您的本地机器在构建服务器上运行。作为开发者的反馈,它们是非常宝贵的资源。 DEV应该单元测试。在检查之前,他应该运行单元测试以确保他不会破坏任何东西。构建服务器然后将再次运行单元测试,以确保它没有真正的破坏,并且与其他代码的集成(如果有的话)成功。

当单元测试运行时,最好构建服务器应该运行集成测试和自动UI测试。当这些过程完成后,已经生成了一个没有已知缺陷的构建 - 至少没有任何测试覆盖。换句话说,绿色构建意味着软件集成进展顺利,开发人员可以在实际发布软件之前继续检查 - 或者在某个时刻开始进行手动测试。

软件测试必杀技发生在足够多的测试已经自动化之后,这样开发人员和企业就可以安心地发布基于这个自动化测试流的成功产品。实际上,只有少数产品会成熟 - 并且需要进行一些手动测试。

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

1

单元测试通常由开发人员在开发时完成。所以在开发环境中运行它。可能是你的本地机器。

3

单元测试应该是非常独立的,以便它们可以在每台机器上运行,而无需进一步设置。按定义进行单元测试只测试非常细粒度级的功能单元而不触及外部系统(即数据库,文件系统等)

1

好,如果您的本地计算机是开发机器我认为没有风险,因为机器不是生产最终用户机器。您也可以考虑TFS实验室管理(如果您有Microsoft TFS作为ALM /源代码管理系统)。在这种情况下,您可以创建虚拟或物理测试环境,并在这些定义的环境中部署和测试应用程序。

不确定类似测试产品的名称是否适用于非TFS场景。

相关问题