我会说三者都是一样的,但我想知道它们之间是否存在细微差别。最后,我认为您正在测试所有这些用户场景。
答案 0 :(得分:8)
UI测试:用户界面测试。换句话说,您必须确保屏幕上的所有按钮,字段,标签和其他元素都按照规范中的假设工作。
GUI测试:图形用户界面。您必须确保屏幕上的所有元素都按照规范中的说明进行操作,并且还要确保颜色,字体,元素大小和其他类似的东西匹配设计。
功能测试:产品的质量保证过程,承诺根据规范要求对组件或系统的功能/功能进行测试。
E2E测试:它需要识别系统依赖关系并确保正确的信息通过多个组件和系统传递。
答案 1 :(得分:3)
请熟悉Hermetic Testing。
您可以通过两种方式访问测试中的系统:
对我来说,UI测试的工作方式如上图所示:所有测试都使用本地资源。它们是密封。
但是端到端测试涉及其他系统。示例:您的SUT(被测系统)创建一封电子邮件。您要确保此电子邮件被发送到服务器,然后再到达收件箱。对我而言,这与“关注点分离”相矛盾。这混合了两个不同的主题。第一:您的应用程序创建一封电子邮件并将其发送到服务器。可以使用模拟邮件服务器来处理。但是端到端测试将其与第二个问题混合在一起:您希望邮件服务器处于活动状态并正确接收和转发邮件。这不是软件测试,而是监视。
我的建议:对代码进行密封的UI测试,并检查/监视您的生产系统。但是不要混用这两个概念。我认为对于小型环境,不需要进行端到端测试。