自动化测试基础详解

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

手动测试与自动化测试 (Manual Testing vs Automation Testing)

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

什么是自动化测试? (What is Automation Testing?)

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

什么是功能自动化测试? (What is Functional Automation Testing?)

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

自动化测试的优势 (Advantages of Automation Testing)
  1. 自动化极大地增加了测试范围
  2. 自动化优化测试速度
  3. 自动化提高了测试质量
  4. 自动化降低了测试成本
  5. 自动化减少了测试执行时间
  6. 自动化不需要人工干预。 我们可以安排测试在无需人工干预的情况下进行过夜。
  7. 自动化脚本可以随时随地运行。
  8. 脚本在其他应用程序上的可重用性。
  9. 易于测试压力,性能和负载
  10. 节省了人工。
自动化测试的缺点 (Disadvantages of Automation Testing)
  1. 调试测试脚本是一个主要问题。 如果测试脚本中存在任何错误,可能会导致后果
  2. 熟练编写自动化测试脚本
  3. 测试维护成本高昂
  4. 测试数据的维护很困难。
哪些测试用例可以自动化? (Which Test Cases can be Automated?)

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

  1. 重复使用的测试
  2. 高风险测试案例
  3. 容易引起人为错误的测试
  4. 无法手动执行的测试用例
  5. 需要大量时间进行手动测试的测试
  6. 耗时的测试方案
  7. 回归测试套件
  8. GUI项目
  9. 数据库连接。
哪些测试用例不应该自动化? (Which Test Cases should Not be Automated?)
  1. 需要经常更改的测试用例
  2. 与UI相关的测试用例
  3. 探索性测试
何时自动化? (When to Automate?)
  1. 当项目很大且至关重要时
  2. 一旦应用稳定
  3. 有足够的时间进行测试时
  4. 需要频繁进行回归测试时
  5. 当手工工作很高时。
什么时候不自动化? (When not to Automate?)
  1. 如果甚至没有手动测试过一次应用程序
  2. 当需求经常变化时
  3. 当没有太多回归
  4. 没有时间和资源的限制。

注意 :自动化测试是额外的支持,可以加快测试活动,但不能替代手动测试,因为所有内容都无法实现自动化。

如何决定要自动化什么而不要自动化 (How to decide what to Automate and what not to Automate)

在这里插入图片描述在这里插入图片描述

自动化测试工具 (Automation Testing Tools)
  1. Selenium
  2. QTP(UFT)
  3. RFT
  4. Test Partner
  5. Silk Test

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

自动化测试流程 (Automation Testing Process)

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

  1. 自动化测试计划
  2. 测试环境设置
  3. 分析测试用例
  4. 开发测试脚本
  5. 增强测试脚本
  6. 脚本调试
  7. 脚本执行
  8. 分析测试结果
  9. 缺陷报告
    在这里插入图片描述
自动化测试工具选择标准 (Automation Testing Tool Selection Criteria)

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

  1. 费用(许可证价格)
  2. 特征
  3. 技术支持
  4. 性能
  5. 保养
规划,设计与开发 (Planning, Design and Development)

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

  1. 自动化工具选择
  2. 自动化框架设计及其功能
  3. 范围内功能需要进行自动化测试
  4. 自动化测试之外的功能
  5. 自动化测试台准备
  6. 脚本生成和执行的时间表和时间表
  7. 测试自动化的交付物
测试执行 (Test Execution)

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

保养 (Maintenance)

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

自动化框架 (Framework for Automation)

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

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

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

  1. 关键字驱动框架
  2. 数据驱动框架
  3. 模块化框架
  4. 混合框架
可以自动化的测试类型 (Types of testing that can be automated)
  1. 单元测试
  2. 整合测试
  3. 功能测试
  4. 烟雾测试
  5. 回归测试
结论 (Conclusion)

如果需要一次测试,那么我们应该进行手动测试。 如果经常需要测试,那么我们应该进行自动化测试。 正确的自动化工具选择,测试过程以及测试团队的正确选择是自动化测试成功的关键因素。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值