边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。根据大量的测试统计数据,很多错误是发生在输入或输出范围的边界上,而不是发生在输入/输出范围的中间区域。因此针对各种边界情况设计测试用例,可以查出更多的错误。
边界值分析法
边界值分析不是从某等价类中随便挑一个典型值或者任意值作为测试数据,而是着重测试已划分出的等价类的每个边界,选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据。也就是边界值方法中常说的边界5点,即上点、内点和离点。
(1)上点:是指边界上的点,如果域的边界是闭区间的,上点就是在域范围内,如果是开区间的话,上点就是在域范围外。
(2)离点:是指离上点最近的点,如果域的边界是是开区间,那么离点就在范围域内,如果是闭区间,那么离点就在域范围外。
(3)内点:域内的任意一个点都是内点。
举例说明边界值中上点、离点、内点的取值。如下:
(1)区间为正整数值域[66,88],上点就是66,88,并且都是在域范围内。内点就是域内得任意点,离点是65,89。
(2)区间为正整数值域(66,88],这种情况上点是66,88,其中一个是域内,一个是域外,内点就是域内的任意点,离点是:67,89。
(3)区间为正整数值域(66,88),这样的情况上点还是66,88,只是都是在域外,内点还是域内的任意点,离点此时为:67,87。
再做进一步说明,如下:
(1)上点、离点的确定和这个域的边界是开区间还是闭区间有关,不论边界是开区间还是闭区间,上点和离点总有一个在域范围内,一个在域范围外。如边界是开区间,上点在域范围内,离点在域范围外,如果是闭区间,则相反。
(2)上点、离点的选择还和区间的数据类型有关。如果是整数,可以通过在上点的基础上加1或者减1确定离点。如果是实数,可以人为设置一个精度,在这个精度下选择一个最靠近的点。
(3)总结。不论是开区间还是闭区间,上点就是边界值。离点是在闭区间下,上点取值减去1或者人为设置的精度。如果是开区间,上点取值是加1或者人为设置的精度。内点就是域范围内的任意一个点。
边界值使用场景
下面根据不同场景的输入或输出条件下,基于边界值分析方法选择测试用例的原则如下:
(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值以及刚刚超越这个范围边界的值作为测试输入数据。例如,如果程序的规格说明中规定:"重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……"。考虑重量是实数,设置精度为0.01,则边界取值为10、50(上点),9.99、50.01(离点),10.01(内点)。
(2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。例如,一个输入文件应包括1~255个记录,因为取值个数是整数,所以边界值取值为1、255(上点),0、256(离点),126(内点)。
(3)将规则(1)和(2)应用于输出域,即设计测试用例使输出值达到边界值及其左右的值。例如,某程序的规格说明要求计算出“每月保险金扣除额为0至1165.25元",则边界取值为可0.00、1165.25(上点),0.01、1165.26(离点),1165.24(内点)。
(4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
(5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
(6)分析规格说明,找出其它可能的边界条件。
网友评论