我以为我理解使用烟雾服务器进行连续集成来测量项目的性能和测试覆盖率.这基本上是正确的吗?对程序进行抽烟测试意味着什么?它是否只是意味着连续应用烟雾服务器上定义的测试,以便能够确定特定时间范围内的性能下降?
烟雾测试和健全测试有什么区别?什么时候进行烟雾测试?什么时候进行健全性测试?
我正在对我们的网站实施一些烟雾测试.
我正在使用Given/When/Then格式进行现有的自动验收测试/用户故事.但现在我想做一个初步的烟雾测试:
Given I'm on the homepage
Then I should see "Welcome To The Site"
我错过了什么吗?没有什么时候"好"吗?
使用的工具:MVC3,SpecFlow,Nunit,Watin
一,设置......
我目前正在使用Ruby 1.8.7 MRI在Mac OS X上开发Rails 3应用程序,针对MySQL数据库运行测试和本地开发.我有3个"其他"非本地环境,我们在公司为每个名为dev,tqa和prod的应用程序使用.它们使用JRuby(1.8.7)和Oracle作为后端在Tomcat中运行.
正如你所看到的,环境是完全不同的,我们碰到的有关部署的一些错误到Oracle/JRuby的环境中不存在的本地(如日期处理,并在指定的Oracle默认模式).
我喜欢在本地运行像Cucumber/Webrat/Capybara这样的东西来点击应用程序中暴露的每个URL,以确保基本的东西正常工作(即,冒烟测试).理想情况下,它会点击每个网址,并会执行一些简单的操作,例如在表单中输入数据和点击按钮等.
理想情况下,当我部署到dev/tqa时,我会运行类似的东西,除了指向已部署的应用程序而不是本地应用程序.黄瓜似乎已经过优化,可以在本地运行的应用程序上运行,并且可以很好地与Rails集成,但是无法针对所有意图运行"外部"应用程序(或者至少我找不到实际工作的简单方法).
此外,当我部署到prod时,我想要运行一组类似的冒烟测试,除非它不会改变当前生产数据库的状态(即,只会获取GET URL).
我猜想可以使用像Selenium这样的东西,但我真的很喜欢只运行一个rake任务并像使用Cucumber那样取回结果.
是否有任何Rails/Ruby方法可以做到这一点,或者其他人是否只使用wget或Selenium推出自己的解决方案?
此处提出了类似的问题:部署后,自动对应用程序中的所有网页进行测试
不过,我不确定这个问题究竟是我的想法.
可能重复:
什么是烟雾测试,它对我有什么作用?
为什么"烟雾测试"被称为"烟雾测试"?我根本没有得到这个.烟与它有什么关系?
我被教导说,回归测试很小(仅足以证明你没有通过引入变更或新模块来破坏任何东西)整体测试的样本.然而,Ron Morrison和Grady Booch的这篇文章让我有不同的想法:
理想的策略是将每个单元一次放入一个,执行广泛的回归测试,纠正任何缺陷,然后进入下一个单元.
同一份文件还说:
一旦添加少量单元,就会生成测试版本并进行"冒烟测试",其中运行少量测试以确保集成产品将按预期运行.目的既不是彻底测试新单元,也不是对整个系统进行完全回归测试.
在描述烟雾测试时,作者说:
烟雾测试对整个系统进行快速检查也很重要,而不仅仅是新组件.
我从未见过一起使用的"广泛"和"回归测试",也没有将回归测试描述为"完全回归测试整个系统".回归测试应该尽可能轻松快速.烟雾测试的定义就是我学到的回归测试.
我误解了我的教学内容吗?我教的不正确吗?或者对"回归测试"有多种解释?
我并不完全熟悉Visual Studio 2010(Ultimate)附带的测试套件,但我正在尝试使用Coded UI Tests 找到一种类似于Selenium Grid的方法.我希望能够将代理部署到Azure或EC2,执行所有编码的UI测试,然后将其拆除以进行冒烟测试,作为部署过程的一部分.
从我在网络上看到的情况来看,可以通过控制器和代理执行类似的操作,但我不确定其中有多少可以轻松迁移到云端.我发现了这些帖子:使用在Windows Azure上运行的代理进行负载测试:[ 1 2 3 ]但它们围绕负载测试.我的理解是负载测试可以编译并且易于部署,但对于Coded UI测试来说并不一定如此.
automated-tests selenium-grid smoke-testing visual-studio-2010 coded-ui-tests
我需要在Java中编写一个冒烟测试,验证系统是否连接到kafka,
有谁有想法吗?我发现这篇文章:
但是从Java代码中做起来太复杂了,我不认为这是我应该使用的方向.
提前致谢.
我正在使用 RobotFramework 和 RobotRequestsLibrary 为一系列 API 创建冒烟测试套件。这是我第一次使用 RobotFramework。在尝试清理代码并使其更易于维护时,我决定尝试使用关键字来删除所有附带的细节。
例如,这里有两个我想要清理的测试:
*** Variables ***
${sint} http://int.somecoolwebsite.com
*** Test Cases ***
Retrieve Store Info By Code Should Return Successful
[Tags] get
Create Session data-int ${sint}
${resp}= Get Request int /store/1234
Should Be Equal As Strings ${resp.status_code} 200
Retrieve All Store Info Should Return Successful
[Tags] get
Create Session data-int ${sint}
${resp}= Get Request int /stores
Should Be Equal As Strings ${resp.status_code} 200
Run Code Online (Sandbox Code Playgroud)
我尝试使用关键字:
*** Variables ***
${sint} http://int.somecoolwebsite.com
*** Keywords ***
Make ${call} …
Run Code Online (Sandbox Code Playgroud) 使用 testcafe grep 模式将部分解决我们使用标签的问题,但它仍然会在规范报告上显示这些标签......!!!
有没有办法在测试/夹具名称中包含标签并使用 grep 模式,但跳过这些标签以显示在执行报告中?
import { Selector } from 'testcafe';
fixture `Getting Started`
.page `http://devexpress.github.io/testcafe/example`;
test('My first test --tags {smoke, regression}', async t => {
// Test code
});
test('My Second test --tags {smoke}', async t => {
// Test code
});
test('My first test --tags {regression}', async t => {
// Test code
});
testcafe chrome test.js -F "smoke"
Run Code Online (Sandbox Code Playgroud)
上面的代码片段将为我触发仅烟雾测试,但报告将显示测试名称以及这些标签
是否有其他处理标签的方法或不在测试执行报告中显示标签的解决方案?
testing smoke-testing regression-testing e2e-testing testcafe
smoke-testing ×12
testing ×5
apache-kafka ×1
bdd ×1
cucumber ×1
e2e-testing ×1
java ×1
python ×1
ruby ×1
specflow ×1
testcafe ×1
user-stories ×1