自动化框架到底是什么?

in TEST with 3 comment

什么是框架?

让我们从一个例子出发,而不是直接提供一个框架的粗俗定义。你应该参加过研讨会/讲座/会议,参与者会被要求遵守一些指导原则:

你认为可以在不遵守这些准则的情况下参加 研讨会吗?
答案是肯定的!当然,你可以在没有上述指导的情况下进行研讨会/讲座/会议/演示,我们中的某些人也不会遵循。但是,如果遵循这些指导方针,将会产生有益的结果,例如减少演讲过程中的听众分心,增加参与者对主题的保留和理解。
基于上述内容,可以将框架定义为一组准则,遵循这些准则可以产生有益的结果。

什么是测试自动化框架?

我们知道,软件测试分为手工测试和自动化测试,一般只有自动化测试才有框架的概念。我们要进行自动化测试,就会用到很多工具,怎么去管理好这些代码,工具和数据呢?用框架把它们放在一起就是一种很好的方式。

测试自动化框架是为自动化测试脚本提供执行环境而搭建的支架,它是一套准则,例如编码标准,测试数据处理,对象库处理等,在自动化脚本编写过程中遵循这些准则可产生有益的结果,例如增加代码重用,更高的可移植性,降低的脚本维护成本等。准则而非规则;它们不是强制性的,你仍然可以在不遵循准则的情况下编写脚本。但是你会错过拥有框架的优势。

使用测试框架的好处主要有:

  1. 提高测试效率
  2. 降低维护成本
  3. 最少的人工干预
  4. 最大测试范围
  5. 代码的可重用性

公司的需求是什么?

我们学习自动化测试的最终目标都是为了提升公司产品的价值。那么,让我们再深入一些,从公司的角度思考为什么需要自动化测试框架。

企业通常面临着平衡成本和管理资源的难题,选择能够覆盖其所有业务场景以交付高质量应用程序的自动化框架。显然,通过选择和实施最佳的测试自动化框架,企业可以显着提高测试执行速度和测试过程的准确性,以提供更高的投资回报率(ROI)和高质量的产品。因此,我们应该选择有效的自动化框架类型,以确保对其应用程序进行有效的测试。

常见的自动化测试框架

我接下来会站在实践角度,来说说常见的自动化测试框架。现在用的最多的就是,Web UI 自动化和接口自动化两块,下面是我整理的内容:

  1. 接口自动化框架:

    • java+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL
    • python+unittest/pytest+Git+Jenkins+MySQL
    • python+rebotframework+unittest/pytest+Git+Jenkins+MySQL
    • jmeter+Maven/Ant+Jenkins+MySQL
  2. UI自动化测试框架

    • java+selenium/appium+testNG/Junit+Maven
    • python+selenium/appium+unittest/pytest+Git+Jenkins+MySQL
    • python+robot framework+unittest/pytest+Git+Jenkins+MySQL

需要大家注意的是,常见的 Robot Framework,Selenium 也可以单独称为框架,也可以称为工具。这些都是概念和术语,大家不必特别纠结。

通过上面的一些常见框架,你发现了什么?

它们都拥有共同特性:编程语言+单元测试框架+扫描编译工具+持续集成工具+数据库+项目管理工具,可以根据需求进行相应调整。之后我也会展开介绍,比如常见框架的实践、单元测试框架是什么、测试工具有哪些等等,现在简单了解一下就好。

最后

不过,我们要知道,自动化测试框架只是辅助工具,自动化测试的核心在自动化测试用例,如何设计和实现高效和有效的自动用例才是自动化成功的关键,当然,这需要你对业务和需求有非常好的理解。我们下次见!