边界值分析(Boundary Value Analysis,BVA)和等价划分(Equivalence Partitioning,EP)是手动测试中的基本测试设计方法。
背景历史:
这些技术的出现旨在减少测试场景的冗余,并提高在较低工作量下发现缺陷的概率。等价划分允许将所有可能的输入数据划分为处理方式相同的组,而边界值则揭示了在区间边界上经常发生的错误。
问题:
应用这些技术的主要困难在于错误定义边界和划分。例如,测试人员可能错误地定义区间(例如,差错1)或未考虑隐含边界(例如,如果区间从1开始,0是否生效)。
解决方案:
为了有效应用,需要仔细阅读规范,清楚地定义期望的输入数据,并仔细标明闭合和开放边界。总是应该与分析师或开发者讨论有争议的情况。
关键特性:
如果等价类很多,是否需要测试所有的边界?
不,应该筛选出对业务最关键的(仅有效和无效的),而不应使测试矩阵过载。
边界值本身是否算在区间内?
这取决于任务的条件:如果区间是[1, 10],那么1和10在内;如果是(1, 10),则不在内。
这些技术可以应用于文本和字符串数据吗?
可以,例如,用于检查字符串的长度、允许的字符和空值。
测试人员在检查“年龄”(1-120)字段时,仅编写了20、50和100的测试用例。
优点:
缺点:
测试人员检查了所有边界:0、1、2、119、120、121,以及区间内的随机值。
优点:
缺点: