首页 > 其他分享 >测试:设计测试用例

测试:设计测试用例

时间:2024-06-21 18:29:33浏览次数:21  
标签:验证码 正交 密码 测试用例 测试 设计 填写 电子邮箱

文章目录

本篇总结的是测试用例的概念和设计方法

概念

测试用例是为了实施测试而向被测试的系统提供的一组集合,这个集合中包含的内容有测试环境,操作步骤,测试数据,预期结果等要素

在测试用例的设计中,一个原则是,测试用例要对于预期的结果做出定义,这样能够判断测试的结果是否符合最初的预期结果

设计

那如何进行测试用例的设计呢?

假设现在有一个门锁,如果要对门锁进行测试,那么该如何进行测试?

一个基本的设计思路是,功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试

  1. 功能测试:就是去看它的功能和预期的结果是否相同,只要相同就说明它的功能是正常的
  2. 界面测试:这个也比较好理解,就是对于界面进行测试,去看它的整体元素布局是否和设计图相同
  3. 性能测试:项目的功能已经完备了,但是性能未必好,因此要在功能已经完备的基础上去看它的性能整体表现的怎么样
  4. 兼容性测试:例如,设计出的一个软件,能不能在PC端打开,能不能在移动端打开,而移动和PC又分为不同的操作系统,那对于这些操作系统的兼容性测试也是有必要的
  5. 易用性测试:易用性测试简单来说就是测试它的上手成本怎么样,如果上手难度小,那么用户就更容易使用,也就更容易被进行推广
  6. 安全测试:安全测试就是负责检测各种安全

具体设计

那下面,就依据上面的这六点,进行一次设计测试用例,比如现在要进行的是邮箱注册的这样的测试用例设计:

在这里插入图片描述

正交法

这里采用一个正交法的例子来进行补充

对于正常的测试用例来说,大概想到的就是排列组合,比如有a和b两个选项,那么排列组合就是四种情况,都填写,a填b不填,b不填a填,两个都不填

那如果是三个选项,就是8种情况,四个选项就是16种,五个就是32种…

而正交法的目的主要是为了减少测试用例的数目,用尽量少的测试用例覆盖输入的组合情况

正交试验设计(Orthogonal experimental design)是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。

正交表:

如图最简单的正交表是L(4)(2(3)),含意如下:“L”代表正交表;L下角的数字“4”表示有4横行,简称行,即要做四次试验;括号内的指数“3”表示有3纵列,简称列,即最多允许安排的因素是3个;括号内的数“2”表示表的主要部分只有2种数字,即因素有两种水平1与2。

在这里插入图片描述
正交表的构成:因素数、水平数、行数。
因素:对指标的影响条件,通常是正交表中的一列。
水平:因素对应的可选项。

正交表的性质:

  1. 每一列中,不同的数字出现的次数相等。
  2. 任意两列中数字的排列方式齐全而且均衡

正交法设计测试用例的步骤:

  1. 找到因素和水平
  2. 用allparis工具生成正交表
    • 将因素和水平写入Excel表格中
    • allparis目录下创建新的文本文件new.txt,复制Excel中的因素和水平,直接粘贴到文本文档保存并退出
    • 使用allparis命令生成正交表:allparis.exe new.txt>zhengjiao.txt
  3. 根据正交表编写测试用例
  4. 补充遗漏的重要测试用例

继续以邮箱注册为例,采用正交法补全剩下的测试用例。

  1. 找到因素和水平
    因素:姓名、电子邮箱、密码、确认密码、验证码
    水平:填写、不填写
  2. 用allparis工具生成正交表

首先创建一个文本文件为:

姓名		电子邮箱	密码		确认密码	验证码
填写		填写		填写		填写		填写   
不填写	不填写	不填写	不填写	不填写

其次进行生成:


TEST CASES
case	姓名	电子邮箱	密码	确认密码	验证码	pairings
1	填写	填写	填写	填写	填写	10
2	填写	不填写	不填写	不填写	不填写	10
3	不填写	填写	不填写	填写	不填写	8
4	不填写	不填写	填写	不填写	填写	8
5	~填写	填写	填写	不填写	不填写	2
6	~填写	不填写	不填写	填写	填写	2

PAIRING DETAILS
var1	var2	value1	value2	appearances	cases
姓名	电子邮箱	填写	填写	2	1, 5
姓名	电子邮箱	填写	不填写	2	2, 6
姓名	电子邮箱	不填写	填写	1	3
姓名	电子邮箱	不填写	不填写	1	4
姓名	密码	填写	填写	2	1, 5
姓名	密码	填写	不填写	2	2, 6
姓名	密码	不填写	填写	1	4
姓名	密码	不填写	不填写	1	3
姓名	确认密码	填写	填写	2	1, 6
姓名	确认密码	填写	不填写	2	2, 5
姓名	确认密码	不填写	填写	1	3
姓名	确认密码	不填写	不填写	1	4
姓名	验证码	填写	填写	2	1, 6
姓名	验证码	填写	不填写	2	2, 5
姓名	验证码	不填写	填写	1	4
姓名	验证码	不填写	不填写	1	3
电子邮箱	密码	填写	填写	2	1, 5
电子邮箱	密码	填写	不填写	1	3
电子邮箱	密码	不填写	填写	1	4
电子邮箱	密码	不填写	不填写	2	2, 6
电子邮箱	确认密码	填写	填写	2	1, 3
电子邮箱	确认密码	填写	不填写	1	5
电子邮箱	确认密码	不填写	填写	1	6
电子邮箱	确认密码	不填写	不填写	2	2, 4
电子邮箱	验证码	填写	填写	1	1
电子邮箱	验证码	填写	不填写	2	3, 5
电子邮箱	验证码	不填写	填写	2	4, 6
电子邮箱	验证码	不填写	不填写	1	2
密码	确认密码	填写	填写	1	1
密码	确认密码	填写	不填写	2	4, 5
密码	确认密码	不填写	填写	2	3, 6
密码	确认密码	不填写	不填写	1	2
密码	验证码	填写	填写	2	1, 4
密码	验证码	填写	不填写	1	5
密码	验证码	不填写	填写	1	6
密码	验证码	不填写	不填写	2	2, 3
确认密码	验证码	填写	填写	2	1, 6
确认密码	验证码	填写	不填写	1	3
确认密码	验证码	不填写	填写	1	4
确认密码	验证码	不填写	不填写	2	2, 5

