background image

解析关于软件测试的几个误区

   摘 要 随着软件产业的发展,软件产品的质量控制与质量管理正逐渐成为软件企业生存与
发展的核心,而软件测试就是软件质量保证的关键。虽然软件测试得到了很多人的认识与推
广,但是仍有不少人对其存在认识上的偏差,本文就此做了初略的分析。

 

  关键词

 软件测试 误区 程序 质量 

  近年来,随着信息技术的飞速发展,软件产品应用到社会的各个领域与各个行业。软件
产品的质量也就成为大家共同关注的焦点。质量不佳的软件产品不仅会导致软件开发商的维
护费与用户的使用成本大幅增加,还可能产生其他的风险,造成公司信誉下降,继而影响
市场开拓,甚至可能造成灾难性的后果。因此软件测试就显得尤为重要。

 

  

1 软件测试是软件开发结束后的一道工序 

  很多软件开发人员在组织开展一个软件项目时,通常将其归结为需求分析、概要设计、
详细设计、软件编程、软件测试、软件发布等几个阶段。将软件测试看作是软件编码后的一个
检查与确认的过程。这个观念是对软件测试周期的一种错误认识。如果等到软件编程结束后
才进行测试,那么,测试的时间通常较短,测试的覆盖面不全面,测试的效果也将大打折
扣。更严重的是如果此时发现了软件需求阶段或概要设计阶段的错误,如果要修复该类错误,
将会耗费大量的时间和人力。软件开发的每一个阶段都要进行不同目的和内容的测试工作,
以保证各个阶段的正确性。因此,软件开发与软件测试应该是交互进行的,软件测试贯穿于
软件开发的全过程每一个环节。

 

  

2 软件测试只需对软件程序进行测试 

  有些软件开发人员认为软件测试只需要进行程序测试,测试程序在运行中是否存在问
题,就可以了。其实,软件测试包括静态测试和动态测试。静态测试通过人工或程序分析来
证明软件的正确性,不在计算机上实际执行程序;而动态测试通过执行程序做分析,测试
程序的动态行为,以证实软件是否存在问题。也就是说,软件测试的对象不仅仅是程序测试,
 软件测试应该包括整个软件开发期间各个阶段所产生的文档,比如需求规格说明、概要设
计文档、详细设计文档等。

 

  

3 软件测试可做可不做 

  有些人员认为只要软件运行没问题就行,不一定要进行软件测试。受到费用、时间、人员
等因素的影响,在费用不足、时间不够、人手不够的情况下,不做测试或者少做测试;在费
用充足、时间充裕、人员配置到位的情况下,才考虑做测试或多做测试。这是未对软件测试引
起足够重视的表现,是软件过程管理混乱的体现,必然会影响到软件测试的效果。一个软件
项目的顺利实现需要有合理的项目进度安排,其中包括开发过程中并行的软件测试计划,
对项目实施过程中的任何问题,都要有风险分析和相应的对策,不得因为开发进度的延期
而简单的缩减或者取消测试时间、人力和资源。否则,软件质量就存在潜在风险,甚至会因
此而产生更大的浪费。

 

  

4 软件质量问题是测试人员的问题 

  任何产品质量都是生产设计出来的,而不是检测出来了,软件的高质量不是软件测试
人员测出来的,是靠软件生命周期的各个过程中设计出来的。所以,期望通过检测或者测试
将所有的问题都找出来,通常只是理想的情况下才可能,现实中基本难以实现或者根本实
现不了。软件中存在的问题或者错误可能来自软件项目中的各个过程,软件测试只能确认软
件存在错误,不能保证软件没有错误,软件测试也不可能发现全部的错误。从软件开发的角
度看,出现软件错误,不能简单地将责任归结为某一个环节或者某一个人,有些问题的产