问题标签 [testing-strategies]

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.

0 投票
2 回答
206 浏览

c# - 如何检测正在执行应用程序的上下文?无论是从命令提示符还是从 Windows 窗体中

我正在尝试通过我们的一个内部应用程序运行一组测试用例。我需要能够自动化这些测试并通过命令行运行它们并记录各种事情。问题是现有代码没有将视图与控制器分开,并且在要求用户单击按钮的所有地方都抛出 MessageBoxes 和 Alerts(在我的情况下只是 OK/CONTINUE)。目前,已经决定引入状态标志,这将有助于确定应用程序正在运行的上下文,以便人们可以决定是执行 aConsole.WriteLine()还是 a MessageBox.Show()。但正如你可以想象的那样,这已经导致了很多变化和脏 if-else 块。

可悲的是,在这个阶段坐下来将逻辑与视图分开看起来并不可行。所以我想知道是否有办法检测应用程序正在执行的上下文。我想将每个 MessageBox() 调用替换为 Notify() 调用,它本身可以检测上下文 - 无论是在命令提示符下显示输出还是弹出表单。

EDIT_1:也欢迎任何其他建议这样做。

0 投票
3 回答
527 浏览

testing - 如何使用自动化测试涉及高度复杂计算的应用程序?

我想遵循以下内容来测试涉及复杂计算的应用程序:

  1. 如何使用测试自动化工具来测试计算?(使用自动化工具如 QTP 或开源工具)
  2. 如何在测试计算时确定覆盖率,如何设计测试用例?

提前致谢,Testmann

0 投票
2 回答
144 浏览

testing-strategies - 测试无限输入域的最佳实践,如解析器或基于规则的系统?

测试文本转语音引擎是一项相当艰巨的任务。引擎本身解析输入并根据单个单词的语音分析应用发音规则。此外,存在发音规则的例外列表以改善最终结果。诸如古腾堡计划之类的项目可以让您从字面上扔在问题上;但是,问题仍然存在,由于问题的范围,我永远不会感到舒服。我追求六个九的解决方案(99.9999% 防撞)。向引擎投掷随机文本清楚地表明我只有三个九,随后的修复似乎没有帮助。我知道在这种情况下该怎么做(重新访问引擎中的错误处理机制以使其优雅降级)。一般问题仍然存在。在任何无限输入域中,您如何证明软件质量?

0 投票
2 回答
158 浏览

pdf - 如何在结果质量很大程度上是主观的情况下自动化测试

我一直在通过一系列快速原型开发自动化和统计生成程序,以查看 API 的许可成本是否会产生良好的投资回报。有限的时间框架和我自己有限的经验导致了一个没有自动质量或正确性测试和指标的有用工具。

该程序处理 PDF 文档的本地化过程。具体来说,它会生成有关文件的某些内容(大约字数、图像数等)的报告,并具有一些内容提取和处理功能。它主要用于减少评估PDF本地化项目成本的时间和成本。

该应用程序现已获准用于更正式的开发过程,包括对错误跟踪系统的请求以及初步测试、发布和反馈周期。

那么问题是,您将如何在这种应用程序中进行 QA 和测试,其中数字通常是基于一些启发式的最佳猜测,并且由于源文档的可怕结构,处理后的输出并不总是有用的?我计划在数字明显很疯狂时在报告中添加警告,但是还能做些什么来保证质量呢?

到目前为止,我拥有的最复杂的解决方案是通过构建环境中的断言测试和编写一堆传统的用户测试用例(我宁愿避免)来保证一些辅助方法的结果。

您如何测试主观质量测量?

我在 C# 中工作,但我更喜欢一般的最佳实践答案,而不是任何过于特定于框架的东西。

0 投票
5 回答
537 浏览

php - 介绍 PHP 中的测试驱动开发

我的工作场所由很多牛仔编码员组成。他们中的许多人都是小学生。这恰好导致了很多代码质量问题。

我正在寻找有关如何让我的团队最好地使用 TDD 的建议(我们可以从单元测试开始,然后进入回归测试,然后是更多的自动化测试)。

最终,我希望我们从错误中更快地学习,并产生更好的代码并培养更好的开发人员。

我希望有一些关于如何将 TDD 引入团队的实用建议。具体来说,在 LAMP (php) 堆栈中最好选择哪些工具。

对不起,如果这个问题太开放了。

0 投票
5 回答
132 浏览

asp.net - 项目接近完成。是时候开始测试了。哪些方法在开发周期结束时是可行的?

让我们假设一个人在其开发周期接近尾声时加入了一个项目。该项目已在许多团队中传递,并且总体上是免费的,在整个过程中没有进行任何测试。这个团队的其他成员对测试一无所知(耻辱!),并且在这一点上对每种方法进行单元测试似乎是不可行的。

除了可用性测试之外,此时推荐的产品测试策略是什么?这通常是您陷入手动点击预期输出/实际输出工作的地方吗?

0 投票
3 回答
247 浏览

language-agnostic - 关于错误发现的静态分析的良好介绍性文本?

我正在寻找关于用于查找错误的静态分析理论的良好介绍性文本。有什么建议吗?

0 投票
3 回答
580 浏览

testing-strategies - 如何在 TDD 中管理构建时间

嗨,在我的项目中,我们有数百个测试用例。这些测试用例是构建过程的一部分,在每次签入时都会触发并将邮件发送到我们的开发人员组。这个项目相当大,已经有五年多了。
现在我们有这么多测试用例,构建需要一个多小时。有些测试用例的结构不正确,在重构它们之后,我能够大大减少运行时间,但是我们有数百个测试用例,并且一个一个地重构它们一个似乎有点太多了。
现在我运行一些测试用例(这需要很长时间才能执行)仅作为夜间构建的一部分,而不是作为每次签入的一部分。
我很好奇其他人是如何做到这一点的。

0 投票
5 回答
1388 浏览

unit-testing - 每个单元测试应该测试多少?

我的每个单元测试应该检查多少?例如我有这个测试

并且

显然,如果第一个测试失败,那么第二个测试也会失败,那么这两个测试是否应该组合成一个带有两个断言的测试?我的感觉是,测试越细化,每次测试检查的越少,找到失败原因的速度就越快。但是,拥有大量非常小的测试会产生开销,这可能会花费时间来运行所有测试。

0 投票
3 回答
1334 浏览

integration-testing - 如何管理端到端测试的测试夹具?

刚刚为一个新的 Web 应用程序设置了一个测试框架,我意识到我错过了一个大问题:“我如何使测试彼此独立?”

几年前,我设置了一些复杂的 Ant 脚本来执行删除所有数据库表、再次创建模式、添加测试数据、启动应用程序、运行一个测试然后停止应用程序的完整周期。由于运行整个套件需要时间,因此维护起来很痛苦,并且限制了我们进行夜间测试。它仍然值得,但我想知道是否有更简单的方法。

这种方法有替代方案吗?主要标准是每个测试都不应受到套件中任何其他测试的影响,无论它是失败还是成功。