下面就可以根据正交表来写测试用例了,测试用例可能会有一些遗漏,手动补全即可

判定表法

通过具体的方法可以让测试用例设计的更加完整和规范

需求中会存在各种各样的场景,现在把需求改为下面的要求:用户输入的账号中包含admin字符,或者通过内部链接进入注册界面,提交注册按钮成为管理员身份,否则没有

那对于这样的需求来说,不同的组合会出现不同的结果,那使用正交法是无法解决这样的场景的,因此就要使用一下判定表法

使用判定表法的步骤

  1. 确认需求中输入条件和输出条件
  2. 找出输入条件和输出条件之间的关系
  3. 画判定表
  4. 根据判定表编写测试用例

输入条件:账号包含admin字符,内部注册链接,点击注册按钮
输出条件:管理员,无管理员

只有符合ac,bc,abc才是管理员,其他都是无管理员

在这里插入图片描述

标签:验证码,正交,密码,测试用例,测试,设计,填写,电子邮箱
From: https://blog.csdn.net/qq_73899585/article/details/139760985

相关文章

  • allure测试报告使用
    1.生成allure数据结果文件1.1在pytest.ini中配置allure报告的存储路径,这里用来存储allure报错的原始数据[pytest]addopts=--alluredir=./allure-results1.2使用pytest命令生成allure结果文件   pytest--alluredir=./allure-results 2.查看allure报告2.1启动一个W......
  • 双绞线(网线)的制作与测试
    实验目的1、熟悉常用双绞线(网线)及其制作工具的使用;2、掌握非屏蔽双绞线的直通线、交叉线的制作及连接方法;3、掌握双绞线连通性的测试。设备要求:RJ45压线钳,RJ45水晶头,UTP线缆(每条2m,若干条),测线仪,PC(2台以上,装有操作系统,有网卡),集线器。双绞线简介双绞线可按其是否外加金属......
  • 2023年天津大学图像工程课程设计 基于 OpenCV 、 Qt 库的图像处理软件+源代码+文档说
    文章目录源码下载地址项目介绍项目功能界面预览项目备注源码下载地址源码下载地址点击这里下载代码项目介绍图像工程课程设计基于OpenCV、Qt库实现的图像处理软件大学编程作业(TUST天津科技大学2023年)图像工程课程设计基于OpenCV、Qt库实现的图像处......
  • Java语言设计
    第一章:Java环境搭建Java是一种计算机编程语言;除了java编程语言,还有很多的编程语言:c、c++、c#、python等不同编程语言类比于不同国家语言;每个编程语言的语法不同;应用场景不同Java是一个用于后端开发的编程语言 一、Java历史1.1995年,sun公司推出的一款面向对象的编程语......
  • Java语言设计
    第二章:变量、数据类型、运算符、表达式一、变量1.概念:计算机中的一块内存空间,存储数据的基本单元2.变量的组成部分:数据类型、变量名、数据3.语法:(1)先声明,再赋值:  数据类型变量名;//声明  变量名=值; //赋值   (2)声明的同时并赋值:  数......
  • Java语言设计3
    第三章:分支结构一、if分支结构1.基本if结构:(1)语法:  if(判断条件/布尔表达式){    //语句  }(2)执行原理:如果判断条件成立,则执行{}中的语句2.基本if结构2(1)语法:  if(判断条件/布尔表达式){    //语句1  }else{    //......
  • Java语言设计4
    第四章:循环结构一、理解:1.循环:通过某个条件,重复并且有规律的执行一段代码2.循环组成部分:循环变量的初始化、循环条件、循环变量的改变、循环体3.循环分类:while循环、do..while循环、for循环二、while循环1.语法://循环变量的初始化while(循环条件){  //循环......
  • 【AIGC新职业】之:什么是AIGC?其对创意设计行业有什么重要意义?
    【AIGC是什么】AIGC,全称ArtificialIntelligenceGeneratedContent,即人工智能生成内容。这是一种基于生成对抗网络、大型预训练模型等人工智能的技术方法,通过已有数据的学习和识别,以适当的泛化能力生成相关内容的技术。AIGC技术的核心思想是利用人工智能算法生成具有一定......
  • LPD6803是专为LED(LED)灯光系统设计的驱动芯片
    一般简介:    LPD6803是专为LED(LED)灯光系统设计的驱动芯片,它采用先进的高压CMOS芯片工艺,提供三路恒流驱动和灰度调制输出,特别适合离散的多灰度全彩色灯光系统。    LPD6803芯片包括串行移位寄存器和级联驱动电路,灰度数据在时钟上沿移入串行移位寄存器,转储后......
  • 软件测试相关知识点
    什么是软件测试?定义:软件质量保证的一种手段目的:发现错误以及避免这些错误的发生,使产品达到完美概念:是软件工程中的一个非常重要的环节,是开发项目整体的一部分。是有计划有组织的,是伴随软件工程的诞生而诞生的,软件测试不是万能的,不可能发现全部缺陷,软件测试是有局限性的。......