欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【12】进大厂必须掌握的面试题-持续测试面试

程序员文章站 2024-03-24 10:03:04
...

Q1。什么是连续测试?

我将建议您遵循以下提到的解释: 连续测试是作为软件交付管道的一部分执行自动测试的过程,以获得与最新版本相关的业务风险的即时反馈。这样,每个构建都将得到持续测试,从而使开发团队能够快速获得反馈,从而可以防止这些问题发展到软件交付生命周期的下一个阶段。由于无需手动重建项目并在进行更改后重新运行所有测试,因此,这极大地加快了开发人员的工作流程。

Q2。什么是自动化测试?

自动化测试或测试自动化是使手动过程自动化以测试被测应用程序/系统的过程。自动化测试涉及使用单独的测试工具,使您可以创建可重复执行且不需要任何手动干预的测试脚本。

Q3。 自动化测试的好处是什么?

我列出了自动化测试的一些优点。将这些内容包含在您的答案中,您可以添加自己的经验,了解持续测试如何帮助您之前的公司:

  • 支持重复测试用例的执行
  • 帮助测试大型测试矩阵
  • 启用并行执行
  • 鼓励无人值守的执行
  • 提高准确性,从而减少人为错误
  • 节省时间和金钱

Q4。如何在DevOps生命周期中自动化测试?

我在下面提到了一个通用流程,您可以在其中参考: 在DevOps中,开发人员必须将对源代码所做的所有更改提交到共享存储库。每次更改代码后,Jenkins等持续集成工具都会从此共享存储库中提取代码,并将其部署到由Selenium等工具完成的持续测试中,如下图所示。 这样,与传统方法不同,可以连续测试代码中的任何更改。

【12】进大厂必须掌握的面试题-持续测试面试

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一个小的定义。它可用于在多个平台和浏览器上同时执行相同或不同的测试脚本,以实现分布式测试执行。这允许在不同环境下进行测试,并显着节省执行时间。

欢迎关注 Java架构师社区公众号. 本文转载自Java架构师必看 ,更多内容点击查看!