遇到输入组合的问题,可以采用正交分析表法,也称正交试验设计法解决。如果要设计全面的案例覆盖所有可能的因素组合情况,工作量将难以估计,这使全面测试的可能性变得很低。这时就需要考虑采取有代表性的因素组合,选取因素组合点,设计合理的测试案例。
正交设计仅是从全面测试中选取有代表性的组合点设计案例的数学方法。正交分析表法是研究处理多因素、多水平试验的一种科学方法。使试验点分布均匀,整齐可比,又能减少试验次数。
因素:对软件运行结果有影响的软件运行条件。一般指软件的输入以及其他软件运行的环境。这些因素可以通过需求分析说明书、概要设计、详细设计等文档进行分析获得。
水平:每一个因素可以处于不同的状态,即可以采用不同取值,这些取值就是因素的水平。
例如,操作型管理信息系统需要考虑机构级别,需要考虑机构内用户角色分级等。这里有两个因素:机构级别和用户角色。机构级别因素有四个水平:总行、一级分行、二级分行、支行。用户角色因素有三个水平:系统管理员、操作员和主管。
正交表:正交表是一整套规则的设计表格,例如L9(34),它表示需作9次实验,最多可观察4个因素,每个因素均为3水平。一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,如L8(4×24) 此表的5列中,有1列为4水平,4列为2水平。
正交表具有以下两项性质:
(1)每一列中,不同的数字出现的次数相等。
(2)任意两列中数字的排列方式齐全而且均衡。
即“均匀分散,整齐可比”。通俗的说,每个因素的每个水平与另一个因素各水平各碰一次,这就是正交性。
正交试验设计法的基本步骤:
1、确定因素。根据软件需求,找出对系统结果有影响的各种因素,并按照因素的重要性对因素做一个初步的排序。
2、确定因素的取值范围或集合。因素的取值范围指软件输入的取值范围或集合。对于连续变化的因素,要找出其允许变化的范围,对于离散型的因素,找出所有的取值。
3、确定每个因素的水平。对于连续的因素,采用取样的方法从中挑选出一定数量点作为因素的水平,对于离散型的因素,其所有取值就是该因素的水平。根据因素的取值范围或集合,采用等价类划分法、边界值分析以及其他软件测试技术,在每个因素的取值范围或集合内挑选有效等价类、无效等价类、边界值等有代表性的测试点。对于用下拉框进行输入的字段,下拉框的所有取值构成了该因素的水平集合。
4、选择正交表。根据确定的因素和水平个数,选择合适的正交表。合适的正交表必须满足下面的条件:
①正交表的数码数与所确定的水平数完全一致。
②正交表的列数要大于或等于所确定的因素数。
③试验次数在可接受的范围内。
若试验条件允许或试验精度要求很高,则应尽量选择试验次数多的正交表;若试验次数受限制或没有合适的正交表,则应采用一个简便且可行的方法,即适当修改原定的因素和水平个数;对于混合水平的试验,如果有现成的混合水平正交表可用则直接套用,否则,采用拟水平法将其转化为另一个混合水平的正交试验或等水平正交试验。
5、设计测试用例。将所确定的因素与正交表中的列号对应,将所确定的水平与正交表中的数码数对应,填写正交表,增加期望值列。填写完成的正交表即可对应生成测试案例,正交表中每一行生成一个案例。
利用正交表设计测试案例举例:
在某应用系统中,系统登录界面如图所示:

用户名”、“密码”2个文本输入框,“确定”、“取消”2个按钮。
1、确定因素。4个因素“服务器”、“端口”、“用户名”、“密码”。
2、确定因素的取值范围和组合。本例中需求说明如下:
①“服务器”-北京、上海、广州、沈阳、兰州。
②“端口”-1258、2368、4588、6677、7788
③“用户名”字符型字段,长度(4,10),张三是一个合法用户;“密码”字符型字段,长度(6,10),888888是该用户的初始密码。
3、确定每个因素的水平。服务器和端口这两个因素取值是离散的,其水平值与因素的取值一致。用户名和密码两个字段由用户键盘输入,需要用等价类划分法和边界值法来确定。

4、选择正交表。根据本例因素水平选择正交表L25(56)中的前4列作为测试用例设计表。
L25(56)

