AutoRunner 功能自动化测试项目实训之自动化测试原理(一)

2024-01-10 22:18

本文主要是介绍AutoRunner 功能自动化测试项目实训之自动化测试原理(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

随着自动化测试的飞速发展,在日常的学习生活中我们经常会听到自动化测试相关的话题,今天起我们就开始来了解除了 QTP以外的自动化测试工具AutoRunner,我在这个系列文章里会以实际案例的形式给大家介绍工具的操作和实际的测试过程希望对大家有所帮助。

一、自动化测试是什么?

自动化测试模拟人手工对计算机和计算机上软件的操作过程和操作行为,采用类似于编译系统对程序代码进行检查。自动化测试的原理:直接对代码进行静态和动态分析、测试过程的捕获和回放、测试脚本技术和虚拟用户技术。所以自动化测试是一个广义的名词,我们在接下来的文章里给大家分享的是功能自动化测.

二、功能自动化测试原理

1.录制回放

录制回放是黑盒测试的自动化方法,通过捕获用户每一步操作,如用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相应操作、状态变化或属性变化,用一种脚本语言记录描述,模拟用户操作。回放时,将脚本语言转换为屏幕操作,比较被测系统的输出记录与预先给定的标准结果。目前的自动化负载测试解决方案几乎都是采用“录制回放”的技术。所谓“录制回放”技术,就是先由手工完成一遍测试流程,由自动化测试工具AutoRunner记录下这个流程期间客户端和服务器端之间的通信信息,这些信息通常是一些步骤和数据,并形成特定的脚本程序,并运行该脚本,检测系统的功能是否正常。

2.脚本技术

(1)脚本介绍
脚本是一组测试工具执行的指令集合,也是计算机程序的另一种表现形式。脚本语言至少具有如下功能:
1)支持多种常用的变量和数据类型
2)支持各种条件逻辑、循环结构。
3)支持函数的创建和调用
脚本有两种,一种是手动编写或嵌入源代码;另一种是通过测试工具提供的录制功能,运行程序自动录制生成脚本。由于录制生成脚本简单且智能化,容易操作,但仅靠自动录制脚本,无法满足用户的复杂要求,需要手工添加函数进行参数设置,增强脚本的实用性。
手工编写脚本具有如下优点:
1)可读性好,流程清晰,检查点截取含义明确。
业务级的代码比协议级代码容易理解,也更容易维护,而录制生成的代码大多没有维护的价值
2)手写脚本比录制脚本更真实地模拟应用。
录制脚本截获了网络包,生成协议级的代码,却往往忽略客户端的处理逻辑,不能真实模拟应用程序的运行。
3)手写脚本比录制脚本更能提高测试人员的技术水平
测试工具提供如Java、VB、C等高级程序设计语言的脚本,允许用户根据不同测试要求定义开发各种语言类型的测试脚本。
总之,使用哪种方式生成脚本,应以脚本模拟程序的真实有效为准。例如,有些程序只需要执行迭代多次操作,没有特殊要求,选择自动生成的脚本就可以。但有些程序需要参数设置,则应使用手工脚本
(2)脚本分类
脚本技术分为以下几种类型
1)线性脚本。录制手工执行的测试用例得到的线性脚本,包含用户键盘和鼠标输入,检查某个窗口是否弹出等操作线性脚本具有如下优点:不需要深入的工作或计划,对实际执行操作可以审计跟踪。线性脚本适用于演示、培训或执行较少且环境变化小的测试、数据转换的操作功能。但是,线性脚本具有以下缺点:过程较烦琐,过多依赖于每次捕获内容,测试输入和比较是“捆绑在脚本中,不能共享或重用脚本,容易受软件变化的影响。另外,线性脚本修改代价大,维护成本高,容易受意外事件影响,导致整个测试失败。
2)结构化脚本。结构化脚本类似于结构化程序设计,包含控制脚本执行指令,具有顺序、
循环和分支等结构。结构化脚本的优点是健壮性好,通过循环和调用减少工作量:但结构化脚本较复杂,而且测试数据仍然与脚本“捆绑”在一起。
3)共享脚本。共享脚本侧重描述脚本中共享的特性,脚本可以被多个测试用例使用一个脚本可以被另一个脚本调用。当重复任务发生变化时,只需修改一个脚本,便可达到脚本共享的目的
共享脚本具有如下优点:
以较少的开销实现类似的测试,维护共享脚本的开销低于线性脚本。但是,共享脚本需要跟踪更多的脚本,给配置管理带来一定困难,并且对于每个测试用例仍然需要特定的测试脚本。
4)数据驱动脚本。数据驱动脚本将测试输入到独立的数据文件(数据库)中,而不是绑定在脚本中。执行时是从数据文件中读数据,使得同一个脚本执行不同的测试,只需对数据进行修改,不必修改执行脚本。通过一个测试脚本指定不同的测试数据文件,实现较多的测试用例,将数据文件单独列出,选择合适的数据格式和形式,达到简化数据、减少出错的目的数据驱动脚本具有如下优点:快速增加类似的测试用例,新增加的测试也不必掌握工具脚本技术,对以后类似的测试无需额外的维护,有利于测试脚本和输入数据分离,减少编程和维护的工作量,有利于测试用例扩充和完善。但是,数据驱动脚本初始建立开销较大、需要专业人员支持。
5)关键字驱动脚本。关键字驱动作为比较复杂的数据驱动技术的逻辑扩展,是将数据文件变成测试用例的描述,用一系列关键字指定要执行的任务。关键字驱动技术假设测试者具有被测系统知识和技术,不必告之如何进行详细动作,以及测试用例如何执行,只说明测试用例即可。关键字驱动脚本多使用说明性方法和描述性方法。
6)虚拟用户技术。虚拟用户技术通过模拟真实用户行为对被测程序施加负载,测量被测程序的性能指标值,如事务的响应时间、服务器吞吐量等。虚拟用户技术以真实用户的“商务处理”(用户为完成一个商业业务而执行的一系列操作)作为负载的基本组成单位,用“虚拟用户”(模拟用户行为的测试脚本)模拟真实用户负载需求(例如并发虚拟用户数、处理的执行频率等)通过人工收集和分析系统使用信息来获得,负载测试工具模拟成千上万个虚拟用户同时访问被测程序,来自不同IP地址、不同测览器类型以及不同网络连接方式的请求,并实时监视系统性能,帮助测试人员分析测试结果。虚拟用户技术具有成熟测试工具支持,但确定负载的信息要依靠人工收集,准确性不高。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了自动化测试的原理,包括录制回放功能和脚本技术的介绍。

这篇关于AutoRunner 功能自动化测试项目实训之自动化测试原理(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/592248

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模