软件测试认识的几个误区

2023-01-20

1 软件测试的对象

软件测试就是在软件投入运行前, 对软件需求分析设计规格说明和编码的最终复查, 是软件质量保证的关键步骤, 软件测试不等于程序测试。它贯串于软件定义和开发的整个期间, 因此, 需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档, 包括需求规格说明、概要设计说明、详细设计说明、以及源代码都是软件测试的对象。

2 软件测试的分类

按照不同的划分方法, 软件测试有不同的分类, 如按测试用例设计方法可分为白盒测试和黑盒测试;按测试策略和过程可分为单元测试、集成测试、确认测试和系统测试。

3 软件开发项目测试的误区

误区之一:软件开发完成后进行软件测试, 人们一般认为, 软件项目要经过以下几个阶段:需求分析, 概要设计, 详细设计, 软件编码, 软件测试, 软件发布。据此, 认为软件测试只是软件编码后的一个过程。这是不了解软件测试周期的错误认识。软件测试是一个系列过程活动, 包括软件测试需求分析, 测试计划设计, 测试用例设计, 执行测试。因此, 软件测试贯穿于软件项目的整个生命过程。在软件项目的每一个阶段都要进行不同目的和内容的测试活动, 以保证各个阶段的正确性。软件测试的对象不仅仅是软件代码, 还包括软件需求文档和设计文档。软件开发与软件测试应该是交互进行的, 例如, 单元编码需要单元测试, 模块组合阶段需要集成测试。如果等到软件编码结束后才进行测试, 那么, 测试的时间将会很短, 测试的覆盖面将很不全面测试的效果也将大打折扣。更严重的是如果此时发现了软件需求阶段或概要设计阶段的错误, 如果要修复该类错误, 将会耗费大量的时间和人力。

误区之二:软件发布后如果发现质量问题, 那是软件测试人员的错, 这种认识很打击软件测试人员的积极性。软件中的错误可能来自软件项目中的各个过程, 软件测试只能确认软件存在错误, 不能保证软件没有错误, 因为从根本上讲, 软件测试不可能发现全部的错误。从软件开发的角度看, 软件的高质量不是软件测试人员测出来的, 是靠软件生命周期的各个过程中设计出来的。出现软件错误, 不能简单地归结为某一个人的责任, 有些错误的产生可能不是技术原因, 可能来自于混乱的项目管理。应该分析软件项目的各个过程, 从过程改进方面寻找产生错误的原因和改进的措施。

误区之三:软件测试要求不高, 随便找个人多都行, 很多人都认为软件测试就是安装和运行程序, 点点鼠标, 按按键盘的工作。这是由于不了解软件测试的具体技术和方法造成的。随之软件工程学的发展和软件项目管理经验的提高, 软件测试已经形成了一个独立的技术学科, 演变成一个具有巨大市场需求的行业。软件测试技术不断更新和完善, 新工具, 新流程, 新测试设计方法都在不断更新, 需要掌握和学习很多测试知识。所以, 具有编程经验的程序员不一定是一名优秀的测试工程师。软件测试包括测试技术和管理两个方面, 完全掌握这两个方面的内容, 需要很多测试实践经验和不断学习精神。

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

误区之五:项目进度吃紧时少做些测试, 时间富裕时多做测试, 这是不重视软件测试的表现, 也是软件项目过程管理混乱的表现, 必然会降低软件测试的质量。一个软件项目的顺利实现需要有合理的项目进度计划, 其中包括合理的测试计划, 对项目实施过程中的任何问题, 都要有风险分析和相应的对策, 不要因为开发进度的延期而简单的缩短测试时间、人力和资源。因为缩短测试时间带来的测试不完整, 对项目质量的下降引起的潜在风险, 往往造成更大的浪费。克服这种现象的最好办法是加强软件过程的计划和控制, 包括软件测试计划、测试设计、测试执行、测试度量和测试控制。

误区之六:软件测试是没有前途的工作, 只有程序员才是软件高手, 由于我国软件整体开发能力比较低, 软件过程很不规范, 很多软件项目的开发都还停留在“作坊式”和“垒鸡窝”阶段。项目的成功往往靠个别全能程序员决定, 他们负责总体设计和程序详细设计, 认为软件开发就是编写代码, 给人的印象往往是程序员是真正的牛人, 具有很高的地位和待遇。因此, 在这种环境下, 软件测试不受重视, 软件测试人员的地位和待遇自然就很低了, 甚至软件测试变得可有可无。随着市场对软件质量的不断提高, 软件测试将变得越来越重要, 相应的软件测试人员的地位和待遇将会逐渐提高。在微软等软件过程比较规范的大公司, 软件测试人员的数量和待遇与程序员没有多大差别, 优秀测试人员的待遇甚至比程序员还要高。软件测试将会成为一个具有很大发展前景的行业, 软件测试大有前途, 市场需要更多具有丰富测试技术和管理经验的测试人员, 他们同样是软件专家。

摘要:随着软件规模的不断扩大, 软件设计的复杂程度不断提高, 软件开发中出现错误或缺陷的机会越来越多。同时, 市场对软件质量重要性的认识逐渐增强。所以, 软件测试在软件项目实施过程中的重要性日益突出。但是, 现实情况是, 与软件编程比较, 软件测试的地位和作用, 还没有真正受到重视, 对于很多人 (甚至是软件项目组的技术人员) 还存在对软件测试的认识误区, 这进一步影响了软件测试活动的开展和真正提高软件测试质量。

关键词:软件,测试,误区

参考文献

[1] 杨玲萍, 周中元.伴随测试的有效途径[J].电子产品可靠性与环境试验, 2006 (6) .

[2] 张文华.功能点的计算方法[J].电脑知识与技术, 2006 (23) .

[3] 朱吉.面向对象软件测试及测试用例设计[J].电脑知识与技术, 2006 (20) .

[4] 周玲.生命周期法开发Web中的系统测试[J].甘肃冶金, 2006 (3) .

[5] 胡丹, 杜新华.基于目标机的嵌入式软件单元测试[J].电子测量技术, 2006 (2) .

[6] 张军峰.如何使软件测试更有效[J].电脑知识与技术, 2005 (6) .

[7] 戴翠琴, 鲍宁海.3G终端开发中的一致性测试及实现过程[J].重庆邮电学院学报 (自然科学版) , 2006 (3) .

上一篇:律师事务所绩效管理问题及对策——以J律师事务所为例下一篇:计算机组装与维修课程的教学探讨

本站热搜