Continuous integration 烟雾测试应该有多复杂?

Continuous integration 烟雾测试应该有多复杂?,continuous-integration,smoke-testing,Continuous Integration,Smoke Testing,因此,我们已经在当前项目上运行了很多个月的每日构建。不过,与日常构建一起进行的冒烟测试并不十分复杂——我们在主类库上运行了一些nUnit测试(无可否认,主类库没有提供很好的代码覆盖率),并且我们确保编译和构建。所讨论的应用程序是一个ASP.NET站点,它使用一些业务对象(包括LINQ到SQL) 我们是否应该运行更复杂的冒烟测试,特别是在ASP.NET站点上?因此,我们如何为ASP.NET站点开发冒烟测试?以及单元测试,可以使用一些示例数据将站点启动到登台服务器。尽可能地接近生活。然后使用HTTP

因此,我们已经在当前项目上运行了很多个月的每日构建。不过,与日常构建一起进行的冒烟测试并不十分复杂——我们在主类库上运行了一些nUnit测试(无可否认,主类库没有提供很好的代码覆盖率),并且我们确保编译和构建。所讨论的应用程序是一个ASP.NET站点,它使用一些业务对象(包括LINQ到SQL)


我们是否应该运行更复杂的冒烟测试,特别是在ASP.NET站点上?因此,我们如何为ASP.NET站点开发冒烟测试?

以及单元测试,可以使用一些示例数据将站点启动到登台服务器。尽可能地接近生活。然后使用HTTP流量生成脚本模拟用户流量和会话。您可以在后端监视调试日志记录、异常和其他测试代码。您也可以在这里进行性能测量

很像一个更激烈的,迭代版本的玩它在浏览器自己

您可以通过定义(或通过检查)公共资源及其输入来实现这一点。然后,脚本可以尝试并导致验证问题、站点流的奇数排列以及在实时设置中测试整个站点上下文的其他事情


如果测试未完成。。。从单元测试到“它能很好地处理真实的数据和流量吗”,然后你最终会像一只无头小鸡一样四处乱跑,然后修复bug。

你不应该做冒烟测试。你知道这个词的词源吗?电子学中的“烟雾测试”是指打开电源,看看是否有烟雾冒出来


你应该做更全面的单元测试;足以让您获得良好的代码覆盖率。这是您应该在每个构建上执行的操作。您还应该尝试进行部署,并运行一些“安装验证测试”。

冒烟测试本质上应该是肤浅的:它是否编译?部署欢迎页面是否加载?也许加载一个对数据库进行查询的测试页面,看看这个连接是否也能正常工作。就这样