APP下载

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

2014-06-11胡宇翔

电脑迷 2014年5期
关键词:软件测试误区程序

胡宇翔

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

关键词 软件测试 误区 程序 质量

中图分类号:TP31 文献标识码:A

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

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

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

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

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

3软件测试可做可不做

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

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

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

5软件测试就是证明软件能正常运行

如果把测试目标定位于要证明程序中没有缺陷,那么就会在潜意识中倾向于实现这个目标。也就是说,测试人员会倾向于挑选那些使程序失效的可能性较小的测试数据。把程序测试定义为在程序中找出错误的过程,就使测试成了可以做到的任务,从而克服了心理上存在的问题。软件测试更适宜被视为试图发现程序中错误的破坏性的过程。一个成功的测试,通过诱发程序发生错误,可以在这个方向上促进软件质量的改进。因此,不要只是为了证明程序能够正确运行而去测试程序。相反,应该一开始就假设程序中隐藏着错误,然后测试程序,发现尽可能多的错误。事实上,如果把测试目标定位于要证明程序中存在缺陷,那么就会选择一些容易发现程序缺陷的测试数据。而后一种态度会比前者给程序增加更多的价值。

6软件测试与程序员无关

开发和测试是相辅相成的过程,需要软件测试人员、程序员和系统分析师等相关人员保持密切的联系,需要更多的交流和协调,以便提高测试效率。而且软件的单元测试部分应该主要由程序员完成,必要时测试人员可以帮助设计测试样例。对于测试中发现的软件错误,很多需要程序员通过修改编码才能修复。程序员可以通过有目的的分析软件错误的类型、数量,找出产生错误的位置和原因,以便在今后的编程中避免同样的错误,积累编程经验,提高编程能力。

参考文献

[1] Paul C.Jorgensen,韩柯,杜旭涛译.软件测试(第2版)[M].机械工业出版社, 2002.

[2] (美)Frank Cohen.Java.测试与设计—从单元测试到自动Web测试[M].新华书店总店北京发行所,2005.

[3] 岳晓红.对Web测试测试技术的探讨[J].陇东学院学报,2006.

[4] 段念.软件性能测试过程详解与案例剖析[M].清华大学出版社,2006.

猜你喜欢

软件测试误区程序
基于OBE的软件测试课程教学改革探索
试论我国未决羁押程序的立法完善
冬季洗澡的误区
EXCEL和VBA实现软件测试记录管理
三角恒等变换中的误区警示
2018年理财,要警惕这些误区
关于软件测试技术应用与发展趋势研究
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
软件测试工程化模型及应用研究