问题标签 [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 与 TestNG
在工作中,我们目前仍在使用 JUnit 3 来运行我们的测试。我们一直在考虑切换到 JUnit 4 来编写新的测试,但我一直在关注 TestNG。你们都有哪些使用 JUnit 4 或 TestNG 的经验,并且对于大量测试似乎更有效?编写测试的灵活性对我们来说也很重要,因为我们的功能测试涵盖了广泛的方面,需要以多种方式编写才能获得结果。
旧的测试不会被重写,因为它们做得很好。不过,我希望在新测试中看到的是编写测试方式的灵活性、自然断言、分组和易于分布的测试执行。
unit-testing - 如何让初级程序员写测试?
我们有一个初级程序员,他根本没有编写足够的测试。
我必须每两个小时唠叨他一次,“你写过考试吗?”
我们尝试过:
- 表明设计变得更简单
- 展示它可以防止缺陷
- 让它成为一种自我的事情,只说糟糕的程序员不会
- 这个周末有 2 个团队成员必须来上班,因为他的代码有一个 NULL 引用,而他没有测试它
我的工作需要高质量的稳定代码,而且通常每个人都“明白”并且没有必要推动测试。我们知道我们可以让他编写测试,但我们都知道有用的测试是在你投入其中时编写的。
你知道更多的动机吗?
java - 测试分布
在我的工作中,我们正在运行一组测试,其中包含大约 3,000 个单独的测试用例。以前我们在一台机器上运行整个测试套件,大约需要 24-72 小时才能完成整个测试运行。我们现在已经创建了自己的系统,用于在大约三台不同的机器上对测试进行分组和分配,并且测试优先级,以便首先运行核心测试以获得更直接的结果,并在有可用机器时运行额外的测试。
我很好奇是否有人找到了一种在多台机器上分配测试以减少完整运行的总测试时间的好方法,以及使用了哪些工具来实现这一点。我做了一些研究,看起来 TestNG 正在朝着这个方向发展,但看起来它仍然处于相当多的发展阶段。
我们不打算重写任何测试,但是当我们添加新测试和测试新产品或附加组件时,我希望能够处理我们正在处理大量测试的事实。另一方面,如果我们能找到一个工具来帮助分发我们的 Junit3.x
测试,即使是以非常基本的方式,那也会很有帮助,因为我们不必维护自己的工具来做到这一点。
c# - 可以同时执行 WebForms 和 MVC 的最佳模拟框架?
我正在进入更多的 TDD 工作流程,并且混合了 MVC 和 asp.net Web Forms 应用程序。
建议 MVC 起订量。
我已经将 Rhino 用于 Web 表单。
有没有人有一个最佳实践来为两者都提供 1 个框架模拟?
testing - 用于自动发送到 Windows 应用程序的鼠标和键盘事件的工具
哪些工具可用于自动单击 Windows 窗体应用程序?这甚至有用吗?我看到我公司的测试人员做了很多工作,这似乎是在浪费时间。
unit-testing - 严格捕获测试用例以进行单元测试
假设我们有一个用伪语言定义的简单函数。
我们传入一个未排序的数字列表和一个指定升序或降序排序的布尔值。作为回报,我们得到一个排序的数字列表。
根据我的经验,有些人比其他人更擅长捕捉边界条件。问题是,“你怎么知道你什么时候'完成'捕获测试用例”?
我们现在可以开始列出案例,一些聪明的人无疑会想到以前没有涵盖的“再一个”案例。
testing - 有人使用可执行需求吗?
根据我对它们的有限经验,可执行需求(即将所有需求指定为损坏的自动化测试)已被证明是非常成功的。我曾参与过一个项目,在该项目中,我们非常重视创建高级自动化测试,这些测试可以执行给定用例/用户故事的所有功能。在我们开始这种练习之后,开发变得多么容易,这让我感到非常惊讶。编写测试后,实现功能变得非常容易,我们能够对系统进行重大的架构更改,并对世界充满信心,一切仍然像昨天一样工作。
我们遇到的最大问题是管理这些类型测试的工具不是很好。我们经常使用 Fitnesse,因此我现在讨厌 Fit 框架。
我想知道 1)是否有其他人有使用这种类型的测试驱动的需求定义进行开发的经验,以及 2)你们都使用了哪些工具来促进这一点。
unit-testing - 开发人员测试与 QA 团队测试 - 什么是正确的工作分工?
在试图提倡更多的开发人员测试时,我发现了“这不是 QA 的工作吗?”的论点。被大量使用。在我看来,让 QA 团队承担所有测试职责是没有意义的,但同时 Spolsky 和其他人说你不应该使用 100 美元/小时的开发人员来做 30 美元/小时的测试人员可以做的事情. 在拥有专门的 QA 团队的公司中,其他人的经历是什么?分工应该画在哪里?
澄清:我的意思是 QA 作为验证和验证团队。开发者不应该做验证(以客户为中心的测试),但验证(功能测试)的划分点在哪里?
testing - 如何衡量软件产品的质量
我有一个产品 X,我们每个月都会交付给客户 C,包括错误修复、增强功能、新开发等。)每个月,我都被要求错误地“保证”产品的质量。
为此,我们使用了从我们所做的测试中获得的一些统计数据,例如:
- 重新打开率(重新打开的错误数/测试的已纠正错误数)
- 新错误率(新错误的数量,包括回归、测试期间发现的错误/测试的已纠正错误的数量)
- 对于每个新的增强,新的错误率(为此增强发现的错误数/工作日数)
和其他各种数字。
由于我们不详述的原因,不可能每次都测试所有内容。
所以,我的问题是:
如何估计我的软件中保留的错误的数量和类型?我必须遵循哪些测试策略来确保产品是好的?
我知道这是一个悬而未决的问题,但是,嘿,我也知道没有简单的解决方案。
谢谢。
svn - 将 subversion 存储库编号获取到代码中
我想实现一种在代码中记录项目版本的方法,以便在测试时使用它并帮助跟踪错误。似乎最好使用的版本号就是 Subversion 的当前版本号。有没有一种简单的方法可以将此数字挂钩到(在我的情况下为 C++)头文件或其他东西中,然后我可以在代码中得到它?我想这是一个提交后的钩子还是什么?
有没有人有任何实现这一点的经验(请分享代码?),或者可以提出更好的选择?谢谢。