前言🏆 没有哪一种风格可以定义我,年轻的灵魂需要千姿百态 🏆
【软件测试】理论知识基础第二章
一、解决穷举测试点覆盖问题
(1)等价类划分法
1️⃣ 等价类划分法说明
- 在所有测试数据中,具有某种共同特征的数据集合进行划分;(等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可)
2️⃣ 等价类划分法分类:
- 有效等价类:满足需求的数据集合;
- 无效等价类:不满足需求的数据集合;
3️⃣ 等价类划分法步骤:
- 明确需求;
- 确定有效等价类和⽆效等价类;
- 提取数据编写⽤例;
(2)案例1:验证QQ账户的合法性
🔥要求🔥:验证6~10位⾃然数的QQ合法性;
(3)案例2:验证某城市电话号码正确性
🔥要求🔥:
- 区号:空或者是三位数字;
- 前缀码:非 “0” 且非 “1” 开头的三位数字;
- 后缀码:四位数字;
(4)等价类划分法总结
1️⃣ 针对:需要有⼤量数据测试输⼊,但是没法穷举测试的地⽅;
2️⃣ 使用场景:输⼊框、下拉列表、单选复选框;
3️⃣ 典型代表:页面的输⼊框类测试;
二、解决边界限制测试点覆盖问题
(1)边界值分析法
1️⃣ 边界范围节点:选取正好等于、刚好大于、刚好小于边界的值作为测试数据;
- 上点:边界上的点(正好等于);
- 离点:距离上点最近的点(刚好大于、刚好小于);
- 内点:范围内的点(区间范围内的数据);
2️⃣ 边界值分析法步骤:
- 明确需求;
- 确定有效等价类和⽆效等价类;
- 确定边界范围;
- 提取数据编写⽤例;
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️⃣ 判定表法设计用例步骤:
- 明确需求;
- 列出条件桩和动作桩,填写条件项,对条件进⾏全组合,根据条件项的组合确定动作项;
- 分析生成的组合规则,对相似规则进行合并简化(合并简化有风险需谨慎,当时间紧张,内部逻辑结构一致的时候,可以考虑合并);
- 根据规则编写测试⽤例;
(2)案例1:订购单检查
🔥要求🔥
- 如果金额大于500元,又未过期,则发出批准单和提货单;
- 如果金额大于500元,但过期了,则不发批准单和提货单;
- 如果金额小于等于500元,则不论是否过期都发出批准单和提货单;
- 在过期的情况下不论金额大小还需要发出通知单;
(3)案例2:文件修改规则
🔥要求🔥
- 输入的第一列字符必须是A或者B;
- 第二列字符必须是一个数字;
- 如果第一列字符不正确,则给出信息L;
- 如果第二列字符不正确,则给出信息M;
- 如果两列字符输入正确,则修改文件成功;
(4)判定表法总结
1️⃣ 使用场景:有多个输入条件,多个输出结果,输入条件之间有组合关系、输入条件和输出结果之间有依赖(制约)关系;
2️⃣ 判定表⼀般适⽤于条件组合数量较少的情况(比如4个条件以下);
3️⃣ 如果碰到项⽬中多条件组合⼤于4个相互依赖,可以使⽤(正交表和因果图来实现);
四、解决项目业务场景测试点覆盖问题(重点)
(1)场景法
1️⃣ 场景法概述
- 场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程;
2️⃣ 当拿到一个测试任务时,我们并不是先关注某个控件的边界值、等价类是否满足要求,而是先要关注它的主要功能和业务流程是否正确实现,这就需要使用场景法来完成测试。当业务流程测试没有问题,也就是该软件的主要功能没有问题时,我们再重点从边界值、等价类等方面对控件进行测试;
3️⃣ 场景法中两个重要的概念:
- 基本流:按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程);
- 备选流 :导致程序出现错误的操作流程(模拟错误的操作流程);
4️⃣ 😆温馨提醒😆:在冒烟测试时也主要采用场景法进行测试;
(2)流程分析法
1️⃣ 流程分析法的概念
- 流程分析法主要是针对测试场景类型,属于流程测试场景的测试项子项进行设计,是从白盒测试设计方法中的路径覆盖分析法借鉴过来的一种方法。
2️⃣ 流程分析法的优点
- 降低了测试用例设计难度,只要搞清楚各种流程,就可以设计出高质量的测试用例来,而不需要太多测试方面的经验;
- 在测试时间较紧迫的情况下,可以有的放矢的选择测试用例,而不用完全根据经验来取舍;
3️⃣ 流程分析法的步骤
- 详细了解需求;
- 根据需求说明或界面原型,找出业务流程的各个页面以及各页面之间的流转关系;
- 画出业务流程(产品经理使用Axure软件制作);
- 写用例覆盖所有的路径分支;
4️⃣ 😆练习流程图⼯具😆:
- 网页版工具:免费在线流程图思维导图;
- Windows工具:visio;
(3)ATM机取款流程
🔥要求🔥:使用ATM机取款正常流程;
😃流程图😃:
五、错误推荐法
1️⃣ 错误推荐法的定义
- 错误推测法是指利用直觉和经验猜测出出错的可能类型,有针对性列举出程序中所有可能的错误和容易发生错误的情况,它是测试经验丰富的测试人员喜欢使用的一种测试用例设计方法;
2️⃣ 错误推荐法的基本思想
- 基本思想是列举出可能犯的错误或错误易发生的清单,然后根据清单编写测试用例;这种方法很大程度上是凭经验进行的,即凭人们对过去所作测试结果的分析,对所揭示缺陷的规律性作直觉的推测来发现缺陷;
3️⃣ 错误推荐法的使用场景:
- 时间紧任务量大时,根据之前项目类似经验找出易出错的模块重点测试;
- 时间宽裕时通过该方法列出之前出现问题较多的模块再次测试;
六、总结
😝 我会坚持一直更新呢!喜欢的朋友们记得点点赞哦!有问题的小伙伴可以在下面评论区留言哦! 😝
版权归原作者 battledao eternity 所有, 如有侵权,请联系我们删除。