pix*_*xel 6 unit-testing ui-automation
如果我有UI自动化测试,为什么我需要编写单元测试?
如果我需要检查一个方法是否返回给定输入的某些输出,例如然后在视图中显示的添加结果,如果我可以确认视图中的输出是正确的,为什么还需要单元测试(或者不正确)通过UI自动化测试
Nis*_*ant 10
单元测试和端到端测试(UI测试)有两个不同的目的
单元测试告诉您代码单元(模块,类,功能,接口)何时出现问题
端到端测试告诉您该故障如何影响端到端输出.
让我们用一个类比来理解为什么我们需要两者.
假设您通过组装不同的组件(如化油器,齿轮箱,轮胎,曲轴等)来制造汽车.所有这些零件都是由不同的供应商(想想开发人员)制造的.
当汽车无法按预期工作时,您是否需要测试各个组件以找出问题的根源?
在组装汽车之前测试组件会让您省时省力吗?
通常,您要做的是在将每个组件添加到汽车之前确保每个组件按预期工作(单元测试).
当汽车无法按预期工作时,您可以测试每个组件以找出问题的根本原因.
这通常通过创建装配线(CI管道)来实现.您的测试策略看起来像
测试单个组件
测试它们是否与其他组件接口时工作
所有组件组装在一起后测试汽车.
这种测试策略就是我们所说的编程中的测试金字塔.
阅读本文可能会为您提供更多见解:https://martinfowler.com/bliki/TestPyramid.html
有两个原因可以立即想到,尽管进行了自动化测试,为什么还要进行单元测试.