字节大佬整理测试用例编写规范

目录

1.1目的

1.2使用范围

二 测试用例编写原则

2.1系统性

2.2连贯性

2.3全面性

2.4正确性

2.5符合正常业务惯例

2.6仿真性

2.7容错性(健壮性)

三 测试用例设计方法

3.1 等价类划分法:

3.2 边界值分析法:

3.3 因果图法:

3.4功能图法

3.5错误推测法

3.6 正交实验设计方法

3.7接口间测试

3.8数据库测试

3.9可理解(操作)性

3.10可移植性

四 测试用例编写规范

4.1测试用例命名规则

4.2测试用例编号规则

4.3测试用例文档书写内容

五 编写用例注意事项

5.1功能检查

5.2 面向用户的考虑

5.3数据处理

5.3.1输入数据

5.3.2数据处理

5.3.3输出结果

5.4软件流程测试

五 历史版本

5.1 版本记载


1.1目的

统一测试用例编写的规范,为测试设计人员提供测试用例编写的指导,提高编写的测试用例的可读性,可执行性、合理性。为测试执行人员更好执行测试,提高测试效率,最终提高公司整个产品的质量。

1.2使用范围

适用于对产品的业务流程、功能测试用例的编写。

二 测试用例编写原则

2.1系统性

1、对于系统业务流程要能够完整说明整个系统的业务需求、系统由几个子系统组成以及它们之间的关系;

2、对于模块业务流程要能够说明清楚子系统内部功能、重要功能点以及它们之间的关系;

2.2连贯性

1、对于系统业务流程来说,各个子系统之间是如何连接在一起,如果需要接口,各个子系统之间是否有正确的接口;如果是依靠页面链接,页面链接是否正确;

2、对于模块业务流程来说,同级模块以及上下级模块是如何构成一个子系统,其内部功能接口是否连贯;

2.3全面性

1、应尽可能覆盖程序的各种路径

2、应尽可能覆盖系统的各个业务

3、应考虑存在跨年、跨月的数据

4、大量数据并发测试的准备

5、系统中各功能、业务的异常情况

2.4正确性

1、输入用户实际数据以验证系统是否满足需求规格说明书的需求。

2、测试用例中的测试点应保证至少覆盖需求规格说明书中的各项功能。

2.5符合正常业务惯例

1、测试数据应符合用户实际工作业务流程

2、兼顾各种业务变化的可能

3、要符合当前业务行业法律,法规。

2.6仿真性

  人名、地名、电话号码等应具有模拟功能,符合一般的命名惯例。

2.7容错性(健壮性)

程序能够接收正确数据输入并且产生正确(预期)的输出,输入非法数据(非法类型、不符合要求的数据、溢出数据等),程序应能给出提示并进行相应处理。

三 测试用例设计方法

3.1 等价类划分法

将所有可能的输入数据(有效的和无效的)划分成若干个等价类。

3.2 边界值分析法:

指对输入的边界条件进行分析,设计出针对边界值的测试用例。

3.3 因果图法:

  就是利用图解法分析软件输入(原因)和输出条件(结果)之间的关系,以设计测试用例的方法。因果图法适合于检查程序输入条件的多种情况的组合,并最终生成判定表,来获得对应的测试用例。

3.4功能图法

  功能图是描述程序状态变化、转移的过程,因为软件运行或操作的过程可以看作是其状态不断发生变化的过程。测试用例的设计就是如何覆盖所有软件表现出来的状态,即在满足输入/输出的一组条件下,软件运行是一系列有次序的、受控制的状态变化过程。

3.5错误推测法

推测法主要依赖经验、直觉来作出简单的判断甚至是猜测,给出可能存在缺陷的条件、场景等,在找到缺陷后,设计出相应的测试用例。

3.6 正交实验设计方法

  主要步骤是:

(1) 对软件需求规格说明中的功能要求进行划分(层层分解与展开),分解成具体的、相对独立的基本功能。

(2) 根据基本功能的质量需求,找出影响其功能实现的操作对象和外部因素,每个因素的取值可以看作水平,多个取值就存在多个水平。

(3) 确定待测试软件中所有因素及其权值,这是测试用例设计的关键,确保全面、准确。

  权值是依据各因素的影响范围、发生的频率和质量的需求来确定的。

