我对功能测试的理解是,它是一种检查整个应用程序功能的集成测试。减去任何存根、模拟或其他测试替身。对于 Web 应用程序,这可能是手动检查当用户尝试在登录表单上输入错误凭据时会发生什么。
我对冒烟测试的理解是,它是一系列快速的功能测试,可用于确定应用程序是否已正确启动以及其主要子系统是否全部在线。对于 Web 应用程序,这可能是访问健康检查 URL 并确保应用程序已启动,并且可以访问其所有相关子系统(其数据库、其消息代理等)。
我对回归测试的理解是,它是一种功能测试,将来用于确定特定功能是否不再按预期工作。由于功能测试是为新特性编写的或为修改现有特性而重写的,它们被添加到回归测试套件中。从这个意义上说,回归测试套件是特定 Web 应用程序的所有有效功能测试的组合。
在我继续之前,如果到目前为止我所说的任何内容都是误导或不正确的,请先纠正我!
假设我或多或少走上了正轨:
- Selenium WebDriver 或 BrowserStack 等工具在哪里分类?它们是用于烟雾测试还是回归测试?
- 进行此类测试的普遍接受的方法/工具是什么?
- 从自动构建(例如 Jenkins 或 Bamboo)启动/运行这些测试的普遍接受的方法是什么?