自动化测试用例设计

        知人者智,自知者明。大家好,给大家分享一下关于自动化测试用例的设计心得,首先完整的熟悉业务是第一步要做的,不熟悉业务的前提下不会设计出高效且合理的用例,其次是我们要有明确的测试目标,确保我们写的每一个自动化用例都有明确的验证点,在编写自动化测试时,要优先覆盖关键场景,也就是重要的功能和流程,还要确保每个用例的独立性,避免相互依赖,每个用例都可以单独执行,要便于理解和维护,推荐使用数据来驱动测试,提高用例的灵活性和扩展性,用例一定要紧密的贴合业务需求,符合用户操作。

一、接口自动化用例设计

1、基本的功能验证

检查接口的正常响应,如正确的状态码、数据格式等。

例如:对于一个获取用户信息的接口,检查返回的状态码是否为 200,以及数据格式是否正确,如用户姓名、年龄等字段是否存在且符合预期。

2、参数验证

验证不同参数组合下接口的处理逻辑。

例如:

对于一个查询订单的接口,测试不同的订单号、状态等参数时接口的响应。

3、边界值验证

验证接口在边界条件下的表现。

例如:

对于一个要求输入数字的接口,测试最小值、最大值等边界值时的情况。

4、异常情况测试

模拟错误情况,如参数错误、服务器错误等。

例如:

例如,向接口发送错误的参数、错误的数据类型参数或者数据库中不存在的数据,观察接口的错误响应。

5、多接口关联场景

验证多个接口之间的交互是否正常。

例如:

一个创建订单的接口和一个支付订单的接口,要确保创建后能正常支付。

6、性能

关注接口的响应时间等性能指标。

例如:

测试接口在高并发情况下的响应时间是否满足要求,单接口请求响应时间是否满足预期。

7、数据一致性验证

检查接口返回的数据与数据库或其他数据源中的数据是否一致。

例如:

接口返回的订单金额与数据库中记录的金额是否一致。

8、权限验证

测试不同权限的用户对接口的访问和操作。

例如:

普通用户和管理员对某个接口的操作权限是否不同。

9、接口安全性

验证接口是否存在安全漏洞,如身份验证、数据加密等。

例如:

检查接口是否对用户身份进行了验证,数据传输是否加密。

10、并发测试

模拟多用户并发访问接口的情况。

例如:

同时有多个用户发起请求,观察接口的处理能力和稳定性。

二、移动端应用UI自动化用例设计

1、页面元素验证

检查页面上的各种元素是否显示正确,包括元素的类型、位置、大小、颜色、文本内容等是否与设计要求一致。

例如:

检查登录页面的用户名输入框是否存在,是否可正常输入。

2、操作流程验证

按照应用的主要操作流程进行测试,确保每个环节都能正常执行,没有出现错误或异常。

例如:

在购物应用中,测试从选择商品到完成支付的整个流程是否顺畅。

3、交互反馈验证

验证用户操作后系统给出的反馈是否符合预期,如提示信息是否准确、动画效果是否合理等。

例如:

点击按钮后,出现的提示信息是否正确显示。

4、屏幕适配验证

在不同设备和屏幕尺寸下,检查界面的布局是否合理,没有出现变形或显示不全的情况。

例如:

在不同手机型号上测试应用的界面是否都能完整显示。

5、异常情况验证

模拟网络异常、系统错误等情况,观察界面在这些情况下的表现。

例如:

在没有网络时,应用是否提示网络错误。

6、手势操作验证

测试各种手势操作,如滑动、点击、长按等,看系统是否能正确响应。

例如:

在列表页面上进行滑动操作,检查列表是否能正常滚动。

7、数据加载验证

检查数据加载过程中界面的显示和交互性,确保没有卡顿或长时间等待的情况。

例如:

在打开应用时,检查数据加载的进度条是否正常显示。

8、弹层和提示框

验证各种弹窗和提示框的显示和操作是否符合要求。

例如:

测试确认删除的提示框是否能正常弹出并可操作。

9、界面切换测试

测试不同界面之间的切换是否流畅,没有卡顿或延迟的情况。

例如:

从主界面切换到设置界面是否迅速。

10、输入限制测试

检查对输入内容的限制是否有效,如输入长度、格式等限制是否正确执行。

例如:

检查手机号输入框是否只允许输入数字。

11、控件状态变化测试

验证控件在不同状态下的外观和行为是否符合设计。

例如:

按钮在未点击和点击后的状态变化是否正常,按钮在点击后不可再次点击是否变为置灰。

        以上是本人在做自动化测试时,经过不断地踩坑,慢慢总结出来的测试点,在某些程度上可能还不够全面,需要根据不同的业务、项目来区分,并非完全通用,如果各位小伙伴现在设计的自动化测试用例可以将以上方面都覆盖到,则说明用例设计的相当完善,能够很好的起到验证系统稳定性与正确性的作用,希望本篇能给各位测试小伙伴带来帮助~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/3003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis(单/多)线程

一、 Redis 单线程 与 多线程 怎么说? (1)重要的版本迭代 redis4 之前仅支持 单线程, redis 4之后慢慢 支持多线程, 直到redis6/7后才稳定 (2)redis 的 工作线程 是 单线程的 &#xff08…

阿里云难题学习笔记

1、下列内存区段增长方是向低地址方向的有( )? A: 文本段 B: 数据段 C: 堆区 D: 栈区 解析: 在内存管理中,不同的内存区段增长方向是不同的。栈区(Stack)的增长方向是向低地址方向的&…

Nacos和Eureka有什么区别!!!

一致性模型: Eureka:采用的是 AP(Availability, Partition Tolerance)模型,即在面临网络分区或部分节点故障时优先保证系统的可用性,牺牲一定的数据一致性。Eureka 通过自我保护机制,允许在节点…