(4) 加权筛选,生成因素分析表。

(5) 利用正交表构造测试数据集,正交表的每一行,就是一条测试用例。考虑交互作用不可忽略的处理因素和不可混杂的原则,有交互作用的组合优先安排。

利用正交实验设计方法设计测试用例,可控制生成的测试用例数量,覆盖率高且测试效率高。

3.7接口间测试

测试各个模块相互间的协调和通信情况,数据输入输出的一致性和正确性。

3.8数据库测试

依据数据库设计规范对软件系统的数据库结构、数据表及其之间的数据调用关系进行测试。

3.9可理解(操作)性

理解和使用该系统的难易程度(界面友好性)。

3.10可移植性

在不同操作系统及硬件配置情况下的运行性。

四 测试用例编写规范

4.1测试用例命名规则

以功能模块和业务流程进行命名。

4.2测试用例编号规则

用例编号规则:以测试模块名称的第一个字母进行命名(大写),若测试模块名称比较长时,可进行简写。一般简拼不超过5个字母:如:

  • 测试模块为“用户管理”,功能编号为“YHGL”;
  • 测试模块为“行政单位管理”,功能编号为“DWGL”
  • 功能编号规则直接以001、002、003…..

4.3测试用例文档书写内容

1、被测试对象的介绍

2、测试范围与目的

3、测试环境与测试辅助工具的描述

4、功能测试用例主要元素

  • 前置/操作描述:

1、前置条件(可选):系统权限配置或前、后台配置描述(所有进行操作的前提条件)。                                

2、操作:测试的操作步骤描述。     

  • 功能点: 功能点描述。
  • 输入数据:前期数据准备。
  • 预期结果:描述输入数据后程序应该输出的结果。
  • 测试结果:描述本条用例的实际测试情况,并判断实际测试结果与预期结果的差别。
  • Bug编号/Bug简要描述:需要进流程的对应事物流程的编号,及简要说明
  • 备注:测试过程中遇到的问题等情况说明。

五 编写用例注意事项

5.1功能检查

1 、功能是否齐全,例如:增加、删除、修改,查询条件是否合理,用户使用是否方便

2 、功能是否多余

3 、功能是否可以合并

4 、功能是否可以再细分

5 、软件流程与实际业务流程是否一致

6 、软件流程能否顺利完成

7 、各个操作之间的逻辑关系是否清晰

8 、各个流程数据传递是否正确

9 、模块功能是否与需求分析及概要设计相符

10、批量增加、批量修改,增加、修改等录入比较频繁的界面或录入数据量较多的界面,是否支持全键盘或全鼠标操作,并且使用通用的键实现数据字段的有序切换

5.2 面向用户的考虑

1 、操作方便性,如:按键次数是否最少,并不以开发实现技术限制为限制,而是以用户使用方便性和应用软件约定和通常的快捷键来实现提出合理建议

2 、易用性,面对用户的操作是否简单易学

3 、智能化考虑

4 、提示信息是否模糊不清或有误导作用。错误信息是否有用户语言风格的出错后续处理建议提示

5 、要求用户进行的操作是否多余,能否由系统替代。系统升级后,用户能否不做任何操作自动进行所有升级的数据、环境等准备工作,包括删除缓存等动作

6 、能否记忆操作的初始环境,无需用户每次都进行初始化设置

7 、是否不经确认就对系统或数据进行重大修改

8 、能否及时反映或显示用户操作结果

9 、操作是否符合用户习惯,比如:热键

10 、各种选项的可用及禁用是否及时合理

11 、某些相似的操作能否做成通用模块

5.3数据处理

5.3.1输入数据

1 、边界值

2 、大于边界值

3 、小于边界值

4 、最大个数

5 、最大个数加 1

6 、最小个数

7 、最小个数减 1

8 、空值、空表

9 、极限值

10 、 0 值

11 、负数

12 、非法字符

13 、日期、时间控制

14 、跨年度数据

15 、数据格式

 16 、数据之间的关联性、逻辑性,数据范围、格式限制是否合乎日常情理,如年龄不应为负数,身份证位数必须为15或18位且与性别严格相关联,与生日可以有区别(考虑到阴历阳历的问题)但不相同时给予提示,私人电话号码的长度且国内电话只能有数字及短横线标识区号等

