一.功能软件测试流程
1.功能软件测试流程大致分为:
(1).需求分析与评审
(2).测试计划与测试方案
(3).测试用例设计
(4).测试用例评审
(5).执行用例
(6).缺陷跟踪及 告产出
1.1 功能测试流程详解
(1).需求分析与评审
功能测试应从需求出发, 功能测试就是尽量覆盖用户需求, 使软件能够最大程度满足用户的需求. 在开始功能测试之前, 技术人员应一起进行需求评审, 明确需求, 避免需求出现问题, 导致后面开发, 测试在错误的基础上进行.
测试人员在需求评审过程中要:
(2).测试计划与测试方案
测试计划是指描述要进行测试活动的范围, 方法, 资源和进度的文档. 测试计划侧重在“计划”二字. 其核心内容包含但不限于以下:
测试方案是从技术的角度去分析需求, 在方向上明确要怎么测, 分析结果侧重点在于测试策略与技术实现. 测试方案侧重在“方案”二字, 其核心内容包含到不限于以下:
-
策略与方法
-
环境
-
工具的选择
(3).测试用例设计
测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包括:测试环境、操作步骤、测试数据、预期结果等要素。其实, 测试用例就是一份编写了要测哪些内容的文档. 测试用例表达要清楚, 无二义性; 用例可操作性强; 用例的输入与输出明确.用例是测试人员根据需求进行设计的, 设计方法有: 等价类划分法, 边界值法, 判定表法, 正交法, 场景法, 错误推测法, 基于需求设计.
(4).测试用例评审
测试用例评审是指, 测试人员设计好测试用例后, 需要进行评审, 检查用例设计是否合格, 是否能够最大程度上覆盖用户需求.
(5).执行用例
测试用例评审通过, 测试人员就可以根据测试用例对开发提交的代码进行测试了. 并将测试结果与用例中的预期结果进行对比, 并详细记录.
(6).缺陷跟踪及 告产出
缺陷跟踪, 是指测试未通过提交的Bug, 开发需要修复Bug, 再次提测. 测试人员要继续测试, 如果不通过还要再次提Bug, 知道测试通过. 这个过程就是缺陷跟踪. 最后产出 告.
二.测试的方法
1.等价类划分法
1.1等价类划分法的定义与分类:
定义: 等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果。
1.2.等价类划分法分类:
等价类划分可有两种不同的情况:有效等价类和无效等价类
有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类:与有效等价类的定义恰巧相反。
1.3.等价类划分法解决的问题
划分等价类可以将测试集合科学的从无穷大减少到有限小, 让测试工作从穷举测试中解放出来, 大大减少测试用例数量, 提升测试效率
1.4 等价类划分法设计测试用例步骤与应用场景
1.5 案例实战
有效等价类 | 有效数据 | 无效等价类 | 无效数据 |
---|---|---|---|
6-10位自然数 | 1234567 | 小于6位自然数 | 12345 |
大于10位自然数 | 12345678912 | ||
6-10位字母 | abcdefg | ||
6-10位汉子 | 你好我好他也好 | ||
6-10位符 | !@#$%^& | ||
不填写 | |||
重复输入 | 1234567 |
2.边界值法
2.1.边界值法的定义及存在的意义
1.定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
2.边界值法存在的意义:
测试经验表明错误往往会发生在输入或输出范围的边界上, 所以边界值法是对这些边界进行测试, 是对划分等价类法的一种补充.
3.与等价划分的区别
(1).边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
(2).边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
4.边界值的概念(如下图:)
– 上点: 边界上的点(符合条件的边界点)
– 内点: 边界内的点
– 离点: 离边界最近的左右两点
案例:
2.2两位数加法计算器案例
两位数取值范围 | 数学区间表示 | 上点 | 内点 | 离点 |
---|---|---|---|---|
x >= -99, y | [-99, 99] | -99, 99 | 20 | -100,-98, 98, 100 |
x > -99, y | (-99, 99] | -98, 99 | 10 | -99, -97, 98, 100 |
x >= -99, y | [-99, 99) | -99, 98 | 0 | -100, -98, 97, 99 |
x > -99, y | (-99, 99) | -98, 98 | 5 | -99, -97, 97, 99 |
3.判定表法
3.1判定表法定义及有点
定义:判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。
判定表的优点
能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。
在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。
3.2、判定表有几个要素:
(1).条件桩(Condition Stub):列出了问题得所有条件。通常认为列出的条件的次序无关紧要。
(2).动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
(3).条件项(Condition Entry):列出针对它左列条件的取值。在所有可能情况下的真假值。
(4).动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。
3.3 订单案例
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树高级教程类214512 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!