在应聘Tester时,常常会被问到这样的问题:如果给你一个xx你怎么测?
这个问题很笼统,不过目的很明确,就是想知道你从那些方面入手来展开测试,我们自然就想到了功能测试,UI测试,压力测试等等。接着我就很好奇的想知道这些测试都是什么玩意,都做什么。一个一个来学习吧。
首先从功能测试开始,将《Software Testing》翻到功能性测试,一看,功能性测试还有几个子的分类或者说是测试策略。One by one,首先来看看 边界值测试。
边界值测试
-
基本思想:关注输入空间的边界,错误更可能出现在输入变量的极值附近。
-
输入值: 最小值,略高于最小值,正常值,略低于最大值,最大值。
-
测试策略:基于“单缺陷”假设,即失效极少是由于两个或是多个缺陷的同时发生引起的。
-
局限:如果被测程序是多个独立变量的函数,而且这些变量受物理量的限制,则十分适合边界值测试,否则变量之间存在有意思的依赖关系则不适宜用边界值分析。
Note! 边界值分析的测试假设变量时完全独立的。
-
扩展:
A. 健壮性测试:测试超过极值时系统的表现。
B. 最坏情况的测试: 关心多个变量取极值时会出现什么情况。
等价类测试
-
使用等价类测试的动机:
A.进行完备的测试。
B. 避免冗余。
-
等价类:就是集合的划分,也即一组子集。
A. 划分的并集是整个集合,故完备。
B. 划分互不相交,无冗余。
-
等价类测试的思想: 通过每个等价类中的一个元素标示测试用例
-
关键:选择确定类的等价关系。
-
具体分类:
A. 弱一般等价类测试: 基于单缺陷假设。
B. 强一般等价类测试: 基于多缺陷假设。
C. 弱健壮等价类测试: 单缺陷 + 无效值。
D. 强健壮等价类测试: 多缺陷 + 无效值。