【软件测试】理论知识基础第二章

前言🏆 没有哪一种风格可以定义我,年轻的灵魂需要千姿百态 🏆

一、解决穷举测试点覆盖问题

(1)等价类划分法

1️⃣ 等价类划分法说明

  • 在所有测试数据中,具有某种共同特征的数据集合进行划分;(等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可)

2️⃣ 等价类划分法分类:

  • 有效等价类:满足需求的数据集合;
  • 无效等价类:不满足需求的数据集合;

3️⃣ 等价类划分法步骤:

  1. 明确需求;
  2. 确定有效等价类和⽆效等价类;
  3. 提取数据编写⽤例;

(2)案例1:验证QQ账户的合法性

🔥要求🔥:验证6~10位⾃然数的QQ合法性;

(3)案例2:验证某城市电话号码正确性

🔥要求🔥:

  1. 区号:空或者是三位数字;
  2. 前缀码:非 “0” 且非 “1” 开头的三位数字;
  3. 后缀码:四位数字;

(4)等价类划分法总结

1️⃣ 针对:需要有⼤量数据测试输⼊,但是没法穷举测试的地⽅;

2️⃣ 使用场景:输⼊框、下拉列表、单选复选框;

3️⃣ 典型代表:页面的输⼊框类测试;


二、解决边界限制测试点覆盖问题

(1)边界值分析法

1️⃣ 边界范围节点:选取正好等于、刚好大于、刚好小于边界的值作为测试数据;

  • 上点:边界上的点(正好等于);
  • 离点:距离上点最近的点(刚好大于、刚好小于);
  • 内点:范围内的点(区间范围内的数据);

2️⃣ 边界值分析法步骤:

  1. 明确需求;
  2. 确定有效等价类和⽆效等价类;
  3. 确定边界范围;
  4. 提取数据编写⽤例;

3️⃣ 😆温馨提醒(1)😆:边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类);

4️⃣ 😆温馨提醒(2)😆:有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,也是测试人员重点测试的内容;

(2)案例1:通过边界值法验证标题长度的合法性

🔥要求🔥:标题长度大于0,小于等于30个字符;

(3)案例2:通过边界值法验证QQ号码的合法性

🔥要求🔥:6~10位⾃然数

(4)案例优化

1️⃣ 优化(7点优化5点):

  • 重点:开内闭外(开区间选包含的点,闭区选不包含的点);
  • 开区间:不包含边界上的点(没有等号)如:a<10;
  • 闭区间:包含边界上的点(有等号)如:a<=10;

2️⃣ 优化策略:

  • 结论:7个优化为5个点;
  • 上点:必选(不考虑区间开闭);
  • 内点:必选(建议选择中间范围);
  • 离点:开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点);

(5)边界值分析法总结

1️⃣ 使用场景:在等价类的基础上针对有边界范围的测试数据输⼊的地⽅(重点关注边界);

2️⃣ 常⻅词语描述:⼤⼩、尺⼨、重量、最⼤、最⼩、⾄多、⾄少等修饰词语;

3️⃣ 典型代表:有边界范围的输⼊框类测试;

4️⃣ 常见边界值:

  • 文本框接收字符个数,比如用户名长度,密码长度等;
  • 报表的第1行和最后1行;
  • 数值元素的第1个和最后1个;
  • 循环的第1次、2次和倒数第1次、2次;

三、解决多条件组合依赖测试点覆盖问题

(1)判定表法

1️⃣ 判定表法的定义

  • 是一种以表格形式表达多条件逻辑判断的工具;

2️⃣ 判定表法的组成:

  • 条件桩:列出问题中的所有条件,列出条件的次序无关紧要;
  • 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束;
  • 条件项:列出条件对应的取值,在所有可能情况下的真假值;
  • 动作项:列出条件项的、各种取值情况下应该采取的动作结果;

3️⃣ 判定表法的规则:

  • 判定表中贯穿条件项和动作项的一列就是一条规则;
  • 假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则;

