自动化测试中的前后台交互

简介:

由于最近一直比较忙,就没有更新博客。时间长了,一些领悟不记录下来就有些遗忘。闲话少说,今天来更新一篇关于自动化测试中的前后台交互方面的个人心得。

  在自动化测试中,不论采用什么测试框架,基本的思路都是前台由测试人员填写测试用例,然后生成测试脚本,然后使用测试工具去run这些脚本。而后台呢,往往是由测试开发人员根据被测对象的需要自己编写程序。至于测试方法,可以将前后台分离进行测试,比如说,对后台进行测试,然后判断后台是否满足测试需求。如果前台测试的目标不需要调用数据,直接run脚本就OK了,如果前台需要后台数据,可以在后台准备好数据,可以将数据放在log日志中,前台直接调用log日志,不需要在后台执行后台程序。这样就保证了前后台测试的分离,便于测试维护,例如前台如果经常变动的时候,只需要根据前台变动将相应的后台数据准备在前台要调用的数据池中。而由于后台程序一般的变动会相应的较少,这样不需要每次更改前台界面都要把后台测试程序进行修改。这种方法也是上次谷歌中国的测试总监推荐的方法。

  目前的实践还没有做到完全的前后台测试分离,只是在一步步的尝试,希望距离前后台分离的目的越来越近。对于前后台的交互,目前我的做法是。前台web界面测试由测试人员根据测试对象填写由我们测试开发提供的测试用例模板,然后生成自动化测试脚本。前台界面的一些判断可以直接得到,例如界面的一些改动,界面元素的缺失等。而对于后台的一些验证,目前并没有在后台单独的进行测试。而是由前台的脚本通过调用cgi,将测试预期传给后台,后台cgi函数处理预期值,然后跟实际值进行比对,然后将比对的结果再传给前台由前台处理。举个例子,比如说我的被测对象是一个具有web界面,功能是对交换机进行端口切换的系统。这里,如果我对端口切换这个功能要进行自动化测试设计。那么我的测试工具前台就应该具有驱动界面操作的测试环境,测试后台是一些cgi程序,当前台执行的脚本将端口切换的预期值通过cgi传递给后台时,后台测试程序首先会telnet交换机,获得交换机的当前端口信息,然后与前台传递的预期值进行判断,将判断结果返回给前台日志。

  由此可见,与前后台完全分离的测试方法相比,目前我们的做法优点是不需要独立的后台测试,而是从系统测试的角度来判断系统功能。如果要做前后台测试分离,那么前台测试就只对显示的正确与否进行测试,可以在后台数据池准备相应的数据,让前台去访问这些数据然后输出界面,观察输出的数据是否是数据池中的。而后台就对功能进行验证,将功能的结果放于数据池中。这方面目前还没有做尝试,有兴趣的话可以试试。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
25天前
|
人工智能 自然语言处理 API
UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型
UI-TARS 是字节跳动推出的新一代原生图形用户界面(GUI)代理模型,支持跨平台自动化交互,具备强大的感知、推理、行动和记忆能力,能够通过自然语言指令完成复杂任务。
362 16
UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型
|
1月前
|
人工智能 编解码 自然语言处理
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
AGUVIS 是香港大学与 Salesforce 联合推出的纯视觉 GUI 自动化框架,能够在多种平台上实现自主 GUI 交互,结合显式规划和推理,提升复杂数字环境中的导航和交互能力。
113 8
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
CogAgent-9B 是智谱AI基于 GLM-4V-9B 训练的专用Agent任务模型,支持高分辨率图像处理和双语交互,能够预测并执行GUI操作,广泛应用于自动化任务。
125 12
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
|
2月前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
546 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
4月前
|
API 数据安全/隐私保护 开发者
使用MechanicalSoup进行网页自动化交互
使用MechanicalSoup进行网页自动化交互
62 2
|
6月前
|
Web App开发 敏捷开发 测试技术
自动化测试框架的设计与实现探索操作系统的心脏:内核与用户空间的交互
【8月更文挑战第26天】本文旨在探讨自动化测试框架的设计原则、核心组件和实现方法。通过分析自动化测试的优势,我们深入讨论了框架设计的关键考虑因素,包括模块化、可重用性、可扩展性和易维护性。文章还介绍了如何利用流行的测试工具和编程语言来实现一个高效的自动化测试框架,并通过实例展示了框架的应用。
|
8月前
|
Ubuntu 关系型数据库 MySQL
expect自动交互脚本:简化你的自动化任务
`expect` 是Linux自动化神器,用于模拟键盘输入与交互式应用自动交互,常用于自动登录服务器、执行命令。安装 `expect`(CentOS: `yum -y install tcl expect`, Ubuntu: `apt-get -y install expect`) 后,编写脚本如SSH登录示例,自动发送密码和命令。通过结合shell命令,`expect` 可实现复杂任务,如获取IP、登录MySQL。支持多服务器管理,根据用户输入选择登录。学习 `expect` 提升自动化效率!
512 0
|
9月前
|
安全 物联网 测试技术
构建未来:Android与IoT设备的无缝交互深入探索软件自动化测试的未来趋势
【5月更文挑战第30天】在物联网(IoT)技术快速发展的当下,Android系统因其开放性和广泛的用户基础成为了连接智能设备的首选平台。本文将探讨如何通过现代Android开发技术实现智能手机与IoT设备的高效、稳定连接,并分析其中的挑战和解决方案。我们将深入挖掘Android系统的底层通信机制,提出创新的交互模式,并通过实例演示如何在Android应用中集成IoT控制功能,旨在为开发者提供一套可行的指导方案,促进IoT生态系统的进一步发展。
|
9月前
|
JavaScript 前端开发 测试技术
MechanicalSoup,一个非常实用的 Python 自动化浏览器交互工具库!
MechanicalSoup,一个非常实用的 Python 自动化浏览器交互工具库!
102 9
|
9月前
|
测试技术 API Python
Appium控件交互策略:优化自动化测试效率的关键方法
该文介绍了如何使用Selenium与APP进行交互,包括点击、输入和状态判断等操作。例如,通过element.click()点击控件,element.send_keys()输入文本,以及element.is_displayed()检查元素是否可见。还展示了如何获取元素属性,如resource-id、text和class,并提供了Python代码示例来定位并操作APP元素,如滑动条的显示、可点击性检测及点击滑动条中心位置。在编写测试脚本时,应注意元素定位和状态验证以确保测试稳定性。

热门文章

最新文章