📜  Flutter– 测试

📅  最后修改于: 2021-09-23 06:24:38             🧑  作者: Mango

首先,从头开始制作的小应用程序通常在高端系统中使用虚拟模拟器进行手动测试,或者在低端系统中使用外部Android手机进行测试,因为模拟器可能会导致低端设备中的系统滞后或死机.

您构建的应用程序中存在的功能越多,手动测试应用程序就越困难。因此,执行自动化测试可确保应用程序在发布前正常运行。

现在,自动化测试可以分为以下几类:

  • 单元测试
  • 集成测试
  • 小部件测试

根据事实,建议在不同类型的测试之间进行权衡,我将在下表中显示:

  Unit Widget Integration
Confidence Low Higher  Highest
Maintenance Cost Low Higher Highest
Dependencies Few More Most
Execution Speed Quick Quick Slow

让我们简要解释一下不同类型的测试:

单元测试 :

顾名思义,单元测试测试单个方法、函数甚至类。单元测试的唯一目的是在多种条件下验证逻辑单元的正确性。单元测试通常不会写入磁盘,或从磁盘读取,或从运行测试的进程外部读取用户指令。被测单元的外部依赖通常被模拟出来。

集成测试:

集成测试对应用程序的较大部分执行测试,甚至根据要求测试完整的应用程序。此测试的主要目的是验证所有被测试的小部件或服务是否按预期完美地协同工作。此外,还可以使用此应用程序测试应用程序的性能。

被测应用程序通常与测试驱动程序代码隔离,以避免歪曲结果。此测试通常在真实设备或虚拟模拟器(例如 Android 模拟器或 iOS 模拟器)上运行。

持续集成服务:

持续集成服务允许您在检测到代码更改时自动运行测试。这提供了有关代码更改是否按预期工作并且不会引入任何错误的及时反馈。

小部件测试:

在某些情况下,小部件测试也称为组件测试。此测试的目的是按预期改变 UI 的外观和设计以及与用户的交互。小部件的测试涉及测试多个类。

例如,被测试的小部件应该能够与用户交互并响应用户命令、执行布局并启动子小部件的工作。因此,小部件测试比单元测试更全面。然而,就像单元测试一样,小部件测试的环境被替换为比成熟的 UI 系统更容易和更简单的实现。