对自动化测试的一些见解

2023-11-19

1、手工测试和自动化测试用例

  手工测试用例是针对功能测试人员的,而自动化测试用例是针对自动化测试用例框架或工具的。

1)手工测试用例特点

  较好的异常处理能力,能通过人为的逻辑判断校验当前步骤是否正确实现;

  人工执行用例具有一定步骤跳跃性;

  人工测试步步跟踪,能够细致定位问题;

  主要用来发现功能缺陷;

2)自动化测试用例特点

  执行对象是脚本,任何一个盘算都需要编码定义;

  用例步骤之间关联性强;

  主要用来保证产品主体功能正确和完整,让测试人员从繁琐重复的工作中解脱出来;

  目前自动化测试阶段定位在冒烟测试和回归测试。

  (注意:通过对比发现,自动化测试不能完全替代手工测试,自动化测试的目的仅仅在于让测试人员从繁琐重复的测试流程中解脱出来,把更多的时间和精力放在更有价值的测试中,例如探索性测试。)

3)自动化测试用例注意事项

①不是所有手工测试用例都要转为自动化测试用例;

②考虑到脚本开发成本,不要选择流程太复杂的用例,如果有必要,可以考虑把流程拆分成多个用例来实现脚本;

③选择的用例最好可以构建场景。例如,一个功能模块,分成多个用例,多个用例使用同一个场景,这样的好处在于方便构建关键字测试模型;

④选择用例可以带有目的性。例如,这部分用例作冒烟测试等,当然,会存在重叠关系,如果当前用例不满足需求,那么唯有修改用例来适应脚本和需求;

⑤选取的用例可以是主体流程,这部分用于冒烟测试(如果不了解专业术语,下来要花费功夫哦);

⑥选取的测试用例可以是你认为重复执行,很猥琐的部分。例如字段验证、提示信息验证之类,这部分适用于回归测试;

⑦自动化测试也可以用来做配置检查、数据库检查。这些可能超过了手工用例,但也算用例拓展的一部分,项目负责人可以有选择的增加;

⑧平时在手工测试时,如果需要构造一些复杂的数据或重复一些简单的机械式动作,则告诉脚本,让它来帮你,或许你的效率会因此提高。

  2、自动化测试类型

1)测试静态内容

  静态内容测试是最简单的测试,用于验证静态的、不变的ui元素的存在性,例如:

①每个页面都有预期的页面标题,这可以用来验证链接指向一个预期页面;

②应用程序的主页包含一个应该在页面顶部的图片;

③网站的每个页面是否包含一个页脚区域来显示公司的联系方式、隐私政策以及商标信息等;

④每一页的标题文本都使用<h1>标签吗?每个页面是否都有正确的头部文本;

  你可能需要(也可能不需要)对页面内容进行自动化测试。如果你的网页是不易受到影响的,则手工对内容进行测试就足够了。假设你的应用文件的位置移动了,则内容测试就非常有价值。

2)测试链接

  web站点的一个常见错误为失效的链接或链接指向无效页。链接测试涉及各个链接和验证预期的页面是否存在。如果静态链接不经常更改,则手动测试就足够了。但是,如果你的网页设计师经常修改链接或者文件不时被重定向,则链接测试应该实现自动化。

3)功能测试

  在你的应用程序中,需要测试应用的特定功能,需要一些类型的用户输入,并返回某种类型的结果,通常一个功能测试涉及多个页面,一个基于表单的输入页面,其中包含若干输入字段,提交和取消操作,以及一个或多个响应页面。用户输入可以通过文本输入域、复选框、下拉列表,或任何其他浏览器所支持输入。

  功能测试通常是需要自动化测试的最复杂的测试类型,但通常也是最重要的。典型的测试是登陆,**网站账户用户账户操作、账户设置变化、复杂的数据检索操作等等。功能测试通常对应着你的应用程序的描述应用特性或设计的使用场景。