Python构建学生信息管理系统:构建RESTful API - 学生信息管理系统的后端逻辑

在之前的博客里,我们已经完成了项目初始化,在本篇博客中,我们将深入探讨如何使用Flask框架实现学生信息管理系统的后端逻辑,特别是通过RESTful API来实现学生信息的增删改查(CRUD)操作。 Flask RESTful AP…

go的内存分配机制

Go 语言的内存分配机制可以分为几个主要类别,每个类别都有其特定的行为和优化: 1. 栈(Stack)分配 局部变量:在函数内部定义的变量通常分配在栈上。大小限制:栈的大小有限,适用于生命周期短、大…

C系统编程:从零手搓一个shell

背景 这么久没更新就是在干这件事!!因为系统编程已经学的差不多了,所以想找几个项目练练手,之前就一直想写一个自己的shell!!现在终于有机会实现了。 首先说明一下我的操作系统:Arch linux 服务…

pandas 读取JSON字符串解析长整形丢失数据精度,读取值与实际值不一致

目录 背景: JSON字符串 解析代码 解决方案 背景: 在使用pandas read_json方法读取JSON存为Excel文件时,发现Excel中order_no的值与JSON字符串中的值不一致,开始怀疑是Excel保存精度问题,但是Excel输出实际为字符串…

【OceanBase系列】—— 常用 SQL

作者简介: 花名:绪宁,OceanBase 数据库解决方案架构师 对使用OB过程中常用的一些SQL进行了整理,对应的版本是 4.x。 集群信息 查看版本 show variables like version_comment; 查看集群ID和集群名 show parameters like %clust…

函数的查询

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 在实际使用中经常会需要查询数据库中已有的函数或者某一个函数的内容,下面就介绍一下如何查询函数。 和存储过程类似,这也需要使用到数据字典user_s…

Spring - 4 ( 11000 字 Spring 入门级教程 )

一:Spring IoC&DI 在前⾯的章节中, 我们学习了 Spring Boot 和 Spring MVC 的开发, 可以完成⼀些基本功能的开发了, 但是什么是 Spring 呢? Spring, Spring Boot 和 SpringMVC 又有什么关系呢? 咱们还是带着问题去学习.我们先看什么是Spring 1.1 Spring 是什…

设计模式学习笔记 - 开源实战四(下):总结Spring中用到的11种设计模式

概述 上篇文章,讲解了 Spring 中支持扩展功能的两种设计模式:观察者模式和模板模式。这两种模式帮助我们创建扩展点,让框架的使用者在不修改源码的情况下,基于扩展点定制化框架功能。 实际上,Spring 框架中用到的设计…

vue项目中定位组件来源的查找思路

vue项目中定位组件来源的查找思路 先去【package.json】里面看看有没有看【a】开头或者【a-】开头的插件名 例如:如果我不知道【el-tree】,先去【package.json】里面找【el】或者【el-】开头的插件名,结果知道了【element-ui】这样就可以直接…

更新至2022年上市公司数字化转型数据合集(四份数据合集)

更新至2022年上市公司数字化转型数据合集(四份数据合集) 一、2000-2022年上市公司数字化转型数据(年报词频、文本统计) 二、2007-2022年上市公司数字化转型数据(年报和管理层讨论)(含原始数据…

微前端是如何实现作用域隔离的?

微前端是如何实现作用域隔离的? 一、前言 沙箱(Sandbox)是一种安全机制,目的是让程序运行在一个相对独立的隔离环境,使其不对外界的程序造成影响,保障系统的安全。作为开发人员,我们经常会同沙…

UE5 GAS开发P35,36,37,38,39 将药水修改为AbilitySystem效果

这几节课都是将药水修改成更方便使用的AbilitySystem效果的Actor,分别为增加血量,增加蓝量,暂时获得最大生命值上限 AuraEffectActor.h // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #…

设计模式- 策略模式(Strategy Pattern)结构|原理|优缺点|场景|示例

设计模式(分类) 设计模式(六大原则) 创建型(5种) 工厂方法 抽象工厂模式 单例模式 建造者模式 原型模式 结构型(7种) 适配器…

前端vue+xgVIdeo集成rstp流播放

注意&#xff1a;rstp流需要对应的西瓜视频插件 项目&#xff1a; petition-manager 代码概览&#xff1a; 1. video-player 子 组件 <template><div id"video-player" class"video-player"></div> </template> <script&g…

Java面试之封装、继承和多态(简洁易懂版)

一、封装&#xff1a; 1.1、什么是封装&#xff1f; 封装是指将类的某些信息隐藏在类内部&#xff0c;不允许外部直接访问&#xff0c;而是通过类提供的方法来实现对隐藏信息的操作和访问。通过封装&#xff0c;可以提高代码的安全性和可靠性。在Java中&#xff0c;使用访问修…

介绍一个开源IOT组态项目

项目介绍 金合可视化平台是一款强大而操作简便的低代码平台&#xff0c;专为满足物联网领域的可视化开发需求而设计。通过该平台&#xff0c;用户可以利用拖拽配置的方式&#xff0c;轻松创建个性化的可视化大屏&#xff0c;无需熟练的编程技能&#xff0c;大幅提高了开发效率。…

图搜索的经典启发式算法A星(A*、A Star)算法详解

文章目录 1. 引言2. 广度优先搜索3. Dijkstra 算法4. 启发式优先搜索&#xff08;Heuristic&#xff09;4.1 贪心最佳优先搜索4.2 A*搜索 1. 引言 在许多场景中&#xff0c;我们常会遇到一类问题&#xff0c;即“找到一个位置到另一个位置的距离最短&#xff08;用时最少&…