是否需要浏览器测试?

时间:2019-06-27 19:22:14

标签: laravel testing laravel-dusk

为什么已经进行“功能测试”和“单元测试”的人为什么需要进行浏览器测试(使用laravel dusk等工具)?

该应用是否需要浏览器测试?为什么?

1 个答案:

答案 0 :(得分:0)

对于测试,有不同的方法会产生不同的结果。为了回答您的问题,我将在下面列出它们,然后圈出答案。

单元测试

  • 这些用于测试应用程序的很小一部分。
  • “单元”是单个类,而不是类的组合。
  • 在进行单元测试时,通常会模拟与其他类的任何交互,因此仅测试“单元”本身。
  • 单元测试执行起来非常快
  • 由于单元测试速度很快,通常用于测试所有路径(例如,快乐路径,替代路径和异常路径)
  • 通常在phpunit中完成
  • 没有数据库交互

集成测试

  • 这些用于测试不同单元之间的交互作用
  • 仅应测试少数路径,因为涉及更多单元时路径数量会增加很多(例如,A类具有3条路径,B类具有4条路径,因此集成测试中100%的覆盖率应涵盖12条路径)< / li>
  • 仍然非常快
  • 通常在phpunit中完成
  • 可以进行数据库交互

功能测试

  • 这些用于测试一项功能
  • 通常只测试快乐路径(也许是另一条路径)
  • 通常具有数据库交互作用
  • 很慢
  • 可以有几个,但不要太多
  • 通常在Behat中完成

浏览器测试

  • 这些用于从头到尾测试功能
  • 模拟实际用户将如何访问您的应用程序
  • 可用于检查某个功能是否可以在不同的浏览器上运行
  • 依靠工具可以录制鼠标实际移动/键盘笔触的视频
  • 非常慢
  • 仅应使用少数几个
  • 通常在黄昏完成(对于Laravel)

结论

总结一下,测试级别具有与测试速度,测试覆盖率和被测代码大小有关的不同用法。至于功能测试与浏览器测试,不同之处在于实际模拟用户与应用程序的交互,而不是完成所有工作的机器,以检查不同浏览器之间的兼容性,并检查功能是否从头到尾起作用。