当前位置: 首页 > article >正文

软件测试方法下篇(正交法、场景设计法、错误猜测法)

一、正交法

研究多因素、多水平的一种实验方法,通过正交性找出实验中各因素最优的水平组合,通过分析这些最优组合的实验结果,来分析整个实验的结果与情况。

1、概念及计算方法

  • 因素:待考察的变量 ;
  • 因素数:待考察的变量个数,即正交表的列数;
  • 水平:每个待考察变量的值;
  • 水平数:考察每个变量的最多的取值个数。
    正交表的行数(N)=(水平数-1)x因素数+1
    必须是每个因素的水平数相等,若不相等则直接查。

2、正交表的性质

  • 每一列中的不同数据出现的次数一样多;
  • 任意两列个数据组合(组合中的数据不同)出现的次数一样多。

3、证交法设计测试用例的步骤

  1. 找出因素、水平;
  2. 确认因素数、水平数;
  3. 确认正交表的行、列;
  4. 根据正交表的性质填充正交表数据;
  5. 正交表的每一行就是一个简略的测试用例,根据正交表每一行的信息编写测试用例;
  6. 补充你认为可能是正交表上没有的测试用例。

4、举例:根据正交法编写注册平台邮箱的测试用例

题目:根据正交法编写注册平台邮箱的测试用例。
![(https://img-blog.csdnimg.cn/c8f13c2b3f9f4fcc96d70768e9246d85.png)(图源来自网络如有侵权联系删除)

分析过程:

  • 注册平台邮箱包含:账户、邮箱、密码、确认密码、验证码;
概念情况
因素账户、邮箱、密码、确认密码、验证码
因素数5
水平输入/不输入
水平数2

共有2x2x2x2x2=32种情况;
正交表的行数:(2-1)x5+1=6。

  • 画出正交表
账户邮箱密码确认密码验证码
1输入不输入输入输入不输入
2不输入输入不输入输入输入
3不输入不输入输入不输入输入
4不输入输入输入不输入不输入
5输入输入不输入输入不输入
6输入不输入不输入不输入输入
7(补充)全部输入,可成功
8(补充)全部不输入,不成功
  • 根据正交表写出测试用例(此处略)

二、场景设计法

功能点:把一个个孤立的功能点组合起来(可能有一定的逻辑),形成一个一个的场景。

1、举例:ATM机取款

题目:根据场景设计法对ATM机编写测试用例。
分析过程:

  • 场景:插卡——输入密码——输入取款金额——取钱——退卡
  • 基本流程:插卡正确,密码输入正确,输入金额小于余额数目,按取钱按钮,取钱,退卡。
  • 异常事件:操作超时;忘记退卡;密码错误(1~2次与3次);卡插反了,重新插卡;插成购物卡;银行卡消磁了;输入金额大于银行卡余额;银行卡过期;银行卡冻结;ATM机余额不足;ATM机吐出的钱数与所取金额不一致;同一张卡取钱金额达到上限;网络异常;ATM机器分类(只存、只取、存取一体);取款金额非整数;取钱后查余额,数据没有更新或数据不符合实际。
  • 异常流程:由异常事件详细描述后所得。
  • 根据异常流程编写测试用例。

三、错误猜测法

根据测试人员的知识、经验,猜测问题可能会出现在哪一个模块或是功能点上,针对这一问题编写测试用例(适用于补充的测试用例)。

例如:查询界面输入“空格+内容”时,无法找到所需内容。

  • 原因:关键字于数据库内容无法匹配;
  • 解决方法:采用trim()方法。

http://www.kler.cn/a/5103.html

相关文章:

  • 2025年第三届“华数杯”国际赛A题解题思路与代码(Matlab版)
  • Web枚举:深入了解目标应用系统
  • 设计模式-结构型-组合模式
  • 功能篇:mybatis中实现缓存
  • arcgis的合并、相交、融合、裁剪、联合、标识操作的区别和使用
  • Openwrt @ rk3568平台 固件编译实践(二)- ledeWRT版本
  • Go工程基础知识
  • 论文阅读 | End-to-End Learning of Representations for Asynchronous Event-Based Data
  • Python轻量级Web框架Flask(2)——Flask模板渲染/Flask项目拆分
  • Intel Pin常用基础函数
  • Java设计模式-7、装饰器模式
  • 【华为OD机试真题JAVA】两个数和两数之和绝对值问题
  • BO OLAP 连接 HANA 先决条件
  • 【SSM】MyBatis(十一.MyBatis的高级映射和延迟加载)
  • 设计模式——装饰者模式
  • satellite.js库下载、介绍、安装、引用,返回函数的方法
  • chatgpt-retrieval-plugin:chatgpt检索插件简介
  • 读《刻意练习》后感,与原文好句摘抄
  • linux串口通信
  • 硬件语言Verilog HDL牛客刷题day04 序列检测部分
  • 线程安全、线程同步(同步代码块、同步方法、同步锁)
  • 【Linux】gcc/g++区别和联系
  • docker私有仓库,仓库管理器
  • 程序监控报警失败自动重启脚本
  • 【不同入参ajax请求】ajax请求接口入参form形式和body形式如何写前端代码(附源码详解)
  • Appium 自动化测试从入门到精通,零基础也能听懂