云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

香港带宽_变异by典伊百度云_测评

小七 141 0

香港带宽_变异by典伊百度云_测评

作为2017年第一季度工作的一部分,我花了大量时间研究CI/CD(持续集成和持续部署)。(我将在不久的将来发表更多关于它的文章,大数据分析技术,敬请关注。)

如果您不熟悉CI/CD,这里有一个简短的概述。自动化工具使用一个测试套件来验证任何新代码没有破坏任何现有功能。这种情况会自动发生,云服务器的,因此开发人员不必对添加的每一段新代码都执行基本检查。

但是,问题出在这里。测试套件只和它写的一样好。可能是在撒谎

测试积极和消极

构建测试套件的第一条规则是"边界"。在构建测试套件时,开发人员应该寻找正确的响应。但他们也应该测试潜在的错误响应,并确保错误也得到了处理。

在测试术语中,边界概念提供了一个很好的起点。如果应用程序接受一个输入,测试如果该输入是零个字符、1个字符、最大字符数,然后是max+1,会发生什么。一旦这些边界被测试,这是一个有效的假设,任何超过边界的东西都会以同样的方式作出反应。这并不总是真的。然而,在它的辩护中,边界值分析表明检验边界比检验非边界条件更有价值。它还提供了一个测试框架,将覆盖大多数条件,只留下不太可能的非边界条件的个案基础上。

现在,当测试的边界,大淘客怎么推广,程序员将有条件,将"失败",但正确的。测试将检查失败,并在出现这种情况时报告OK。

测试测试

这是显而易见的部分。但是测试只和正在使用的测试工具一样好

如果那些工具在骗你呢?

我们使用的许多工具也有集成的测试套件。第一道防线是使用工具自己的测试套件来确保工具正常工作。当然,测试套件只和作者一样好,所以可能仍然会出现错误。

因此,一个全面的测试系统也会为测试工具提供一些虚拟数据。更重要的是,这个有效负载中应该有一系列的失败条件,这些条件与预期的使用情况相匹配,但应该被捕获。

例如,开发人员可能有一个测试,检查以确保HTML页面上的所有字段都可见并启用。如果测试成功运行,它们都是有效的。但是,如果由于某种原因,测试缺少一个输入字段呢?即使该字段处于无效状态,它仍将报告成功。测试看不到字段,所以它不测试它。

例如,

我们的团队在系统上管理开发人员教程SAP.com网站. 这是一个伟大的设置。我们使用Github为许多教程托管降价文件和图像。我们的web服务器每15分钟轮询一次此系统,哪个云服务器好,并根据内容更新我们的网站。

自己看看–这是教程Github网站。

我们的系统在每个教程上使用一个测试套件。测试的一部分是拼写检查,它在每个教程发布之前都会运行。我们使用一个名为mdspell的测试工具,来自项目节点markdown spellcheck。它工作得很好。

我们假设,因为它经常发现拼写错误,它工作得很好。

想象一下当一个错误报告出现时我们的惊讶。教程中的拼写错误。嗯。所以我们看了教程,是的,单词是错的。我们测试了降价文件,淘客什么意思,但测试结果很好。所以我们打开它,拼写错误仍然存在?

最终,事情变得明朗起来。拼写检查器中有一个错误。该工具在某些特定条件下忽略文本的某些部分。我们没有意识到这是我们的错误。我们忽略了测试的基本规则,我们认为成功是好的。我们应该做的是创建一个测试文件(或者更好的是,几个测试文件),从我们自己的工作副本中提取,但是充满了已知的错误。我们知道应该检测到错误。

因此,我们正在努力解决这个问题,添加阴性成功测试是解决方案的一部分。

结论

在编写测试套件时,一定要包含阴性测试样本。确保你的测试系统在你期望的时候失败。

TL;DR:即使测试工具也有缺陷。一定要找他们。