什么样的项目适合UI自动化测试

简介: 我们在考虑做自动化测试之前,一定要先分析一下,这个项目到底适不适合做自动化测试,避免在不太适合自动化测试的项目中痛苦挣扎,既浪费了大量的人力和时间,又收效甚微。

我们在考虑做自动化测试之前,一定要先分析一下,这个项目到底适不适合做自动化测试,避免在不太适合自动化测试的项目中痛苦挣扎,既浪费了大量的人力和时间,又收效甚微。下面简单列举一下评估一下项目是否适合做自动化的一些考虑因素:


  • 需求变动不频繁
    自动化测试脚本变化的大小与频率决定了自动化测试的维护成本。如果软件需求变动过于频繁,那么测试人员就需要不断地更新自动化测试用例,从而适应新的功能,提升脚本的稳定性。而脚本的维护本身就是一个开发代码的过程,需要不断的扩展、修改、调试,有时还需要对架构做出调整。如果所花费的维护成本高于利用其节省的测试成本,那么自动化测试就失去了他的价值与意义。
    一种折中的做法就是先对系统中相对稳定的模块与功能进行自动化测试,变动较大的地方进行手工测试。
  • 项目周期较长
    由于自动化测试需求的确定、自动化框架的设计、脚本的开发与调试都需要一定的时间,而这个过程本身就是一个软件的开发过程,如果项目周期比较紧张,没有足够的时间去支持这样一个过程的话,就不要进行自动化测试。
  • 自动化脚本可以重复使用
    自动化测试脚本的重复使用要从三个方面来考虑:
    1.所测试的项目之间是否存在有很大的差异性(如C/S系统架构与B/S系统架构的差异)
    2.所选择的测试技术和工具是否适应这种差异
    3.测试人员是否有能力设计开发出适应这种差异的自动化测试框架

目前常见的自动化测试工具非常多 ,比如 UFT (以前的名称是QTP)、Robotframework、Airtest、Cypress等,涉及到APP的自动化的话,一般用Appium的多一些,这里建议有编程基础的朋友,自己选择框架进行二次开发,可能使用的会习惯点,开源框架可能功能强大,但是工具学习也需要成本,有时候也会有局限性,而且自动化底层原理都差不多,自己封装的话,便于扩展,可以自己将框架中比较好的功能单独剥离出来。


那么,如果是自学的自动化,没有项目实战经验的时候,怎么衡量自己是否能独立承担UI自动化测试的工作呢?可以从以下几点去思考:

  • 如何去设计测试场景
  • 如何提高元素操作的成功率
  • 如何提升脚本的稳定性
  • 如何提升脚本的执行效率
  • 脚本可扩展性、代码可复用性
  • 如何去管理你的测试用例、执行测试用例
  • 如何生成测试报告
  • 脚本执行报错后能否快速定位到问题
  • 一些复杂的元素定位不到或者通过传统的元素定位无法进行操作时该如何处理(比如canvas、)


如何设计高质量自动化脚本

  • 实现业务逻辑、脚本、数据分离。
  • 使用PO设计模式,将一个页面用到的元素和操作步骤封装在一个页面类中。如果一个元素定位发生了改变,我们只用修改这个页面的元素属性
  • 对于页面类的方法,我们尽量从客户的正向逻辑去分析,方法中是一个独立场景,例如:登录到退出,而且不要想着把所有的步骤都封装在一个方法中。
  • 测试用例设计中,减少测试用例之间的耦合度。
相关文章
|
8天前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
20小时前
|
人工智能 自然语言处理 API
UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型
UI-TARS 是字节跳动推出的新一代原生图形用户界面(GUI)代理模型,支持跨平台自动化交互,具备强大的感知、推理、行动和记忆能力,能够通过自然语言指令完成复杂任务。
41 16
UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型
|
29天前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
271 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
2月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
151 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
51 6
|
2月前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
40 1
|
2月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
45 4
|
2月前
|
网络协议 关系型数据库 应用服务中间件
【项目场景】请求数据时测试环境比生产环境多花了1秒是怎么回事?
这是一位粉丝(谢同学)给V哥的留言,描述了他在优化系统查询时遇到的问题:测试环境优化达标,但生产环境响应时间多出1秒。通过抓包分析,发现MySQL请求和响应之间存在500毫秒的延迟,怀疑是网络传输开销。V哥给出了以下优化建议:
|
3月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
378 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目

热门文章

最新文章