软件测试高频面试题“黑盒测试之正交试验法”案例剖析与实践应用

简介: 软件测试高频面试题“黑盒测试之正交试验法”案例剖析与实践应用

   今天一位老学员面试遇到面试官问“正交试验法"一问题,他说不太理解是什么意思,自己也通过百度查找正交试验法相关资料进行科普,发现还是看不懂,最终一脸懵逼,恰巧借此机会给大家科普一下黑盒测试之正交试验法的来龙去脉。


一、什么是正交试验法?


   正交一般使用表格来设计测试用例,主要是通过表格中的用例进行统计、分析、比较,找出用例中存在冗余或者重复的用例数量。以便通过正交试验法来减少测试用例数量,选择部分具有代表性的数据进行抽样检查从而提升测试工作效率的一种方法。


   例如:公司本期迭代共了2000个用例,测试时间仅3天,因为需要通过QA/UAT/Prd环境的测试,故需要从中挑选部分具有代码性的用例来做回归测试,以便节省测试时间提升工作效率,这就可以使用正交试验法来实施测试。


二、为什么要学习正交试验法?


   由于软件功能的复杂多样化,会受到很多因素的影响,为了证明测试结果符合预期结果,因为功能条件组合情况太多,因采取正交试验法来抽样提取测试用例,选择几种具有代表性的样例进行测试。


   单纯依据等价类、边界值、因果图用例设计方法来设计测试用例,会使得用例库数量非常庞大,最终导致测试用例数量大得惊人,给测试执行人员带来工作负担,为了提升测试用例的有效性,需要从庞大的用例库中选择一些具有代码性的用例使用正交试验法来设计测试用例,消除用例的冗余,以便快速高效提升测试工作效率。


三、什么场景下会使用正交试验法?


   正交试试法是一种多条件与值的抽样设计方法。  

   从满足条件的抽样案例中选择一批具有代表性的用例进行测试,这些用例具备一定的特点,首先具有相似功能性的用例仅获取一部分满足条件的数据使用正交试验法来设计正交表。


   正交试验法可根据条件与值查找对应的正交表,设计成Excel表格,从中挑选部分具有代码性的用例来执行测试,发现问题,主要目的为了提升测试工作效率,以少的用例覆盖更多的功能点,如果不采用这种方法来执行测试,因为时间、人力资源有限我们无法在有限的时间内完成执行测试工作,故使用正交试验法就解决了此问题。


1) 正交试验法用例设计操作步骤如下:

1、选择因子及水平数;

2、设计正交表;

3、列出抽样试验证测试用例数;


2) 实践案例详解一:

实例:大学计算机系共2个班级,考试课程通过“Sex”、“Class”和“Grade”这三个查询条件对计算机课程的成绩分布,男女比例或班级比例进行人员查询:

1.条件一:根据“Sex”=“男,女”查询

2.条件二:根据“Class”=“202班,203班”查询

3.条件三:根据“Grade”=“及格,不及格”查询


3) 传统用例测试方法

基于上述测试需求分析,存在3个被测元素,被测元素我们称为因子,每个因子有两个取值,我们称之为水平(也就是2)。2^3

传统用例设计方法:则如下(2的3次方=8次);

测试用例表格设计如下图所示:

640.png

正交试验法优化后用例设计如下图所示:

640.png

案例详解2:

有些电商软件基于不同地区的不同用户开展业务,不同地区的不同单价差异化较大,大家都知道全国的省市区包括同一个省又分不同的市商品价值存在差异化,但是我们测试人员不可能将所有的地区场景用例一个个覆盖到,那么学会了正交试验法就能帮助我们解决此问题。


总结:以上内容就是我今天与大家分享的知识点,希望同学们都有所收获。


正交试验证法仅仅是测试用例中的一种设计方法,此方法应用场景基于公司业务的不同而衍生,一般基于电商平台应用场景相对较多,所以希望同学们能够好好掌握以便能够实践应用。

相关文章
|
9月前
|
监控 安全 Shell
管道符在渗透测试与网络安全中的全面应用指南
管道符是渗透测试与网络安全中的关键工具,既可用于高效系统管理,也可能被攻击者利用实施命令注入、权限提升、数据外泄等攻击。本文全面解析管道符的基础原理、实战应用与防御策略,涵盖Windows与Linux系统差异、攻击技术示例及检测手段,帮助安全人员掌握其利用方式与防护措施,提升系统安全性。
403 6
|
8月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
1067 11
|
9月前
|
机器学习/深度学习 存储 分布式计算
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证(211)
本文探讨了Java大数据与机器学习模型在金融风险压力测试中的创新应用。通过多源数据采集、模型构建与优化,结合随机森林、LSTM等算法,实现信用风险动态评估、市场极端场景模拟与操作风险预警。案例分析展示了花旗银行与蚂蚁集团的智能风控实践,验证了技术在提升风险识别效率与降低金融风险损失方面的显著成效。
|
9月前
|
人工智能 IDE 测试技术
Browser-Use在UI自动化测试中的应用
Browser-Use是一款浏览器自动化工具,具备视觉与HTML解析、多标签管理、操作记录与复现、自定义操作、自我纠正及并行执行等功能,助力AI智能体高效完成网页任务。
1332 0
|
12月前
|
测试技术 数据库 Python
解释测试中setup和teardown函数的应用。
总结起来,`setup`和 `teardown`函数就像扔宴会的主人,他们保障了宴会的流畅进行。他们是准备环境和清理现场的重要工作人员,他们的工作直接影响着我们的测试效率和质量。我们可以把 `setup`和 `teardown`想象成隐藏在幕后,默默为我们服务的工作者,他们做着我们需要但是往往忽视的工作。所以,下次当你写测试的时候,别忘了给你的 `setup`和 `teardown`留出足够的位置,因为他们的作用可能是你成功的保证。
289 14
|
11月前
|
缓存 NoSQL Java
校招 Java 面试常见知识点及实战案例全解析
本文全面解析了Java校招面试中的常见知识点,涵盖Java新特性(如Lambda表达式、、Optional类)、集合框架高级应用(线程安全集合、Map性能优化)、多线程与并发编程(线程池配置)、JVM性能调优(内存溢出排查、垃圾回收器选择)、Spring与微服务实战(Spring Boot自动配置)、数据库与ORM框架(MyBatis高级用法、索引优化)、分布式系统(分布式事务、缓存应用)、性能优化(接口优化、高并发限流)、单元测试与代码质量(JUnit 5、Mockito、JaCoCo)以及项目实战案例(电商秒杀系统、社交消息推送)。资源地址: [https://pan.quark.cn/s
306 4
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
421 4

热门文章

最新文章