问题标签 [acceptance-testing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 验收测试与单元测试示例
好的,所以我一直在尝试查看有关测试的信息,不同的测试库等等。
在我看来,人们总是将这些测试的区别明确定义为一个是高水平的,一个是低水平的。并且经过适当测试的应用程序将包含样式测试以及集成测试等。
但似乎每篇关于测试类型的文章都以“在实践中可能很难看出实际有什么区别”之类的结尾。我觉得很奇怪,人们似乎如此说教,以至于您必须同时进行测试才能达到任何类型的完整代码覆盖率,同时又没有任何关于每个可能是什么样子的好的信息/示例。
我之所以这么问,是因为我正在开始一个新项目,该项目有望比我过去所做的任何事情都更大、更多参与。我想在我的测试中保持良好的工作流程,并确保我不会在我的测试中造成差距(过去的项目很小,我可能有的任何差距似乎都不会导致任何重大问题在生产中不是简单的 t0 正确的)
我知道这似乎是一个很好的验收测试,自然会引导你进行单元测试,一旦你得到它,就会发生这种神奇的事情,你的开发生活会更加幸福。
无论如何,有没有人知道关于开始一个好的测试工作流程的任何好的讨论,一个讨论在你的验收/集成测试到你的单元测试之间移动以及什么不是的。
.net 的示例会很棒,但由于大多数测试框架 cucumber(gherkin)/rspec 等都意味着相当可读,因此任何示例都应该是好的。
java - 验收测试 Java OpenGL 应用程序
我有一个 Java 桌面应用程序,它的主要组件是使用 Java OpenGL (JOGL) 编写的。在为此编写自动化验收测试时,我不确定如何编写它们而不是非常脆弱。使用 Swing(和 HTML)对象,您可以获得字段/对象的句柄(使用各种验收测试平台 - Selenium、Rational 等)。
由于 OpenGL 只是渲染和处理对象的工作较少,因此我不确定如何真正测试,例如,屏幕是否显示了我期望的内容,而无需进行一些屏幕抓取。
有没有人从事过这样的应用程序的验收测试,并且可以提供任何指针或工具来提供帮助?
ruby-on-rails - 使用黄瓜检查页面标题
特征
脚步
错误
它在Then步骤失败,但是当我手动转到该页面时,该页面确实呈现标题:“注册”。我希望它确保它在测试中进入正确的位置。我如何检查它?
感谢您提前提供的所有帮助。
testing - 如何在 FitNesse/Slim 无头模式中运行测试?
我们正在考虑使用 FitNesse/Slim。
但是有没有办法在不浏览网页并手动启动每个测试的情况下启动所有书面测试?
如果在某处有一个可以单击的一键式按钮就足够了。
因此,要么从命令行(当然带有报告)开始所有测试,要么从网页上使用 on 按钮。
这是可行的吗?
提前致谢
ruby-on-rails-3 - 测试使用带有 Cucumber 的设计令牌可验证模块的 JSON API
我正在为 RESTfull JSON 服务编写验收测试。我希望能够针对生产服务器运行测试。此 API 由 iphone 客户端使用。对于身份验证,JSON 服务使用 Devise 身份验证令牌模块。
简而言之,这是协议:
iphone: POST /api/v1/tokens with params email=user@serivce.com&pass=secretpass server: 返回 200 和以下 JSON {"token":"UYUKJHBKHJJHSAD"} iphone: GET /api/v1/messages?auth_token=UYUKJHBKHJJHSAD
一切都很好。
用 Cucumber 进行测试的最佳方法是什么?
我正在使用https://github.com/jayzes/cucumber-api-steps中的 api_steps并且我一起破解了一些东西,以便 auth_token 与每个 GET 请求一起传递,但它有点像 hack。
我所做的是创建以下步骤:
我使用密码“bingobingo”作为用户“admin@myservice.com”进行身份验证
我在其中设置了一个全局变量 auth_token,然后将其附加到所有 GET 请求中。丑陋的!
我在问你 Cucumber/Rails/Test 大师!这样做的最佳方法是什么?
ruby-on-rails - cabybara-webkit + rspec:记录不可用
我是集成测试的新手,虽然我已经为我的模型和控制器做了很多单元测试。但现在我想测试整个堆栈。(我不想用 Cucumber,因为没有客户,我可以看代码)
这是我的(简化的)规范
规范通过了,但是一旦我添加:js => true
到it "should show the article page", :js => true do
, anActiveRecord::RecordNotFound
就会被抛出。如果我use_transactional_fixtures
在我的配置中禁用,它会再次工作,但这会破坏很多其他测试。是否有其他解决方案,或者我可以仅为我的集成测试禁用 transactional_fixtures?
谢谢阅读!:)
selenium - ECONNREFUSED 问题是 (i)WebDriver 的已知问题吗?
在我当前的项目中,我们使用iWebDriver在我们的 CI 服务器上运行验收测试。
有时,我们会看到错误:
到目前为止,我们还没有发现这种失败的模式。每当我们遇到它时,我们只需重新启动构建,它通常会成功运行。我会说这发生在大约 10% 的时间里。
在每个人都因为我忽略了一个真正的问题而跳槽之前:每当测试失败时,我们都会捕获屏幕截图。每当发生此特定错误时,根据捕获的屏幕截图,似乎没有实际问题。它与简单的超时错误不同(例如,没有及时找到元素);在这种情况下,我们会看到不同的消息:execution expired (Timeout::Error)
.
我们都假设这是由于 WebDriver 本身的一些不稳定的错误造成的。这诱使我实现一个脚本,该脚本仅检测上述错误消息并在检测到它时重新启动构建,否则会产生真正的失败。(实际上,我已经这样做了;我只是还没有配置我们的构建服务器来使用它。)
其他人是否看到过这种间歇性错误?这是一个已知问题吗?它实际上是否表明我们应该最终调查一个真正的问题(在这种情况下,我们从哪里开始)?
iphone - iPhone 验收/单元测试
在 iPhone 上执行测试的最快和最简单的方法是什么?我不介意它是单元还是验收,但是到目前为止我使用的软件似乎相当冗长?
我遇到的问题是我已经创建了我的代码......我只想测试零件以确保它们按预期工作......
我只想测试简单的东西,比如文本输入验证......
任何人都可以就如何解决这个问题提供任何建议吗?最简单的方法是什么?我不需要太深入的东西...
ios - 为什么 KIF UIView:dragFromPoint:toPoint 不会导致 touchesEnded:withEvent 在我的视图上被调用?
这个问题是关于 iOS 验收测试框架 KIF 的。
我有一个使用 KIF 扩展的测试步骤UIView dragFromPoint:toPoint
。我有一个实现touchesBegan
/ touchesMoved
/ touchesEnded
/的自定义视图类touchesCancelled
。
在我的 KIF 测试步骤中,我将坐标转换为自定义视图的坐标并调用dragFromPoint
. NSLog
& 断点告诉我,touchesBegan
并且touchesMoved
在我的视图中被调用,但touchesEnded
不是。查看 KIF 代码,我可以看到它正在发布此事件,但我无法弄清楚为什么它没有被传递到我的视图中,而其他两个是。
这是我的 KIF 测试步骤代码的摘录:
bdd - BDD 故事的验收标准(和其他内容)
我们有一个工作流引擎,它提供可用工作流的列表(我的意思是工作流定义,而不是实例),用户可以单击任何工作流旁边的“执行”链接,以执行该工作流的新实例。我想以 BDD 方式执行此“执行工作流”故事(功能?)。
(第 1 列:项目编号,第 2 列:工作流名称,第 3 列:状态)
我觉得这更像是一团糟,而不是一个漂亮的 DBB 场景,我特别关心验收标准。我不清楚我应该如何处理一些粗粒度和用户耦合的东西,比如“执行工作流”。我的意思是当你在做 API 时,一切都很清楚,但是如果你描述的是通过(人类)用户交互启动的一些行为,并且其结果从启动另一个具有复杂输出的用例(如列表项)。知道工作流确实执行的标准是在工作流执行列表中看到一个新项目,这本身就是另一个故事。我在这里感到有点困惑。
我应该与数据库层交谈并检查存储新创建的工作流实例的行 - 还是应该检查指向工作流执行列表中新实例的项目是否存在?如果是第二个,那么究竟如何?我应该在一个场景中检查所有具有正确值的列还是在它自己的场景中检查每一列?