自动化测试简介

时间:2020-02-23 14:41:13  来源:igfitidea点击:

测试是任何应用程序开发生命周期的重要组成部分。
根据应用程序阶段有不同类型的测试-单元测试,集成测试,系统测试等。
然后有不同类型的测试过程-手动测试和自动化测试。

手动测试与自动化测试

顾名思义,手动测试需要人工运行测试用例,而无需使用任何工具。
而自动化测试是通过使用一些工具和测试脚本来执行的。

什么是自动化测试?

当使用Selenium,QTP,Load Runner等测试工具来编写和执行测试用例时,称为自动化测试。

什么是功能自动化测试?

功能自动化测试是确定项目中需要重复测试的各种功能,然后开发和执行自动化脚本(程序)以验证功能的过程。

自动化测试的优势

  • 自动化极大地增加了测试范围

  • 自动化优化测试速度

  • 自动化提高了测试质量

  • 自动化降低了测试成本

  • 自动化减少了测试执行时间

  • 自动化不需要人工干预。
    我们可以安排测试在夜间进行,而无需人工干预。

  • 自动化脚本可以随时随地运行。

  • 脚本在其他应用程序上的可重用性。

  • 易于测试压力,性能和负载

  • 节省了人工。

自动化测试的缺点

  • 调试测试脚本是一个主要问题。
    如果测试脚本中存在任何错误,可能会导致后果
  • 需要熟练程度来编写自动化测试脚本
  • 测试维护成本高昂
  • 测试数据的维护很困难。

哪些测试用例可以自动化?

如果满足以下条件,则测试用例应自动化。

  • 重复使用的测试
  • 高风险测试用例
  • 容易引起人为错误的测试
  • 无法手动执行的测试用例
  • 需要大量时间进行手动测试的测试
  • 耗时的测试方案
  • 回归测试套件
  • GUI项目
  • 数据库连接。

哪些测试用例不应该自动化?

  • 需要频繁更改的测试用例
  • 与UI相关的测试用例
  • 探索性测试

何时自动化?

  • 当项目很大且至关重要时
  • 一旦应用稳定
  • 有足够的时间进行测试时
  • 需要频繁进行回归测试时
  • 当手工工作很高时。

什么时候不自动化?

  • 如果甚至没有手动测试过一次应用程序
  • 当需求经常变化时
  • 当没有太多回归
  • 没有时间和资源的限制。

注意:自动化测试是另外的支持,可以加快测试活动,但不能替代手动测试,因为无法自动进行所有操作。

如何决定要自动化什么而不要自动化

FeatureProgrammableTesting FrequencyCostAutomation
F1HighHigh
F2LowHigh
F3HighLow
F4LowLow
F5

自动化测试工具

  • QTP(UFT)
  • RFT
  • 测试伙伴
  • 真丝测试

QTP,RFT,Silk测试是许可工具,而Selenium是开放源代码工具。

自动化测试流程

自动化过程中遵循以下步骤:

  • 自动化测试计划
  • 测试环境设置
  • 分析测试用例
  • 开发测试脚本
  • 增强测试脚本
  • 脚本调试
  • 脚本执行
  • 分析测试结果
  • 缺陷报告

自动化测试流程

自动化测试工具选择标准

选择自动化工具在很大程度上取决于应用技术。
但是,在选择自动化工具时要考虑的其他几点是:

  • 费用(许可证价格)
  • 特征
  • 技术支持
  • 性能
  • 保养

规划,设计与开发

在此阶段,Tester会创建自动化测试策略和计划,其中包含以下详细信息:

  • 自动化工具选择
  • 自动化框架设计及其功能
  • 范围内功能需要进行自动化测试
  • 超出范围的功能需要进行自动化测试
  • 自动化测试台准备
  • 脚本生成和执行的时间表和时间表
  • 测试自动化的交付物

测试执行

在此阶段,自动化脚本由测试人员编写。
要执行脚本,我们需要在测试人员运行测试之前输入测试数据。
脚本执行完成后,测试人员将提供详细的测试报告。

保养

由于每次都有连续的周期向被测系统每次添加新功能时,需要为每个测试周期版本添加,检查和维护自动化脚本。
为了提高自动化脚本的有效性,必须进行维护。

自动化框架

框架是一组准则,可以帮助我们

  • 减少代码维护
  • 保持整体测试的一致性
  • 改善测试结构
  • 最低代码使用率

自动化测试中使用的框架类型:

  • 关键字驱动框架
  • 数据驱动框架
  • 模块化框架
  • 混合框架

可以自动化的测试类型

  • 单元测试
  • 整合测试
  • 功能测试
  • 烟雾测试
  • 回归测试