4️⃣ 判定表法设计用例步骤:

  1. 明确需求;
  2. 列出条件桩和动作桩,填写条件项,对条件进⾏全组合,根据条件项的组合确定动作项;
  3. 分析生成的组合规则,对相似规则进行合并简化(合并简化有风险需谨慎,当时间紧张,内部逻辑结构一致的时候,可以考虑合并);
  4. 根据规则编写测试⽤例;

(2)案例1:订购单检查

🔥要求🔥

  1. 如果金额大于500元,又未过期,则发出批准单和提货单;
  2. 如果金额大于500元,但过期了,则不发批准单和提货单;
  3. 如果金额小于等于500元,则不论是否过期都发出批准单和提货单;
  4. 在过期的情况下不论金额大小还需要发出通知单;

(3)案例2:文件修改规则

🔥要求🔥

  1. 输入的第一列字符必须是A或者B;
  2. 第二列字符必须是一个数字;
  3. 如果第一列字符不正确,则给出信息L;
  4. 如果第二列字符不正确,则给出信息M;
  5. 如果两列字符输入正确,则修改文件成功;

(4)判定表法总结

1️⃣ 使用场景:有多个输入条件,多个输出结果,输入条件之间有组合关系、输入条件和输出结果之间有依赖(制约)关系;

2️⃣ 判定表⼀般适⽤于条件组合数量较少的情况(比如4个条件以下);

3️⃣ 如果碰到项⽬中多条件组合⼤于4个相互依赖,可以使⽤(正交表和因果图来实现);


四、解决项目业务场景测试点覆盖问题(重点)

(1)场景法

1️⃣ 场景法概述

  • 场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程;

2️⃣ 当拿到一个测试任务时,我们并不是先关注某个控件的边界值、等价类是否满足要求,而是先要关注它的主要功能和业务流程是否正确实现,这就需要使用场景法来完成测试。当业务流程测试没有问题,也就是该软件的主要功能没有问题时,我们再重点从边界值、等价类等方面对控件进行测试;

3️⃣ 场景法中两个重要的概念:

  • 基本流:按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程);
  • 备选流 :导致程序出现错误的操作流程(模拟错误的操作流程);

4️⃣ 😆温馨提醒😆:在冒烟测试时也主要采用场景法进行测试;

(2)流程分析法

1️⃣ 流程分析法的概念

  • 流程分析法主要是针对测试场景类型,属于流程测试场景的测试项子项进行设计,是从白盒测试设计方法中的路径覆盖分析法借鉴过来的一种方法。

2️⃣ 流程分析法的优点

  • 降低了测试用例设计难度,只要搞清楚各种流程,就可以设计出高质量的测试用例来,而不需要太多测试方面的经验;
  • 在测试时间较紧迫的情况下,可以有的放矢的选择测试用例,而不用完全根据经验来取舍;

3️⃣ 流程分析法的步骤

  • 详细了解需求;
  • 根据需求说明或界面原型,找出业务流程的各个页面以及各页面之间的流转关系;
  • 画出业务流程(产品经理使用Axure软件制作);
  • 写用例覆盖所有的路径分支;

4️⃣ 😆练习流程图⼯具😆:

(3)ATM机取款流程

🔥要求🔥:使用ATM机取款正常流程;

😃流程图😃:
在这里插入图片描述
在这里插入图片描述


五、错误推荐法

1️⃣ 错误推荐法的定义

  • 错误推测法是指利用直觉和经验猜测出出错的可能类型,有针对性列举出程序中所有可能的错误和容易发生错误的情况,它是测试经验丰富的测试人员喜欢使用的一种测试用例设计方法;

2️⃣ 错误推荐法的基本思想

  • 基本思想是列举出可能犯的错误或错误易发生的清单,然后根据清单编写测试用例;这种方法很大程度上是凭经验进行的,即凭人们对过去所作测试结果的分析,对所揭示缺陷的规律性作直觉的推测来发现缺陷;

3️⃣ 错误推荐法的使用场景:

  • 时间紧任务量大时,根据之前项目类似经验找出易出错的模块重点测试;
  • 时间宽裕时通过该方法列出之前出现问题较多的模块再次测试;

六、总结

😝 我会坚持一直更新呢!喜欢的朋友们记得点点赞哦!有问题的小伙伴可以在下面评论区留言哦! 😝

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

battledao eternity

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值