自动测试:软件工程概念数据科学家必须知道才能成功

为什么您应该阅读本文,大多数数据科学家都鞭打了jupyter笔记本,在某些单元格中播放,然后在同一笔记本中维护整个数据处理和模型培训管道。该代码在笔记本第一次写时进行了一次测试,然后将其忽略了一些未定的时间[…]自动化后的测试:软件工程概念数据科学家必须知道才能成功地出现在数据科学方面。

来源:走向数据科学

为什么您应该阅读本文

数据科学家鞭打jupyter笔记本,在某些单元格中播放,然后在同一笔记本中维护整个数据处理和建模培训管道。

第一次编写笔记本时,对代码进行了一次测试,然后将其忽略了一些不确定的时间 - 天,几周,几个月,几年,直到:

    笔记本的输出需要重新运行才能重新产生丢失的输出。笔记本需要重新运行带有不同参数的笔记本才能重新训练模型。在上游上游需要更改,并且需要重新运行笔记本才能重新刷新下游数据集。
  • 笔记本的输出需要重新运行以重新产生丢失的输出。
  • 笔记本需要重新运行带有不同参数才能重新训练模型。
  • 需要在上游更改某些东西,并且需要重新读笔记本以刷新下游数据集。
  • 你们中的许多人会感到脊柱颤抖的阅读……

    为什么?

    因为您本能地知道该笔记本永远不会运行。

    您在骨头中知道该笔记本中的代码最多需要在最坏的情况下重新编写几个小时。

    在这两种情况下,您都需要很长时间才能获得所需的东西。

    为什么会发生这种情况?有什么方法可以避免这种情况吗?是否有更好的写作和维护代码的方法?

    为什么会发生这种情况?

    有什么方法可以避免这种情况?

    有更好的写作和维护代码的方法吗?

    这是我们将在本文中回答的问题。

    解决方案:自动测试

    是什么?

    顾名思义,自动测试是在代码上运行一组预定义测试的过程,以确保其按预期工作。

    这些测试验证您的代码是否按预期(尤其是在更改或添加之后)行为,并在某些东西破裂时提醒您。它消除了人工手动测试您的代码的需求,并且无需在实际数据上运行它。

    方便,不是吗?

    自动测试的类型

      单元测试综合测试
    运行