问题标签 [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.
java - 使用 JUnit 作为验收测试框架
好的,所以我在一家近年来公开采用敏捷开发实践的公司工作。我们的单元测试和代码质量正在提高。我们仍在努力的一个领域是在自动化验收测试领域找到最适合我们的方法。我们希望采用格式良好的用户故事,并使用它们以测试驱动的方式驱动代码。这也将为我们提供每个用户故事的接受程度测试,然后我们可以将其自动化。
迄今为止,我们已经尝试过 Fit、Fitnesse 和 Selenium。每个人都有自己的优势,但我们也遇到了真正的问题。使用 Fit 和 Fitnesse,我们不禁觉得它们使事情变得过于复杂,而且我们在使用它们时遇到了许多技术问题。企业还没有完全购买这些工具,也不是一直特别热衷于维护脚本(并且不是表格样式的忠实粉丝)。Selenium 确实很好,但速度很慢,并且依赖于实时数据和资源。
我们现在考虑的一种方法是使用 JUnit 框架来提供类似的功能。为什么不使用 JUnit 来编写一个测试(使用 JUnit 框架)来覆盖应用程序的可接受水平范围,而不是使用 JUnit 测试一个小的工作单元?即拿一个新故事(“作为用户,我想查看我的策略的基本细节......”)并在 JUnit 中编写一个测试,该测试在策略细节链接的入口点开始执行应用程序代码,但涵盖所有代码和逻辑到存根数据访问层,然后返回到转发到应用程序中的下一页的点,断言用户应该在该页面上看到什么数据。
在我看来,这具有以下优点:
- 简单(不需要额外的框架)
- 与我们的持续集成构建服务器集成零努力(因为它已经处理了我们的 JUnit 测试)
- 团队中已经存在完整的技能集(毕竟它只是一个 JUnit 测试)
缺点是:
- 更少的客户参与(尽管他们在编写验收测试的第一时间就大量参与编写用户故事)
- 与自由文本规范 ala Fit 或 Fitnesse 相比,JUnit 类中的用户故事和接受标准可能更难理解(或理解)
所以,我的问题是,你有没有试过这种方法?有没有考虑过?你觉得呢?你有没有什么想法?您喜欢和不喜欢这种方法的哪些方面?最后,如果你能说出你喜欢或不喜欢它们的原因,请只提及替代框架而不是这种方法。
testing - 自动化验收测试有什么好处?
最近我读到一些关于验收测试好处的一些疑问的文章,因为与它带来的东西相比,它的成本相当高。为了形成我自己的观点,我想尽可能多地收集自动化验收测试的好处。你能帮助我吗?
windows-services - Windows 服务的验收测试
我正在编写一个 Windows 服务,它会定期处理许多不同的 rss 新闻提要。这些新闻项目将被保存到我们的数据库中,并与系统中的不同对象相关联。
尽管对需要发生的事情有一套规范,但没有供客户验证的 UI 组件。
为这样的事情编写验收测试的最佳方法是什么?
我应该创建一些简单的网页来显示需要验证的数据摘要吗?
ruby-on-rails - 如何告诉自动测试正确跟踪应用程序源中的更改?
每当我的 Rails 应用程序的相关文件之一发生更改时,我都希望自动测试以运行 Steak 验收测试。在研究了 Rspec 和 Cucumber 自己的自动测试配置之后,我正在尝试以下映射:
p>第一个有效:每当 Steak 规格发生变化时,它就会再次运行。
但第二个和第三个没有。更改 /app 子目录下的任何源文件都会被忽略。
使这些映射起作用的正确方法是什么?
谢谢奥利弗
c++ - 如何合并来自同一进程的多次运行的 Valgrind memcheck 报告?
我有一组每晚运行的验收测试。我想使用 valgrind 自动检查我的代码中的内存泄漏,作为手动检查泄漏的额外保障。更新我的脚本以在 valgrind 下运行我的进程是微不足道的,但是,每个测试都会启动和停止许多进程,并且大约有 15000 个测试用例,所以我最终会得到数千个单独的报告。
是否有能够合并这些报告的工具?我见过 valkyrie,但根据文档,他们不支持 valgrind 3.5
rest - 使用 selenium 重定向 http 请求
这是一个非常直截了当的问题,我似乎无法找到一个全面的答案。使用 Selenium 和 Selenium 代理时,如何使代理捕获对特定 uri 的传出 xhr 请求并将目的地修改为预先模拟的替代方案。我在谷歌搜索中找到了这个示例,http://www.sonatype.com/people/2009/10/selenium-part-4/但它似乎没有解释如何编写 mockHelper 方法......
谢谢
西蒙
c# - GUI的验收测试在测试时是否真的显示它?
在对 GUI 进行验收测试时,对 GUI 的测试是否实际上显示了 GUI(我想在几分之一秒内)或者它们只是模拟实现?我说的是 WindowLicker、White、NUnitForms 等框架。
database - 我应该如何实现这个specflow步骤?
好的,我决定尝试从头到尾掌握整个 TDD 过程。
我正在 ASP.NET MVC 2 应用程序中写一个简单的博客,并开始进行验收测试以在我实现它们时测试我的功能。我使用 SpecFlow 作为我的 BDD/ATDD 框架。
我一直在阅读“以测试为导向的面向对象系统的增长”,这就是我开始这样的原因。
我将在书中描述为迭代零的点,我正在创建“行走的骨架”
我决定将登录过程作为“测试系统所有组件的最薄功能部分”开始。在这种情况下,网站本身和数据库。
所以我写了一个详细介绍登录的故事,我写的第一个场景是成功登录。
上述场景中的一个给定条件是
但是我不确定我将如何实施这一步。
显然,这意味着数据库中需要有一个具有给定凭据的用户。但是,就像一个优秀的小程序员一样,我希望密码以某种方式进行散列。
我想写一些可以为我插入的 DatabaseHelper 类。但是,这将包含散列代码来散列密码,然后应用程序本身将需要相同的散列代码,这似乎违反了 DRY。
所以这里真的有几个相关的问题:
- 我在这一步中挣扎的事实是否意味着我应该从其他地方开始?即使登录系统对站点的其他部分相当重要?也许它不是测试网站和数据库的最薄的功能部分?
- 如果你和我从同一个地方开始,你会怎么做?你不会担心 DRY 吗?由于验收测试通过浏览器在外部测试功能,我可能无能为力吗?
如果这个问题看起来有点模糊,我不得不道歉,我没有人可以从这方面学习 TDD,这是我还没有那种“啊哈”时刻的范式转变之一。
提前致谢。
c# - 使用测试驱动开发时俄罗斯方块的验收测试
我想尝试使用 TDD 实现俄罗斯方块游戏。
根据我在阅读《Growing Object-Oriented Software, Guided by Tests 》时的理解,我应该从定义我的验收测试开始。如果我是对的,进行 TDD 时的验收测试就像用例一样定义。
定义一个好的第一个验收测试作为应用程序的“骨架”是非常重要的,所以它应该很简单。
我选择了以下 2 个验收测试作为我的第一个实施:
- 游戏开始,玩家关闭它。
- 游戏开始,玩家什么也不做。他最终输了。
这两个验收测试是好的开始测试吗?什么是好的下一个验收测试?我可以想到类似的东西
- 游戏开始,只有方块掉落。玩家将它们全部放在这样的方式下,即线条总是“爆炸”,使得 100 个游戏步骤后的游戏仍未结束。
但我觉得这有点尴尬,因为在真正的俄罗斯方块游戏中,你总是会有不同的碎片掉下来,这就是验收测试应该做的。
此外,在执行 (2) 时,我有点想尝试一次性实现所有内容,我认为这不是在实现第二个验收测试时假装的。我想这个想法是只在其中 6-7 个之后才实施游戏,而不是在第二个。我对吗?
谢谢
testing - 验收测试和功能测试的区别?
验收测试和功能测试之间的真正区别是什么?
各自的亮点或目标是什么?在我读到的所有地方,它们都模棱两可地相似。