面试

开发背景:可靠的产品eWay-CRM

整个开发团队一直在致力于eWay-CRM。这样的系统是如何制成的?
我们的首席技术官Roman Stefko向我们解释了如何确保优质产品离开我们的实验室。

 

罗曼·斯蒂夫科

 

罗曼,我们如何确保eWay-CRM发挥应有的作用?

与其他任何软件一样,我们的eWay-CRM是通过使用编程语言编写程序来制作的。如今,它已经是很复杂的产品,它由冗长而困难的代码制成。

当您开发代码时,您自然会犯下必须解决的错误。
通常,使用新产品会更容易。它通常是由会记住他们在代码中写的内容的程序员制作的。产品越旧,其代码越复杂……发生的错误也越多。
开发人员会测试他们编写的所有内容,但这还不够。发生错误的可能性太多。他们根本无法掌握所有这些情况。尤其是在开发产品时,因为他们的头脑很忙并且受编写代码的影响。

 

这就是为什么我们有测试员,对吧?

搜索错误实际上部分是测试人员的工作。测试人员从用户的角度测试软件。换句话说,测试人员确保开发人员一直在努力进行应有的工作,并且不会产生错误。
例如,当我们开发最新的模块Tasks时,测试人员会一一尝试所有功能。
但是,即使是测试人员也无法随时注意所有事情。这意味着他将不得不仔细检查整个系统,并在每次稍作调整后就测试所有功能。
这就是为什么我们在eWay-CRM中使用单元测试的原因。

 

单元测试?这意味着什么?

这些是可以检查代码及其功能的自动化测试。术语“单元测试”来自以下事实:我们将它们用于测试称为单元的程序的可单独测试的部分。在eWay-CRM中,这些测试由程序员自己编写。

单元测试的工作方式如下:

  1. 我们编写测试用例,并定义在特定情况下应该发生的情况。对于每个测试用例,我们创建一个单元测试,这是源代码的一小部分。这些应该检查应用程序主要源代码的各个部分。如果我们想测试更多可能的场景,甚至可以对主要源代码的单个部分进行多个单元测试。这绝不是一个坏主意。
  2. 在准备单元测试时,我们在特定时间创建快照。这样,我们将来就可以轻松地使用它来检查代码调整是否造成了程序损坏。

我们多久做一次这一切?

每天晚上都会使用单元测试,因此,我们可以经历数百种可能的情况。测试人员会为此花费数小时。但是通过自动测试,只需几分钟即可完成。现场测试仪和自动测试是完美的组合。例如,通过我们最新的模块Tasks,测试人员可以说出它使用起来有多方便。
那是另一种测试。自动测试无法告诉我们某些东西看起来好坏。
单元测试方法可以帮助我们找到所有由于系统调整而导致的错误。开发人员可以看到他所做的操作在软件的完全不同的部分中引起了错误,并使用该知识,他们可以在实际应用之前优化一组步骤。
我们还将关注各个代码部分的测试范围。覆盖率以百分比显示。详细地说,我们可以找出未涵盖哪个特定部分。
总而言之,我们非常彻底地进行测试。

 

pokrytí

这种适当的测试必须花费大量时间。这值得么?

eWay客户关系管理是一个庞大而复杂的产品。我们已经致力于这项工作10多年了,许多开发人员已经看到了它。我们的代码本身大约有376,862行。那比圣经长十倍!没有人可能会牢记这样的系统。这就是为什么我们最近如此专注于测试,以及为什么我们编写越来越多的测试的原因。
但是,编写测试意味着更多的工作。除了开发新功能外,我们现在还花费大量时间进行更彻底的测试。由于单元测试,开发任何次要功能的开销可能成倍增加。但是,从长远的角度来看,这确实是有回报的。
过去,我们过去常常会发现一些错误。想象一下,我们使用一个新版本工作了三个月,一个客户花了一个月才开始使用它,然后又一个月才发现一个错误。我们发现自己处于不得不修复这样一个旧代码的情况。我们必须找到一种快速有效的修复方法,在我们已经在从事其他工作的同时,也不会造成更大的损失。

最后,在犯了错误的几个月之后,我们不得不花费大量时间来修复,分析,创建新版本和更新。这样的印象不好,也不便宜。
现在,由于有了单元测试,我们能够在开发阶段进行某些更改,并将更好的软件发布给全世界。专注于更好的测试会使我们的开发速度变慢,但是我们可以看到结果。我们的开发人员已经习惯于花费更多的时间进行测试,并且他们自己可以看到效果。测试可以帮助他们观看自己的作品。这确实有帮助,错误的数量正在减少。

 

detail

这些测试是eWay-CRM中的新功能吗?

我们以前也曾经做过单元测试,但现在更多了。我们专注于具有更大影响力的功能,我们希望为不断增长的客户提供真正可靠的产品。这就是为什么我们会毫不犹豫地花时间和金钱进行测试。

 

您是否喜欢阅读有关eWay-CRM开发的信息?阅读我们的 采访Jan谈编码。您可能也对 测试员马丁的认罪, 或其他 采访Roman关于数据安全的信息.

-eway-
21. 3. 2019
分享