4)测试动态元素

  通常网页元素都有唯一的标识符,用于唯一的定位该网页的元素。通常情况下,唯一标识符用html标记的id属性或name属性来实现。

5)Ajax的测试

Ajax是一种支持以及动态改变用户界面元素的技术。页面元素可以动态更改,但不需要浏览器重新载入页面,如动画,RSS源、其他实时数据更新等。

Ajax有无数更新网页上元素的放大,最简单的方式是在Ajax驱动的应用程序中,数据可以从应用服务器检索,然后显示在页面上,而不需要重新加载整个页面,只有一小部分的页面,或者只有元素本身重新被加载。

  3、自动化测试用例编写原则

  最后,跟大家分享一下自动化测试用例编写原则:

①一个用例为一个完整的场景,从用户登录系统到 最终退出并关闭浏览器

②一个用例只验证一个功能点,不要试图在用户登录系统后把所有功能都验证一遍;

③尽可能少的编写逆向逻辑用例。一方面因为逆向逻辑的用力很多(例如,手机号输错有几十种情况),另一个方面自动化脚本本身比较脆弱,复杂的逆向逻辑用例实现起来比较麻烦且容易出错。

④用例与用例之间尽量避免产生依赖。

⑤一条用例完成测试之后需要对测试场景进行还原,以免影响其他用例的执行。

【整整200集】超超超详细的Python接口自动化测试进阶教程合集,真实模拟企业项目实战

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对自动化测试的一些见解 的相关文章

  • 软件测试|Python openpyxl库使用指南

    简介 我们之前介绍过 python在自动化办公方面可以大放异彩 因为Python有许多的第三方库 其中有很多库就支持我们对office软件进行操作 熟练的使用Python对office进行操作 可以实现自动化办公 极大提升我们的工作效率 本
  • 软件测试/测试开发/全日制/测试管理丨Redis内存数据库

    Redis是一种开源 内存中的数据结构存储系统 它提供了高性能 灵活性和丰富的数据结构 以下是Redis内存数据库的基本介绍 键值存储 Redis基于键值对的存储模型 其中每个键都与一个特定的值相关联 这种简单的数据模型使其易于使用和理解
  • 软件测试/测试开发/全日制/测试管理丨Python深拷贝与浅拷贝

    深拷贝和浅拷贝是两种不同的拷贝方式 它们在处理可变对象 如列表 字典 时有着不同的行为 以下是深拷贝和浅拷贝的主要区别 1 浅拷贝 Shallow Copy 创建方式 浅拷贝通过复制原始对象 创建一个新对象 但对于原始对象中的可变对象 如列
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • Linux终端常见用法总结

    熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率 笔者结合自身学习实践 总结以下终端用法供同行交流学习 常 见 用 法 1 快捷键 1 1 Alt 在光标位置插入上一次执行命令的最后一个参数 1 2 Ctrl R
  • RF自动化环境安装+自动化实例解析

    RF定义 通用型的 自动测试框架 绝大部分的软件的的自动化系统都可以采用它 特点 测试数据文件 Test Data 对应一个个的测试用例 测试数据文件里面使用的功能小模块叫关键字 由测试库 Test Library Robot Framew
  • 基于Loadrunner的性能分析及调优经验分享

    公司某个系统的微信端计划将开放给几百上千的人员登录查询 并且登录账号为同一账号多人使用 后台服务能够支撑起多用户的并发操作以及成百上千人登录微信端对生产数据库或者登录查询的性能效率高成为交付可靠生产环境的必要条件 因此 项目组决定提交测试
  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|使用matplotlib绘制平行坐标系图

    简介 绘制平行坐标系图 Parallel Coordinates Plot 是一种用于可视化多维数据的强大方法 在这篇文章中 我们将介绍如何使用Matplotlib库创建平行坐标系图 以及如何解释和定制这种图表 我们将使用一个示例数据集来演
  • 盲猜你不懂H5架构和原生架构的区别

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 跨平台UI自动化框架:Airtest,游戏开发和应用测试的利器

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 测开和测试平台是否有存在的必要?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Jmeter 性能-阶梯负载最终请求数

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 开眼了,自动化测试还能这样用?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试中的白盒测试,这些技巧你知道吗?

    对于很多刚开始学习软件测试的小伙伴来说 如果能尽早将黑盒 白盒测试弄明白 掌握两种测试的结论和基本原理 将对自己后期的学习有较好的帮助 今天 我们就来聊聊黑盒 白盒测试的相关话题 1 黑盒测试的方法和小结 最常见黑盒测试方法包括 边界值 等
  • 软件测试/测试开发/全日制/测试管理丨Android WebView 技术原理

    Android WebView是一个内置的组件 允许在Android应用中嵌套显示Web内容 Android WebView的技术原理涉及到使用WebKit引擎来渲染Web内容 并提供一系列API和回调函数 使得开发人员可以控制和定制Web
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错
  • 用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

    自动化关键数据记录 简介 关键数据记录是 Web 自动化测试中的关键部分 它们提供了关于系统行为和执行过程的详细信息 有助于验证用例的正确性 排查问题和确保应用程序的质量 行为日志 行为日志是一种用于记录系统或应用程序的操作和事件的技术 它