5.3.2数据处理

1 、处理速度

2 、处理能力

3 、数据处理正确率

4 、计算方式及计算结果准确性,数字精度的取舍问题,汇总数据与分项数据累加的误差问题

5.3.3输出结果

1 、正确率

2 、输出格式

3 、预期结果

4 、实际结果,金额数字的可能要验证小写大写的一致性,大写可能要测试多种金额的大写,包括没有整数的情况下,没有小数的情况下,带整数和小数的情况下……

5.4软件流程测试

1 、反流程操作

2 、反逻辑操作

3 、重复操作

4 、反业务流程操作

 5 、违反流程的打乱流程的不按操作手册的乱操作

五 历史版本

5.1 版本记载

版本每次改动,需要填写版本号,修改人、相关说明等信息。

版本号:以当前项目类型+年份+月+日期来命名

版本

状态

作者

参与者

日期

备注

Ncms20110720

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

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

相关文章

Nginx基线检查

扩展知识: Nginx主配置文件:/etc/nginx/nginx.conf 这是Nginx的主要配置文件,用于配置全局的设置、HTTP块、事件处理、邮件等内容。 打开并编辑配置文件 vim /etc/nginx/nginx.conf 一、关于禁止显示服务器版本号和操作系统版本信息: 简介: 在错误页面和响应头中显示…

多路转接<select>和<poll>使用手册

select int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout); 参数说明 返回值 返回值>0 表示成功返回可访问的文件描述符个数&#xff0c;返回值0 表示标识等待时间到期返回值<0 表示出现错误…

[蓝桥杯习题]———位运算、判断二进制1个数

⭐Hello!这里是欧_aita的博客。 ⭐今日语录&#xff1a;行动胜过一切。 ⭐个人主页&#xff1a;欧_aita ψ(._. )>⭐个人专栏&#xff1a; 数据结构与算法&#xff08;内含蓝桥杯习题&#xff09; MySQL数据库 位运算 位运算位运算的定义简单运用 实战刷题题目思路代码实现声…

Apipost推出IDEA插件,代码写完直接调试

IDEA是一款功能强大的集成开发环境&#xff08;IDE&#xff09;&#xff0c;它可以帮助开发人员更加高效地编写、调试和部署软件应用程序。我们在编写完接口代码后需要进行接口调试等操作&#xff0c;一般需要打开额外的调试工具。 今天给大家介绍一款IDEA插件&#xff1a;Api…

嵌入式数据传输及存储的C语言实现

各种类型的数据传输和存储就涉及到大小端的问题&#xff0c;首先要简单说下芯片的大小端问题&#xff0c;这里主要讨论Cortex-M内核。 M内核支持大端或者小端&#xff0c;实际应用中大部分内核都是小端。以STM32为例&#xff0c;全部都是小端&#xff0c;而且是芯片设计之初就固…

如何使用JMeter测试https请求

HTTP与HTTPS略有不同&#xff0c;所以第一次使用JMeter测试https请求时遇到了问题&#xff0c;百度一番后找到解决方法&#xff1a;加载证书。 下面内容主要记录这次操作&#xff0c;便于后续参考&#xff1a; 操作浏览器&#xff1a;谷歌 &#xff08;1&#xff09;下载被测…

速达软件全系产品 RCE漏洞复现

0x01 产品简介 速达软件是中小企业管理软件第一品牌和行业领导者,是128万家企业用户忠实的选择。14年来速达致力于进销存软件、ERP软件、财务软件、CRM软件等管理软件的研发和服务。 0x02 漏洞概述 速达软件全系产品存在任意文件上传漏洞&#xff0c;未经身份认证得攻击者可以…

推荐几款免费的智能AI伪原创工具

在当今信息快速传播的时代&#xff0c;创作者们常常为了在激烈的竞争中脱颖而出而苦苦挣扎&#xff0c;而其中的一项挑战就是创作出独具创意和独特性的内容。然而&#xff0c;时间有限的现实让很多人望而却步。在这个背景下&#xff0c;免费在线伪原创工具成为了创作者们的得力…

初始Redis(入门篇)

