验证

即使是最优的验证,程序也不可能达到⼗全⼗美,这⾥列出了⼀般情况下程序的 剩 余 缺 陷 率 residual defect rates(软 件发⾏时存在的bug⽐率) ,这⾥的单位是每 kloc (每⼀千⾏代码):
1 - 10 defects/kloc: 常⻅的⼯业级软件。

0.1 - 1 defects/kloc: ⾼质量验证后的软件。例如Java的官⽅库可能就是这个级别。

0.01 - 0.1 defects/kloc: 最⾼级别、军⼯/安全关键软件。

测试优先编程(Test-first Programming)

在测试优先编程中,测试程序先于代码完成。编写⼀个函数应该按如下步骤进⾏:
1. 为函数写⼀个规格说明。

2. 为上⼀步的规格说明写⼀些测试⽤例。

3. 编写实际代码。⼀旦你的代码通过了所有你写的测试⽤例,这个函数就算完成了。

⿊盒测试与⽩盒测试

⿊盒测试意味着只依据函数的规格说明来选择测试⽤例,⽽不关⼼函数是如何实现的。

⽩盒测试 的意思是在考虑函数的实际实现⽅法的前提下选择测试⽤例。

⼀种判断测试的好坏的⽅法就是看该测试对软件的测试程度。这种测试程度也称为“覆盖率”。以下是常⻅的三种覆 盖率:

  • 声明覆盖率: 每⼀个声明都被测试到了吗?
  • 分⽀覆盖率:对于每⼀个 if 或 while 等等控制操作,它们的分⽀都被测试过吗?
  • 路径覆盖率: 每⼀种分⽀的组合路径都被测试过吗?

 

posted @ 2018-06-16 21:10  haochen1029  阅读(402)  评论(0)    收藏  举报