zoukankan      html  css  js  c++  java
  • 【12】进大厂必须掌握的面试题-持续测试面试

    Q1。什么是连续测试?

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

    Q2。什么是自动化测试?

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

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

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

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

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

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

    自动化测试-devops面试问题

    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架构师必看 ,更多内容点击查看!

  • 相关阅读:
    HelloDjango 第 02 篇:"空空如也"的博客应用
    HelloDjango 第 01 篇:开始进入 django 之旅
    HelloDjango 启动!免费带你学Django全栈!
    抛却纷争,百度给开源世界带来了什么?
    SQL Server Cast、Convert数据类型转换
    Json动态添加属性
    模式的秘密-观察者模式(四)
    模式的秘密-观察者模式(三)
    模式的秘密-观察者模式(二)
    模式的秘密-观察者模式(一)
  • 原文地址:https://www.cnblogs.com/mush/p/13850553.html
Copyright © 2011-2022 走看看