1、目的
明确覆盖率测试的重要性,确定覆盖率测试流程,规定覆盖率测试的要求及方法。
2、范围
用于编码控制流程中的覆盖率测试问题。
3、覆盖率测试的方法
3.1 覆盖率测试不仅要覆盖率达到100%,而且需要在达到的每一个地方,确认函数的功能是否正确。通常,我们在覆盖率达到的时候需要检查下列内容:1)该函数的功能是否正确2)该函数是否出现一些内存问题。
3.2 在功能测试之前完成覆盖率测试。
4、覆盖率测试的要求
4.1 自动化。
覆盖率测试的过程要做到自动化。
如果软件的功能发生变化,需要增补覆盖率的测试用例。在增补完之后,同样要做到自动化。
自动化的具体含义是:
a)自动化地执行。
b)自动化地判断对错。
4.2 可以重用
要保证覆盖率的测试用例在程序的维护过程中始终可以重用。
4.3 在编程序时进行
覆盖率的工作最好在编写函数的时候同时进行,或编写完一批函数之后立即进行。
这样做至少有下列好处:
a)经过覆盖率测试之后的函数,正确性得到一定的保证,当其他函数调用这些函数出现问题的时候,我们可以简单地首先认为错误在调用方,从而可以减少调试函数的复杂度。
b)刚刚编写完成的函数往往编程人员对于其细节记忆比较深刻,这个时候发现问题,修改的代价最少。
c)当大批量的函数开发出来之后,程序员面对自己制造出来的函数,如果要对他们进行覆盖率测试,往往产生难以逾越的心理障碍,小批量地逐步进行覆盖率测试不至于产生积众难返的问题。
4.4 根据函数的类型来进行有效地测试
一般来说,函数分为下列类型:
a)科学计算型
有一些比较复杂的科学计算。
b)数据型
函数是围绕大型或全程的数据结构的处理。
c)输入输出型
文件,数据库等接口io操作。
d)逻辑型
函数中存在比较复杂的逻辑关系。
e)初始化型
为后续的处理做一些准备的函数。
f)正文型
准备一些正文类型的信息的函数。
通常一个函数具有上述好几种特征,以最明显的特征来表征它们。
在进行覆盖率测试的时候,尤其需要注重对科学计算,数据,逻辑型的函数进行处理。