测试用例的设计思考

毕业后的第一家公司个人认为除了加班巨多还是很不错的,我认为前司对于测试的流程和规范是非常棒的,对于测试用例的设计和评审都会有较高的要求。在前司的一年确实学到很多和测试流程和测试设计相关的知识。以下为自己的经验之谈,就是在一个模块到我手里的时候,如果是我来负责测试设计,我会从以哪些方面考虑。之前的部门是嵌入式产品,所以并不是所有行业所有模块都通用哈,只是提供一个基本的框架,思路,当然很多模块都可以从以下几点切入,思考。

1.兼容性:

浏览器: 需要产品或者需求侧明确给出要支持哪些浏览器,常见的浏览器要覆盖哪些,如 chrome,firefox,360极速等

操作系统:需要支持哪些操作系统使用以及最佳分辨率或者兜底的分辨率使用是正常的,若是支持WIN7,WIN10操作系统使用,如果用户的是WIN7系统比较旧,需要明确用户需要装哪些补丁。或者干脆不支持。

移动端:支持哪些平台,ios android ,适配哪些主流手机和 不同的os版本等。

2.前端UI

字符:输入框不支持的特殊字符或者非法字符有哪些,还是说所有字符都允许

空格:是否有对空格做校验,包括行首,行末,行中做校验和处理,如果有那么处理的策略是怎么样的

边界值:输入支持多少个字节的输入 不输入 或者超过边界值是否做了处理 是否有对应的提示

提交: 涉及到提交的,是否有对提交次数做限制,比如说我快速点击2次,是否真的提交了2次

函数: 是否都对要求的浏览器做了处理,相关按钮,动画在不同的浏览器是否都可以正常点击。(之前遇到过一个问题,就是一些按钮在IE上无法点击。)

最大值: 若涉及到一些配置条数,比如说支持多少条IP的配置,也要确认边界值,以及最大条数时候对性能带来的影响,应该在评审时候评估出来

3.功能性

即模块的主要功能保证

首先明确该模块的产生背景,该模块作用的技术细节,是在什么条件下会使用该模块,支持的部署模式有哪些。是否会和第三方的设备或者平台对接。使用该模块的角色权限。

模块是否有所需要的的库或者资源。 模块在新老设备上是否都可用。模块是适用于什么架构的设备是X86 还是ARM,小性能机器还是大性能机器。

需要我们了解模块的前前后后需求背景,技术实现之后,才在这之上设计相关的用例。

4.性能性

响应:页面的响应时间应该在多少ms之内,最多不超过多少ms

性能:设备支持的最大性能,比如说设备最大多少的吞吐和转发不丢包,一些性能指标我们应该明确清楚

内存:设备上新增了功能模块,那么这个模块启用时候占用的内存区间是多少,若是占用太高不释放,是否会对别的模块使用内存造成影响

5.稳定性&&6.可靠性

设备可以稳定运行多久,稳定性测试,在半个月或者一个月或者更久之内,设备上的相关服务进程的id没变,句柄数,总体保持稳定,模块功能始终生效正常使用

设备是否抗摔,设备上相关的模块,若涉及到插卡的这种是否不容易松动或者掉落,对应的指示灯是否都正常运行(物理层面的)

网络方面:丢包 ,延时,抖动,模块的通信质量是否都符合预期,让人不会感到明显的停顿

7.安全性

是否对特殊字符做限制,是否有做防止SQL注入(一般是代码方面做检验,现在ORM框架应该都会有处理方法)

用户设立密码是否有简单密码校验或者不允许简单密码机制,包括连续的数字,以及和用户名高度重合,是否必须要包含字母,数字以及最短多少位的限制

是否做了防暴破机制,用户一直登录失败,密码错误,有账号冻结限制或者给用户安全提示

(这块我接触的不多,安全测试或者渗透测试应该是有专员负责才对。不是很懂这块,允悲)

8.运维性

