欢迎来到天天文库
浏览记录
ID:42067770
大小:121.66 KB
页数:10页
时间:2019-09-07
《软件测试Correct边界条件》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Correct边界条件代码中的许多Bug都出现在“边界条件”附近,也就是说,在那些条件下,代码的行为可能不同于平常的、每天都能运行到的程序路径。例如,假设你有个接收两个整数的函数:publieintcalculate(inta.,intb){returna/(a+b);人多数时候,代码会返冋你所期望的值。但是如果a和b的总和正好为零,则将会得到ArithMcticExccption异常,而不是期望的返回值。这就是边界条件一在这种条件下代码可能会突然出错,至少不像你所期望的那样运行。我们用首字母缩略词CORRECT來帮助你考虑要如何测试哪些边界条件。•一
2、致性(Conformance)—值是否符合预期的格式?•有序性(Ordering)一一纟R值是该有序的,还是该无序的?•区间性(Range)—值是否在一个合理的最大值和最小值的范围•引用,耦合性(Reference)—代码是否引用了一些不受代码本身直接控制的外部因素?•存在性(Existence)—值是否存在(例如,非null,非零,包含于某个集合等)?•基数性(Cardinality)—是否恰好有足够的值?•时间性,绝对的或者相对的(Time)—所有事悄是否都是按顺序发生的?是否在正确的时间?是否及时?下面让我们按顺序逐一来查看这些边界条件。请记住,
3、在考虑上面的每一个方面吋,你都需要同时考虑传入方法作为实参的数据和由方法或者类所维护的内部数据。你需要好好回答的根本问题就是:还有什么会出错一旦你想到有什么可能会出错,就写一个针对■它的测试。当测试通过之后,再问自己“还冇什么会出错?”然后再写一个测试,如此往复。5.1一致性很多时候,你所期望的或产生的数据必须符合某种特定的格式。比如一个e-mail地址并不仅仅是一个简单的字符串。你期望e-mail地址是这样的格式:namc@somcwhcrc.com可能还会冇一些附加的用点(.)隔开的部分:firstname.lastname@subdomain.s
4、omewhere,com甚至还有如下更为少见的格式firsmame・lasmame%somewhere@subdomain・somewhere・com假设你正在写一个程序,这个程序可以把用户的名字从e-mail地址中抽取出来。你会期望用八的名字就是符号@前血的那部分。但是,如果没有@这个标志,你的代码将会怎么处理呢?代码还能工作吗?抛出一个异常吗?这是否也是一个你需要考虑的边界条件呢?验证诸如"e-mail地址、电话号码、账号和文件名”等格式化数据通常都是简单明了的。但是对于结构相对复杂的数据乂该怎么处理呢?假设你正在阅读某一类报告数据,其中包括一个头
5、部记录,这个头部记录链接到了一些数据记录,最示是尾部记录。我们需要测试多少Correct边界条件代码中的许多Bug都出现在“边界条件”附近,也就是说,在那些条件下,代码的行为可能不同于平常的、每天都能运行到的程序路径。例如,假设你有个接收两个整数的函数:publieintcalculate(inta.,intb){returna/(a+b);人多数时候,代码会返冋你所期望的值。但是如果a和b的总和正好为零,则将会得到ArithMcticExccption异常,而不是期望的返回值。这就是边界条件一在这种条件下代码可能会突然出错,至少不像你所期望的那样运行
6、。我们用首字母缩略词CORRECT來帮助你考虑要如何测试哪些边界条件。•一致性(Conformance)—值是否符合预期的格式?•有序性(Ordering)一一纟R值是该有序的,还是该无序的?•区间性(Range)—值是否在一个合理的最大值和最小值的范围•引用,耦合性(Reference)—代码是否引用了一些不受代码本身直接控制的外部因素?•存在性(Existence)—值是否存在(例如,非null,非零,包含于某个集合等)?•基数性(Cardinality)—是否恰好有足够的值?•时间性,绝对的或者相对的(Time)—所有事悄是否都是按顺序发生的?是
7、否在正确的时间?是否及时?下面让我们按顺序逐一来查看这些边界条件。请记住,在考虑上面的每一个方面吋,你都需要同时考虑传入方法作为实参的数据和由方法或者类所维护的内部数据。你需要好好回答的根本问题就是:还有什么会出错一旦你想到有什么可能会出错,就写一个针对■它的测试。当测试通过之后,再问自己“还冇什么会出错?”然后再写一个测试,如此往复。5.1一致性很多时候,你所期望的或产生的数据必须符合某种特定的格式。比如一个e-mail地址并不仅仅是一个简单的字符串。你期望e-mail地址是这样的格式:namc@somcwhcrc.com可能还会冇一些附加的用点(.
8、)隔开的部分:firstname.lastname@subdomain.somewhere,c
此文档下载收益归作者所有