Q1。什么是连续测试?
我将建议您遵循以下提到的解释:
连续测试是作为软件交付管道的一部分执行自动测试的过程,以获得与最新版本相关的业务风险的即时反馈。这样,每个构建都将得到持续测试,从而使开发团队能够快速获得反馈,从而可以防止这些问题发展到软件交付生命周期的下一个阶段。由于无需手动重建项目并在进行更改后重新运行所有测试,因此,这极大地加快了开发人员的工作流程。
Q2。什么是自动化测试?
自动化测试或测试自动化是使手动过程自动化以测试被测应用程序/系统的过程。自动化测试涉及使用单独的测试工具,使您可以创建可重复执行且不需要任何手动干预的测试脚本。
Q3。 自动化测试的好处是什么?
我列出了自动化测试的一些优点。将这些内容包含在您的答案中,您可以添加自己的经验,了解持续测试如何帮助您之前的公司:
- 支持重复测试用例的执行
- 帮助测试大型测试矩阵
- 启用并行执行
- 鼓励无人值守的执行
- 提高准确性,从而减少人为错误
- 节省时间和金钱
Q4。如何在DevOps生命周期中自动化测试?
我在下面提到了一个通用流程,您可以在其中参考:
在DevOps中,开发人员必须将对源代码所做的所有更改提交到共享存储库。每次更改代码后,Jenkins等持续集成工具都会从此共享存储库中提取代码,并将其部署到由Selenium等工具完成的持续测试中,如下图所示。
这样,与传统方法不同,可以连续测试代码中的任何更改。
**Q5。**为什么连续测试对DevOps很重要?
您可以这样回答这个问题:“连续测试允许立即对代码中所做的任何更改进行测试。这样可以避免由于在周期结束时进行“大爆炸”测试而产生的问题,例如发布延迟和质量问题。这样,连续测试有助于更频繁,更优质的发布。”
Q6。连续测试工具的关键要素是什么?
连续测试的关键要素是:
- **风险评估:**涵盖风险缓解任务,技术债务,质量评估和测试覆盖率优化,以确保构建准备好进行到下一个阶段。
- **策略分析:**确保所有流程与组织不断发展的业务保持一致,并满足合规性要求。
- **需求可追溯性:**它确保满足真正的需求并且不需要返工。对象评估用于确定哪些需求处于危险之中,按预期工作或需要进一步验证。
- **高级分析:**它在诸如静态代码分析,变更影响分析和范围评估/优先级等领域中使用自动化,以首先防止缺陷并在每次迭代中完成更多工作。
- **测试优化:**确保测试产生准确的结果并提供可行的结果。方面包括测试数据管理,测试优化管理和测试维护
- **服务虚拟化:**确保访问真实的测试环境。通过服务可视化,可以访问所需测试阶段的虚拟形式,从而减少了浪费时间来测试环境设置和可用性。
Q7。您喜欢哪种测试工具,该工具有什么好处?
在这里提及您使用过的测试工具,并据此来制定答案。我在下面提到一个示例:
我致力于Selenium,以确保高质量和更频繁地发布。
硒的一些优点是:
- 它是免费和开源的
- 它拥有庞大的用户群并为社区提供帮助
- 它具有跨浏览器兼容性(Firefox,Chrome,Internet Explorer,Safari等)。
- 它具有出色的平台兼容性(Windows,Mac OS,Linux等)
- 它支持多种编程语言(Java,C#,Ruby,Python,Pearl等)
- 它具有新的定期存储库开发
- 它支持分布式测试
Q8。Selenium支持哪些测试类型?
Selenium支持两种类型的测试:
回归测试:它是在修复了错误的区域附近对产品进行重新测试的行为。
功能测试:指单独测试软件功能(功能点)。
Q9。什么是Selenium IDE?
我的建议是通过定义Selenium IDE来开始这个答案。它是Selenium脚本的集成开发环境。它被实现为Firefox扩展,并允许您记录,编辑和调试测试。Selenium IDE包含整个Selenium Core,使您可以轻松,快速地记录和回放将在其运行的实际环境中进行的测试。现在,您的答案中将
包含一些优点。借助自动完成支持和快速移动命令的能力,Selenium IDE是创建Selenium测试的理想环境,无论您喜欢哪种测试样式。
Q10。Selenium中的Assert和Verify命令有什么区别?
我在下面提到了“声明”和“验证”命令之间的区别:
- 断言命令检查给定条件是对还是错。假设我们断言给定元素是否存在于网页上。如果条件为真,则程序控件将执行下一个测试步骤。但是,如果条件为假,则执行将停止并且不会执行进一步的测试。
- 验证命令还会检查给定条件是对还是错。不管条件是对还是假,程序的执行都不会停止,即验证过程中的任何失败都不会停止执行,并且所有测试步骤都将被执行。
Q11。如何使用WebDriver启动浏览器?
可以使用以下语法启动浏览器:
WebDriver driver = new FirefoxDriver();
WebDriver driver = new ChromeDriver();
WebDriver driver = new InternetExplorerDriver();
**Q12。**什么时候应该使用Selenium Grid?
对于这个答案,我的建议是给Selenium Grid一个小的定义。它可用于在多个平台和浏览器上同时执行相同或不同的测试脚本,以实现分布式测试执行。这允许在不同环境下进行测试,并显着节省执行时间。