配置:配置是否有做备份策略,比如当前设备的配置是可以允许导出以及再导入恢复配置的。 配置是否有做兜底策略,若当前页面的配置丢失,当前页面是否能打开只是没内容还是直接加载配置报错,涉及到底层的配置,若客户的配置挂掉了。
设备的linux驱动里是否会延续上一次的配置或者是兜底配置,还是干脆模块就失效,不可用了。

日志:操作该设备的人的账号权限,角色,操作日期,进行的操作是否有明确记录。

       用户操作了哪些模块或者改动了哪些配置,是否有暴露后门方便技服有专门的深层日志查看日志是否在设备上有做定时清理策略。日志写入的路径是否正确。

升级: 用户升级设备时候,若涉及到重启设备生效,那么设备的升级时间以及重启时间在多久之内,可以接受

        在升级设备或者相关的配置或库的时候,若不幸升级失败,是否可以回滚到上一个版本,让设备继续保持可用状态

9.易用性

提示: 提示的文案是否合理,是否会给客户带来歧义,是否有错别字

配置: 涉及到让客户配置的页面,比如说网络相关的配置,是否点进来这个页面有默认配置好的值还是纯客户手动一个个配(因需求而异)

操作: 操作是否关联的页面tab比较多,尽量让为同一模块服务的配置在一个页面或者在一个大的tab里

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

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

相关文章

Java基础二十二(对集合元素排序比较)

对集合元素排序比较 1. 使用 Comparable 接口实现默认排序 Comparable 是 Java 中的一个接口,用于定义对象之间的排序规则。 实现了 Comparable 接口的类可以比较其对象的大小(包装类都实现了该接口),从而可以在集合类&#xf…

JavaScript设计模式(二)——简单工厂模式、抽象工厂模式、建造者模式

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

Java在线OJ项目(三)、前后端交互API模块

Java在线OJ项目(三)、前后端交互API模块 1. 客户端向服务器请求所有题目 或者 单个题目前端获取所有题目获取一个题目 后端 2. 后端读取前端提交的代码,进行编译运行,返回结果前端提交代码后端处理 1. 客户端向服务器请求所有题目…

Java中的Reference

1. 常用四种引用 快速记忆法:“硬(俗称的强引用) --> 软(SoftReference) --> 弱(WeakReference) --> 虚(PhantomReference)” 此处将常说的“强引用”记忆成“硬引用”可以对应到次席的“软引用”(反义词:硬-软)这样更容…

SAP-QM-质检操作

一、系统自动创建检验批 1、物料主数据设置 MM03-质量管理-检验设置-04来自生产收货的检验 检验类型 过账到检验库存:勾选进入检验库存 控制检验批:控制检验批的产生方式,按订单产生、按行产生、按凭证产生,例每个物料凭证项目…

C++进阶之多态

多态 多态的概念多态的定义及实现1.多态的构成条件2.虚函数3.虚函数的重写4.虚函数重写的两个例外5.C11 override 和 final6.重载、覆盖(重写)、隐藏(重定义)的对比 抽象类1.概念2.接口继承和实现继承 多态的原理1.虚函数表2.多态的原理3.动态绑定与静态绑定 单继承和多继承关系…

C++中使用 if…else 进行条件编程

C中使用 if…else 进行条件编程 在 C中,使用 if…else 有条件地执行代码,这种结构类似于下面这样: if (conditional expression)Do something when expression evaluates true; Else // OptionalDo something else when condition evaluate…

ArcGIS将两个相同范围但不同比例或位置的矢量数据移动到相同位置

有两个市图层,一个是正确经纬度的市行政范围图层,另一个是其他软件导出获取的不正确经纬度信息或缺失信息。 如果单纯的依靠移动图层,使不正确的移动到正确位置需要很久。尝试定义投影等也不能解决。 使用ArcMap 的空间校正工具条&#xff…

Python 案例实训教学,支持“教师-学生”双视角切换|ModelWhale 版本更新