5、设计测试用例。将因素水平对应正交表中的数码进行替换即可得到测试用例。

表中所示为替换了每个因素第一个水平的状态,依次替换各个因素的所有水平,最后填写各个组合的预期结果,即可完成测试案例的设计。


功能测试数据测试之正交分解相关推荐

  1. 功能测试数据测试之等价类划分

    定义 等价类划分法是把所有可能的输入数据,即程序的数据数据集合划分成若干个子集(即等价类),然后从每一等价类中选取有代表意义的数据作为测试用例. 划分等价类 进行等价类划分一般分两个步骤: 分类和抽象 ...

  2. 功能测试数据测试之边界值测试方法

    定义 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界. 与等价划分的区别 边界值分析不是从某等价类中 ...

  3. 功能自动化测试之QTP录制脚本(一)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/1 ...

  4. 功能自动化测试之QTP增强测试脚本(二)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/1 ...

  5. MT9818DEMO功能测试数据记录

    其他版本的DEMO测试方法基本一致,可参考该文章的数据.文档为原始数据,没有做整理,望各位不要嫌弃! 2021.11.23版本MT9818DEMO板调试 程序版本 20211123MT9818_Dem ...

  6. 论文: 基于智能优化算法的测试数据生成综述

    缘由: 最近一直在看智能算法,然后进行了在测试函数上的实验,遇到问题. (1)测试函数 不是现实的问题,单纯的在测试函数 上进行一遍遍的比较,看不到具体的用途, 他的结果在我看来反应的 只是一个指标值 ...

  7. 测试知识整理——基础篇

    1.软件的概念--程序+数据+文档=软件 1)运行时,能够提供所要求功能和性能的指令或计算机程序集合. 2)程序能够满意地处理信息的数据结构. 3)描述程序功能需求以及程序如何操作和使用所要求的文档. ...

  8. 通过软件测试周期说明不同测试的使用情况!

    1.需求阶段 需求测试--软件测试时由代码完成后开始的,事实上应从软件的需求定义开始. 需求测试贯穿整个软件开发周期,通过需求测试可指导软件测试的各个阶段,它可以帮助我们在设计整个测试的进行,测试计划 ...

  9. 像postman上传文件_90%的测试工程师是这样使用Postman做接口测试的……

    postman介绍&测试准备 postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便. 前期准备:测试前,需要安装好postman, ...

最新文章

  1. 【Arduino基础教程】FSR402力敏电阻器
  2. 我的Dll(动态链接库)学习笔记
  3. 工程师进阶之路(二)
  4. 正则表达式--python的re模块
  5. php dvld.active 1,PHP的字符串
  6. Android逆向笔记-某水果大作战内购破解思路
  7. debian10树莓派4安装mysql_树莓派 4 发布!新 OS 基于 Debian 10 Buster
  8. 【分享】费曼技巧---以教促学
  9. react项目中遇到的坑
  10. 数字孪生 工业互联网 IIoT 解决方案
  11. 用python完成最基础ems项目
  12. 招聘网站分析-智联招聘网的爬虫设计与实现
  13. 三相MMC并网逆变器/模块化多电平变换器/相间环流抑制/子模块电容电压均衡/载波移相调制
  14. SVN插件 for VS--VisualSVN
  15. 单位网站老是被劫持跳转到菠菜网站怎么办
  16. mysql utf8mb4 emoji_mysql utf8mb4与emoji表情[转]
  17. 最好的.NetCore代码生成器
  18. 华为交换机 以太网链路捆绑实验
  19. 搭建一个nodejs项目 使用express
  20. mac计算机怎么算,Mac系统默认计算器使用大全

热门文章

  1. 2021年电工(中级)考试题及电工(中级)最新解析
  2. 播放ASF文件无声音
  3. [高等数学] 速查——等价无穷小替换公式 及 无穷小比阶
  4. 【C# / Algorithm】输出任意阶回旋矩阵
  5. 关于elementUI下拉框value和label问题
  6. pure pure heart 歌词
  7. 京东JData算法大赛高潜用户购买意向预测——复现(并没有),提供数据集
  8. Mini Sap傻瓜安装
  9. 西门子串口通讯05-CP441-2在Step7环境中做Modbus主站通讯
  10. CTF-2 了不起的盖茨比