测试的目标和局限

上一篇 / 下一篇  2007-09-28 11:28:56 / 个人分类:个人学习

不可能完全的测试一个程序!
原因有三:1、可能的输入范围太大,根本无法穷尽测试。2、程序中可能的运行路径太多,也根本无法穷尽测试。3、用户界面问题(以及相应的设计问题)太复杂,不可能进行完全测试
   对于第一、二点,只要从事过测试的相信都会了解,要穷尽所有的有效数据、无效数据以及编辑过的数据输入还有在何时输入(输入的时间点),或者对程序中素有的路径可能进行覆盖都是不可能的,对于路径覆盖可能有疑问,理论上程序路径是有范围的,但如果程序中包含无限循环,而循环结束条件不确定的时候,路径就可能是无穷的,而且,即便是有范围,但要穷尽是另一回事,如果路径的范围是10的18次方的话,即便你知道范围,在有生之年也不可能完成的!
   至于第三点,在现实里,可能在需求阶段确定的用户界面,等到产品完成的时候,可能界面需求已经改变,特别是B/S结构的项目,程序完成往往滞后于界面的更新,而且界面需求是否“正确”是一个问题,因为需求自认为好的,并不是一定可行,所以界面的不确定东西太多,直接导致其无法完全测试。

测试的目标
    很多时候,测试被描述为一个验证程序是否运行正确的过程,换句话说,测试的目标是验证程序是否正确。虽然我无法说着描述错误,但至少是片面的,回看上一个论点就知道,既然无法完全测试一个程序,你如何验证程序是运行正确的呢?而且,如果根据需求去验证的话,假如需求有错误(比如2+2=5),你以此去验证,得出程序结果是正确还是错误呢?所以我个人觉得,测试人员不要试图验证程序是正确的,这不应该是测试目标
    我个人觉得测试的目标,应该是努力找出程序的缺陷,尽可能的找到程序的缺陷,然后上报缺陷。至于如何处理缺陷,不是测试的目标,假如能找到缺陷,那么测试就是成功的,可能有些荒谬,也可能因此增加程序成本!


TAG: 个人学习 测试目标 完全测试

 

评分:0

我来说两句

日历

« 2024-05-19  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 4292
  • 日志数: 6
  • 建立时间: 2007-09-28
  • 更新时间: 2007-10-15

RSS订阅

Open Toolbar