学年伊始、辞旧迎新,金秋九月,ModelWhale 迎来新一轮的版本更新,持续优化你的使用体验。 本次更新中,ModelWhale 主要进行了以下功能迭代: • 新增 “教师-学生”双视角切换(团队版✓) • 新…

Stable Diffusion中的ControlNet插件

文章目录 ControlNet的介绍及安装ControlNet的介绍ControlNet的安装 ControlNet的功能介绍ControlNet的应用与演示 ControlNet的介绍及安装 ControlNet的介绍 ControlNet 的中文就是控制网,本质上是Stable Diffusion的一个扩展插件,在2023年2月份由斯坦…

Android微信数据库解密2

Android微信数据库解密2 上篇文章讲了下微信数据库密码规则,以及相关的代码. 本篇文章主要讲解下使用xpose获取对应的数据库密码. public class HookModule implements IXposedHookLoadPackage {public static final String TAG "HookModule";Overridepublic voi…

git文件夹内容详解

.git文件夹是Git版本控制系统在项目根目录下创建的隐藏文件夹,包含了Git仓库的所有相关信息。如下是.git文件夹中常见的一些内容及其作用: HEAD:指向当前所在的分支(或者是一个特定的提交)。 branches:存储…

详解排序算法(附带Java/Python/Js源码)

冒泡算法 依次比较两个相邻的子元素,如果他们的顺序错误就把他们交换过来,重复地进行此过程直到没有相邻元素需要交换,即完成整个冒泡,时间复杂度。 比较相邻的元素。如果第一个比第二个大,就交换它们两个;…

Spring Boot实践八--用户管理系统(下)

前面我们在数据库初始化时额外创建了一张任务表,用来模拟处理任务: key模拟业务sendMail模拟用户注册后给用户发送邮件任务,多线程异步任务处理analysisLog模拟每晚定时分析日志业务,定时任务处理 异步任务 异步任务通过方法上…

为何电商行业都在争相使用WhatsApp引流小挂件?

WhatsApp小挂件是嵌入在网站上的聊天小部件,允许访问者同WhatsApp与您联系。点击后,它会将客户带到移动或桌面 WhatsApp应用程序,或者直接打开一个对话框,客户可以在这些地方与您发起对话。让我们看看在您的网站上拥有WhatsApp聊天…

常用激活函数整理

最近一边应付工作,一边在补足人工智能的一些基础知识,这个方向虽然新兴,但已是卷帙浩繁,有时不知从何入手,幸亏有个适合基础薄弱的人士学习的网站,每天学习一点,积跬步以至千里吧。有像我一样学…

PHP多语言代入电商平台api接口采集拼多多根据ID获取商品详情原数据示例

拼多多商品详情原数据API接口的作用是获取拼多多电商平台上某一商品的详细信息,包括商品的标题、价格、库存、图片、描述、包邮信息、销量、评价、优惠券等数据。通过该API接口可以获取到商品的原始数据,用于分析、筛选和展示商品信息。 pinduoduo.item…

复习之docker部署--项目实战

一、实验环境 1.安装7.6虚拟机 最小化安装,不安装图形! 2.封装虚拟机 关闭selinux关闭防火墙关闭networkmanager配置网络,保证可以ssh修改主机名添加双向解析配置7.6网络仓库--安装常用的工具 配置完成后,在真机ssh虚拟机 如果…

在Mac终端使用unrar和rar 解压和压缩软件

1、首先从rarlab 网站下载 rar / unrar 工具 rarlab网站: https://www.rarlab.com/download.htm 2、解压缩下载的 tar.gz 压缩包(rarmacos-x64-623.tar.gz),在下载目录downloads下自动创建一个rar的目录,其…

(三)Redis——Set

SADD key value SMEMBERS 127.0.0.1:6379> SADD set aaa 1 127.0.0.1:6379> SMEMBERS set aaa 127.0.0.1:6379> SADD set aaa 0 127.0.0.1:6379> SMEMBERS set aaaSISMEMBER 判断 aaa 是否在 set 中 127.0.0.1:6379> SISMEMBER set aaa 1 127.0.0.1:6379>…