目录 什么是Redis Redis特性 速度快 丰富的功能 客户端语言多 持久化 主从复制 Redis可以做什么 缓存 排行榜系统 计数器应用 消息队列系统 Redis安装 centos7安装 Redis重要文件 Redis的使用 Redis通用命令 set get keys exists del expire 什么是Redi…

基于Java+SpringBoot+Vue3+Uniapp+TypeScript(有视频教程)前后端分离的求职招聘小程序

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

机器人AGV小车避障传感器测距

一、A22超声波传感器 该模块是基于机器人自动控制应用而设计的超声波避障传感器&#xff0c;针对目前市场上对于超声波传感器模组盲区大、测量角度大、响应时间长、安装适配性差等问题而着重设计。 具备了盲区小、测量角度小、响应时间短、过滤同频干扰、体积小、安装适配性高…

csapp-linklab之第3阶段“输出学号”实验报告(强弱符号)

题目 新建一个phase3_patch.o&#xff0c;使其与main.o和phase3.o链接后&#xff0c;运行输出自己的学号&#xff1a; $ gcc -o linkbomb main.o phase3.o phase3_patch.o $ ./linkbomb $学号 提示 利用符号解析中的强弱符号规则。&#xff08;COOKIE字符串未初始化&#xff…

编写算法,对n个关键字取整数值的记录序列进行整理。以使所有关键字为负值的记录排在关键字为非负值的记录之前

编写算法&#xff0c;对n个关键字取整数值的记录序列进行整理。以使所有关键字为负值的记录排在关键字为非负值的记录之前&#xff0c;要求&#xff1a; &#xff08;1&#xff09;采用顺序存储结构&#xff0c;至少使用一个记录的辅助存储空间 &#xff08;2&#xff09;算法的…

Echarts大屏可视化_04 横向柱状图模块的引入和开发

模块的引入 1.寻找官方示例引入 ECharts官方实例入口 2.引入示例 ECharts 示例 可从这里直接进入 标题、提示信息、图例都不需要所以直接删掉 <div class"column"><div class"panel bar2"><h2>柱状图-技能掌握</h2><div cla…

直线上最多的点数

题目链接 直线上最多的点数 题目描述 注意点 points 中的所有点 互不相同points[i].length 2 解答思路 一条直线的函数为f(x)axb&#xff0c;两个点决定一条直线&#xff0c;也就是决定了f(x)中斜率a和截距b的值&#xff0c;所以考虑使用一个哈希表存储直线中的a和b并记录…

Springboot如何快速生成分页展示以及统计条数

这是表结构&#xff1a; 前置知识&#xff1a; 分页查询公式&#xff08;&#xff09;&#xff1a; -- 推导一个公式 -- select * from emp -- order by empno -- limit 每页显示记录数 * (第几页-1)&#xff0c;每页显示记录数 统计条数公式&#xff1a; select count…

Python基础语法之学习字符串快速格式化

Python基础语法之学习字符串快速格式化 一、代码二、效果 一、代码 # 通过f"{占位}"控制字符串快速格式化,不做精度控制 name "张三" age 13 money 12.5 text f"姓名是{name},年龄是{age},钱是{money}" print(text)二、效果 每一天都是一个…

MySQL处理并发访问和高负载的关键技术和策略

我深知在数据库管理中处理并发访问和高负载的重要性。在这篇文章中&#xff0c;我将探讨MySQL处理并发访问和高负载的关键技术和策略&#xff0c;以帮助读者更好地优化数据库性能。 图片来源&#xff1a;MySQL处理并发访问和高负载的关键技术和策略 MySQL数据库在处理并发访问…

iptables防火墙之SNAT与DNAT

1. SNAT SNAT 应用环境:局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由) SNAT原理:源地址转换&#xff0c;根据指定条件修改数据包的源IP地址&#xff0c;通常被叫做源映射。 数据包从内网发送到公网时&#xff0c;SNAT会把数据包的源IP由私网IP…

python技术栈之单元测试中mock的使用

什么是mock&#xff1f; mock测试就是在测试过程中&#xff0c;对于某些不容易构造或者不容易获取的对象&#xff0c;用一个虚拟的对象来创建以便测试的测试方法。 mock的作用 特别是开发过程中上下游未完成的工序导致当前无法测试&#xff0c;需要虚拟某些特定对象以便测试…