随机推荐

  • 蚂蚁笔记私有部署

    说明 其实官方的教程中已经写得很清楚了 我写这个主要是为了记录一下我自己当时安装的过程 方便后续查询 官方文档请查阅 https github com leanote leanote wiki 环境要求 CentOS6 5 Nginx Mo
  • (原理及配置)nginx配置负载均衡

    背景介绍 早期的网站流量和业务功能都比较简单 单台服务器就可以满足基本需求 但是随着互联网的发展 业务流量越来越大并且业务逻辑也越来越复杂 单台服务器的性能及单点故障问题就凸显出来了 因此需要多台服务器组成应用集群 进行性能的水平扩展以及避
  • 一台电脑双 GitHub 账户配置,同时两个 SSH 密钥

    前言 本人搞了两个 GitHub 账号 一个用来正常的和别人合作项目 另一个用来自己写一些代码 希望能做到两个本地账户和远程账号都完全隔离 没有联系 也不会被混淆使用 但是这样就会有一个问题 设置本地用户 user email 时候 如果两
  • 嵌入式物联网协议--MQTT

    本文使用MQTT 3 1 1版本 目录 一 MQTT简介 1 什么是MQTT 2 MQTT本质 3 MQTT报文类型 4 MQTT Qos质量 二 14个报文详解 1 CONNECT报文 1 C gt S 固定报头 可变报头 负载 1 固定
  • 爬朋友圈好友的个性签名,生成云图(上)

    看了大神的http mp weixin qq com s biz MzIxNjA2ODUzNg mid 2651436390 idx 1 sn 0ec8030efc28b36c2924e7f02a4462f2 chksm 8c73adb1b
  • 请求的站点不可用或找不到_100个好用的生活小妙招,不收好,要用时就找不到!...

    阅读本文前 请您先点击上面的蓝色字体 秘密基地 再点击 关注 这样您就可以继续免费收到最新文章了 每天都有好看的图文 视频 秘密基地与你共赏 生活是一门学问 如果你能学着 偷懒 也许会变得更有乐趣 今天 为大家整理了100条实用的生活小妙招
  • 单片机晶振和波特率的关系

    在串行通信中 MCS 51串口可约定四种工作方式 其中 方式0和方式2的波特率是固定的 而方式1和方式3的波特率是可变的 由定时器T1的溢出率决定 波特率是指串行端口每秒内可以传输的波特位数 这里所指的波特率 如标准9600不是每秒种可以传
  • 苹果iPhone一键解锁破解流程(新机篇)

    网上详细流程已经很多了 建议破解之前都看一下 我这边说的就是要注意的几个地方 这几天我都泡在网上 感觉基本都会了 今天拿到机子 还是弄了3个小时 基本流程 1 拿到新机以后 首先要破解才能进入系统 如果不能进入系统 itunne不能更新到1
  • kafka配置内外网访问

    listeners 学名叫监听器 其实就是告诉外部连接者要通过什么协议访问指定主机名和端口开放的 Kafka 服务 advertised listeners 和 listeners 相比多了个 advertised Advertised 的
  • linux的aux命令,Linux中 ps aux 命令

    ps aux USER PID CPU MEM VSZ RSS TT STAT STARTED TIME COMMAND root 11 100 0 0 0 0 16 RL 4Dec09 98403 03 48 idle cpu root
  • 如何将git项目转移给其他人

    为什么80 的码农都做不了架构师 gt gt gt 方法很简单 成员管理里将要转给项目的人设置为master 权限 然后他再登录系统将你移除项目就实现了项目转移 转载于 https my oschina net zhaky blog 907
  • 【Three.js】第十六章 Shadows 阴影

    16 Shadows 阴影 介绍 上节课我们学会了灯光 现在我们需要阴影 物体的背面应该在黑暗中 这就是阴影所谓的核心 我们缺少的是物体对象的投影 也就是根据被投影的对象在其他对象身上创建阴影 阴影渲染一直是实时 3D 渲染的一大挑战 开发
  • go 学习 之 GORM数据插入,查询,修改,删除

    GORM插入数据 gorm新增记录 定义一个用户 并初始化数据 u User Username tizi365 Password 123456 CreateTime time Now Unix 插入一条用户数据 下面代码会自动生成SQL语句
  • TCP快速重传机制

    一 快速重传机制 上一篇讲到了TCP 的超时重传 但是超时重传往往会带来许多微妙的问题 比如说 当一个报文段丢失时 会等待一定的超时周期然后才重传分组 增加了端到端的时延 当一个报文段丢失时 在其等待超时的过程中 可能会出现这种情况 其后的
  • 清空v4l2 usbcamera缓存

    做过usbcamera的同学们应该都知道 usbcamera有一个缓存队列 当应用上面调用startPreview的时候 就会层层的调到usbcamera 的ioctl mFd VIDIOC DQBUF tmp buf 用于从队列里出去一个
  • Qt C++ map使用const初始化 QMap使用const初始化

    QMap怎么使用const初始化 有的时候 需要通过字符串去访问一些固定的参数 class A 男生11人 女生10人 教室面积150平 class B 男生11人 女生11人 教室面积155平 当然可以使用枚举加数组的方式 但是就是想用m
  • Kafka入门基础知识学习笔记-Kafka只是消息引擎吗

    学习极客时间 Kafka核心技术与实战 入门 03 05 作者 胡夕 Apache Kafka 的一名代码贡献者 目前在社区的 Patch 提交总数位列第 22 位 应该说算是国内比较活跃的贡献者了 胡夕老师 赠言 聪明人也要下死功夫 最近
  • sh: 1: vue-cli-service: Permission denied npm ERR! code ELIFECYCLE npm ERR! errno 126 npm ERR! my-pr

    在linux环境下 用npm run build编译打包前端 报以下错误 sh 1 vue cli service Permission denied npm ERR code ELIFECYCLE npm ERR errno 126 np
  • WEB-7-多线程

    多线程 一 背景 二 认识线程 Thread 1 理解 2 进程和线程的区别 高频面试题 3 使用代码创建多线程 三 线程的相关操作 1 创建线程 1 方法一 继承 Thread 类 2 方法二 实现 Runnable 接口 3 其它方法
  • 对自动化测试的一些见解

    1 手工测试和自动化测试用例 手工测试用例是针对功能测试人员的 而自动化测试用例是针对自动化测试用例框架或工具的 1 手工测试用例特点 较好的异常处理能力 能通过人为的逻辑判断校验当前步骤是否正确实现 人工执行用例具有一定步骤跳跃性 人工测