问题标签 [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.
paypal - 如何使用虚拟信用卡在 Live paypal 网站上进行测试
现在我可以使用测试/虚拟信用卡在开发服务器上测试信用卡功能。但无法在实时服务器上测试相同的功能。是否有任何虚拟信用卡,我们可以在现场进行测试?
java - 测试 Web 服务的工具和最佳实践是什么?
我即将开始一个涉及提供大量 Web 服务的大型项目。
我们将使用 Java 平台,因此,当然,我们将大量使用 JUnit、Hudson 等(尽管我不确定这是否重要。)
我们正在寻找一组用于测试 Web 服务的最佳实践和/或工具。我们将有几个目标:
显然,我们需要证明服务行为正确。这意味着发出 Web 服务调用,接收响应(检查它们的正确性),然后可能发出另一个 Web 服务调用以确保系统处于我们希望它处于原始调用后的新状态(并且,显然,检查该响应的正确性。)
我们需要收集响应时间。
我们必须能够自动执行测试用例(jUnit 风格,但针对正在运行的系统,而不是针对单个代码单元。)
如果非开发人员(技术业务用户)可以“创作”测试用例,那将是非常酷的。他们不是 XML 专家(也永远不会是),因此期望他们创建 XML 文件是不现实的。但是他们是主题专家,所以给他们一个“表格”来填写会生成 XML 文件是现实的。然而; 可能会有太多不同的服务让我们自定义构建这些“表单”中的每一个。
任何想法、最佳实践或经验教训都将不胜感激。
testing - 自测技巧?
基本上我想知道是否有人有任何提示可以确保您的代码经过良好测试,而无需在有限的时间范围内从其他人那里获得任何帮助?
过去,我总是能够找到其他人对我的代码进行测试,或者让专门的质量保证团队检查所有内容并找出所有错误。
我通常很小心,但我总是会发现一些我想念的东西,当我测试它们时,我就是看不到它们。
然而,在我目前的工作中,我被要求在非常有限的时间内编写两个 PHP Web 应用程序,并且我被告知我需要自己进行所有测试,尽管我的反馈是这不是一个好主意。
我想知道以前是否有其他人遇到过这个问题并且可以提供一些见解?
我在想也许在对每个区域进行编码之前编写一个快速测试计划并在进行测试之前仔细检查需求可能会很好。
integration-testing - 如何启动自动化测试?
我开始在我目前所在的公司担任软件工程师。随着时间的推移,我要么是唯一愿意或能够负责各种系统的人,因此我被“提升”为 IT 经理。现在,在我担任软件工程师期间,我将为我将构建的各种软件模块创建功能测试,因此,即使在今天,我也能够快速测试我所从事的系统的各个部分。但是,这里有一个庞大的代码库,几乎没有覆盖到在这里工作的其他各种开发人员。
现在,作为 IT 经理,我希望能够测试系统的所有部分是否正常工作,但是有:
A) 没有专门用于创建代码测试覆盖率的预算时间
和
B) “首席软件工程师”不希望开始创建测试套件来帮助我监控软件是否正常运行。
我不希望软件团队放弃他们正在做的所有事情并花费 2 周时间创建测试套件,但如果他们开始随着时间的推移扩大测试套件的覆盖范围会很好,这样我就可以确认系统的各个部分都在工作.
所以归结为,我如何让软件团队开始构建测试套件?
其他注意事项:
A) 除了管理我们的 IT 部门(一名 unix 工程师、桌面支持人员以及相关的办公和生产设备)外,我仍然被要求做软件项目
B) 我的 unix 管理员很难让生产系统运行完整的代码库,而且我们没有从软件团队那里得到很好的帮助。他无法运行任何类型的诊断程序来查看 Web 应用程序在新安装时出现故障的位置。该公司的副总裁一直告诉我进去并在代码中执行 print_r 以查看发生了什么。这糟透了!!!
language-agnostic - 您如何对自己的软件进行压力测试?
我一直在自己开发一个应用程序,我正处于一个一切都很好的阶段——只要用户做了他或她应该做的一切。:-) 这个软件需要更多的测试来看看它有多健壮,当人们重复点击同一个按钮、尝试打开错误类型的文件、将数据放在错误的位置等时它的工作情况如何。
我对此有点麻烦,因为我很难考虑错误地使用该应用程序。这些对我来说都是边缘情况。不过,在开始将应用程序提供给 beta 测试人员之前,我希望应用程序尽可能稳定且经过良好测试。假设我现在不是在谈论聘请专业测试人员,我很好奇你们是否有任何提示或系统地思考这项任务。
谢谢,一如既往。
testing-strategies - 测试策略:生成 XML 文件
我正在编写几个生成 xml 文件的类。(目前细节可能并不重要)。
我想知道最好的测试策略是。
- 我不想重写 xml 生成代码只是为了比较输出,当我可以将文件写入磁盘并在某些里程碑进行比较时(xml 规范不会经常更改,例如每两次更改一次或两次年)
- 我对测试架构的行为而不是 getter 和 setter 更感兴趣
想到的选项:
- 在测试环境中重建xml文件并比较字符串表示
- 手动检查结果(写入文件等)
- 在测试环境中重建内存中的 xml 文件并比较内存中的元素。
如果您知道 C++ 和/或 Google Test 的任何库,虚拟奖励。
想法?
user-interface - 如何测试正确渲染的东西?
如何测试应用程序是否正确呈现了某些内容?
例如(2D 示例):
微软 Word 2007 http://img32.imageshack.us/img32/6197/37841144.png
如何知道阴影放置正确或渲染了正确的颜色/轮廓?或者,当一个方向旋转时,3D 效果是否正确渲染?其他事情可能是,如果重新调整了艺术这个词的大小,如何衡量它的“正确性”?
testing - 是否有正确的方法来实施持续改进(AKA 软件强化)流程?
每个版本似乎我们的客户都会发现我们的软件存在一些老问题。它使每个版本看起来都有多个错误,而实际上我们的新代码通常是可靠的。
我们已经尝试实施一些额外的测试,我们让测试人员每月对单个应用程序进行数小时的每月回归测试,以保持领先于小问题。我们将此过程称为我们的软件强化过程,但似乎我们没有捕捉到足够多的错误,而且感觉就像一个非常落后的过程,因为总是有新的代码要编写。
这种测试有诀窍吗?我是否需要一次针对一项特定功能?
testing - 我应该将我的测试代码与它正在测试的代码放在哪里?
我能想到的两个明显的地方是我正在处理的代码旁边的某种“测试”文件夹。所以像:
或者我可以将测试代码拆分为一个完全独立的层次结构。所以像:
我见过很多框架使用第二种方法,但最近我们一直将测试代码放在生产代码中,主要是为了方便。一种方法比另一种方法好得多,还是这里有最佳实践?
testing-strategies - 在您的程序中查找您不知道的已损坏内容的提示?
今天,当我找到一种方法来破坏我们程序中的某些功能时,我正在为客户做一些事情。
(代码实际上是遗留代码,它已经开发了大约 10 年,而我在这里只工作了大约一年。)
它不会导致错误或导致程序崩溃,但如果用户正在使用该程序并重复该行为,我很确定他们会举起他们的“WTF?” 旗帜。
在我们的程序中,我们命名了可以与文本框链接的字段(文本框)和静态文本(标签)。当文本框未填写时,链接到它们的标签会消失。
我破坏的功能是,当您更改已经有一个或多个标签链接的文本框的名称并保存文件时,无需重新关联与文本框关联的一个或多个标签,以前关联的标签当文本框为空白时出现。
现在我对此事的想法是,一个简单的观察者模式本来可以解决这个问题,但后来我没有编写代码。
我在想,如果我能和我店里的人一起挖掘更多这样的情况,也许我可以说服他们考虑单元测试、解耦、在需要的地方应用模式等等。
因此,出于这个原因,我想知道是否有人有任何提示可以在任何类型的应用程序(基于 Web、桌面等)中找到损坏(但不会导致错误)功能