《自动化测试修炼宝典》-第一章节-测试自动化的简介和目标

本文介绍了测试自动化的概念、目的及其实现过程中的优缺点。详细探讨了自动化测试的目标,包括提高效率、降低成本、增加功能覆盖等,并分析了其局限性。同时,文中还列举了成功的测试自动化项目所依赖的关键因素。

《自动化测试修炼宝典》-第一章节-测试自动化简介和目标

 

关键词

API测试,CLI测试,GUI测试,被测系统,测试自动化架构,测试自动化框架,测试自动化策略,测试自动化,测试脚本

 

引言和学习目标

1.1测试自动化的目的

解释测试自动化的目标,优点,缺点和局限性

1.2测试自动化中的成功因素

确定测试自动化项目的技术成功因素

 

1.1测试自动化的目的

在软件测试中,测试自动化(包括自动测试执行)是以下一个或多个任务:

•使用工具准备测试数据和环境等

•执行测试,主要功能

•将实际结果与预测结果进行比较

 

将测试用的软件与被测系统(SUT)本身分离开来,以最大限度地减少干扰。

也有例外,例如需要将测试软件部署到SUT的嵌入式系统。

 

测试自动化有助于在不同版本的SUT和/或环境下一致地重复运行许多测试用例。

但测试自动化不仅仅是运行测试套件而无需人工交互的一种机制。

它涉及设计测试软件的过程,包括:

•软件

•文档

•测试用例

•测试环境

•测试数据

 

测试软件对于测试活动是必要的,包括:

•实施自动化测试用例

•监控和控制自动测试的执行

•自动测试结果的记录,报告

 

测试自动化与SUT进行交互有不同的方法:

•通过公共接口测试SUT的类,模块或库(API测试)

•通过SUT的用户界面进行测试(例如,GUI测试或CLI测试)

•通过服务或协议进行测试

 

测试自动化的目标包括:

•提高测试效率

•提供更广泛的功能覆盖

•降低总测试成本

•执行测试手动测试不能做的事情

•缩短测试执行周期

•增加测试频率/减少测试周期所需的时间

 

测试自动化的优点包括:

•每个构建运行更多的测试扫描

•创建无法手动完成的测试(实时,远程,并行测试)的可能性

•测试可能更复杂

•测试运行速度更快

•测试较少受操作员的错误影响

•更有效和高效地使用测试资源

•有关软件质量的更快反馈

•提高系统可靠性(例如重复性,一致性)

•提高了测试的一致性

 

测试自动化的缺点包括:

•涉及附加费用

•初始投资设置TAS

•需要额外的技术

•团队需要具备开发和自动化技能

•持续TAS维护要求

•可能会分散测试目标,例如,以执行测试为代价的自动化测试案例

•测试可能变得更加复杂

•自动化可能会引入其他错误

 

测试自动化的局限性包括:

•并非所有手动测试都可以自动进行

•自动化只能检查机器可识别的结果

•自动化只能检查可以通过自动测试验证的实际结果

•不能替代探索性测试

 

1.2测试自动化中的成功因素

 

测试自动化的主要成功因素包括:

 

良好的架构

测试自动化架构与软件产品的架构非常接近,应该得到同样的重视。

应该明确架构应该支持哪些功能,特别是一些非业务功能需求。

像软件项目一样,在自动测试过程中并不是所有的需求都可以实现。

应该事先明确确定最重要的内容,并对其架构进行界定。

测试自动化架构(TAA)应设计用于可维护性,高效,可持续发展。

 

•被测试系统的可测试性

在GUI测试的情况下,系统界面元素和业务逻辑尽可能相对独立,且尽可能使用统一标准界面控件。

在API测试的情况下,这可能意味着更多的类,模块或命令行界面需要公开暴露,以便它们可以被测试。

 

•被测试系统的元素定位难度

通常,测试自动化成功的关键因素在于易于实现自动测试脚本的难度。

自动化测试工程师需要识别SUT的模块或组件,哪里好实现,就从哪里入手。

 

•良好的测试策略:

•可维护性和改进:

•一致性:从界面GUI和接口API,进行统一业务逻辑的测试,并检查结果的一致性。

 

创建易于使用

记录良好且可维护的测试自动化框架(TAF)。为了实现这一点,必须做以下事情。

报告应提供关于SUT质量的信息(通过/失败/错误/不运行/中止等)。 


启用易于故障排除

除了测试执行和日志记录之外,TAF还提供了一种简单的方法来排除故障测试。

测试可能会失败:

在SUT中发现失败;

TAS中发现的故障;

测试本身或测试环境的问题。

 

•测试环境管理

测试工具取决于测试环境的一致性。在自动测试中需要专门的测试环境。

如果没有测试环境和测试数据的控制,则测试的设置可能不符合测试执行的要求,并且可能会产生错误的执行结果。

 

•较小的自动化维护成本

理想情况下,应易于维护自动化测试用例,以便维护不会消耗大部分测试自动化工作。

此外,维护工作需要与SUT的更改规模成正比。为此,案例必须易于分析,可更改和扩展。

此外,自动化测试软件重用应该很高,以最小化需要更改的项目数量。

 

•保持自动化测试的最新状态

当新的或变更的需求,导致测试或整个测试用例失败时,不要禁用失败的测试,而是应该修复它们。

 

•计划部署

确保可以轻松部署,更改和重新部署测试脚本。

 

•删除不必要的代码

确保自动测试脚本如果不再有用,则剔除他们。

 

•异常恢复

实际上,为了连续运行测试用例或一组测试用例,必须连续监视SUT。

如果遇到致命错误(如崩溃),必须具有恢复能力,跳过当前情况,并在下一个情况下恢复测试。

 

自动化测试的道路是非常艰难的,能持续维护自动化测试,保持脚本的可正常运行是非常了不起的事情。

 

 致远

2017.7.5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值