软件质量与软件测试
2014年8月12日 10:41 作者:文/关庆佳 【关键词】软件 质量 测试文/关庆佳
【关键词】软件 质量 测试 问题 措施
当今社会俨然已经发展成为全球信息化的格局,计算的普及与深入发展也加深了软件技术的革新与发展,软件的运用已经越来越广泛与重要。众所周知,软件的开发过程极为复杂,而软件测试工作则是保证软件质量的关键,但是在测试过程中仍会受到主观意识与客观复杂性等特点的影响而造成软件质量与测试中存在的问题,本文作者就以上问题做了相关浅析并提出了控制软件测试质量的相关措施。
摘 要
1 前言
软件测试和软件质量二者是不可分离的。测试是手段,质量是目的,二者同等重要,缺一不可。测试的复杂性和软件的复杂性是一致的,也就是说由于软件的复杂导致了测试的复杂性。实际操作中若仅将软件质量的控制手段依赖于软件测试,是不可能真正解决软件质量问题的。测试不是解决错误的根本举措,只是一种辅助手段。但又是必须的手段,软件在测试的过程中也要投入较多的人力、财力、物力和技术。本文分析的重点在于如何对软件进行更有效的测试,以保障软件的测试的质量与可靠性。
2 软件测试的目的及意义
(1)在尽量节约人力、物力、财力等资源的基础上,发现软件中潜在的错误以及漏洞,通过检测来修正各种错误和漏洞,从而避免软件投用后由于潜在的错误或漏洞所造成的风险。
(2)对软件质量进行检测和评估,确认软件可执行预期的要求或软件以正确的方式来执行要求,以验证软件的质量是否满足用户的需求,从而为用户挑选与接受软件提供保障。
(3)对软件的生命周期进行质量把控,通过测试来分析发生错误和漏洞区域及发生的原因,测试可为软件开发人员提供后续风险评估所需的信息,从而帮助软件开发者或项目管理人员改进软件开发过程及提高软件质量。软件测试不仅近是对软件产品本身的测试,而且还包括软件开发的各个环节。如果一个软件产品在完成开发后经检测发现很多潜在的问题,这就证明在软件的开发环节中存有一定的缺陷。因此软件测试的根本目的是保证整个软件开发过程是高质量的。
3 软件测试存在的误区
由于我国的软件测试工作起步晚,测试工作还未形成规范化,人们对软件测试在认识上还存有一些误区,而这些误区也影响着测试工作的开展,影响着软件测试的质量。
(1)软件测试工作待软件基本开发完后
才启动,目前我国仍有许多软件开发项目采用瀑布型的软件开发模式, 软件测试工作往往位于编码完成之后, 这样的测试流程对整个软件开发工作是不利的。随着软件项目规模的增大,软件中潜在的缺陷就被发现的越晚, 后续的修改与补救成本就越高, 同时也会延误软件项目开发的期限, 增加最终测试的难度。
(2)认为软件测试仅仅是测试人员的事
情,如参与开发的其他人员无关。在很多软件开发中,项目开发人员与测试人员缺乏沟通,开发人员仅编写程序,测试人员仅报告软件中的错误与漏洞。而事实上,测试与开发同为一个软件项目开发中的部分,二者应是紧密联系的。一个成功的软件测试,是离不开开发人员和测试人员间的交流与协商的,另外,还需要系统分析师等人员的配合,这样才能提高测试工作的效率与质量,改进软件质量。
(3)认为软件测试仅是为了证明软件的
正确度,软件测试只是证明软件程序是否以正确的方式执行了预期的功能,仅能发现软件存在的错误,而不能发现软件程序是否存与错误,实际上以软件测试来发现软件程序上的错误也是不可能的,程序测试需耗费的时间与成本也是软件测试所不能承担的。
(4)对软件的检测不充分,缺乏测试工具或用于软件测试的软件不规范。目前大多数的软件测试都与硬件一起进行, 在软件的验收工作中, 所谓的测试也仅仅是对预先设定的用例进行测试, 而并非根据软件开发的阶段进行部件、配置项、单元、系统的测试等, 这样的软件测试发挥不了全部的作用, 造成软件遗留的缺陷多、漏洞多。
4 软件测试应遵循的原则
为了突出软件测试的效果,就必须对软件测试制定一定的规范以保障其有效性,因此,在平时进行软件测试时,就要相应地遵循以下原则:将软件测试贯穿于整个软件开发中,尽量降低或避免错误的发生,尽管有错误发生也可尽早发现并改进,保障软件开发的质量;对测试用例要精心设计,测试用例需包含输入数据、合理的与不合理的输入条件及与输入数据相对应的预计输出结果; 避免由软件设计者来检查自身设计的程序,可降低失误率;预防错误群集的发生;避免测试的随意性,严格按照以上原则进行测试计划。
5 软件质量的评估
对于软件质量的评估切忌单方面的进行判定,而应该考虑到软件适用群体的感受。这是因为不同的使用人员对软件关心的侧重点也会不同,其具有各自的评价标准与需求。作为软件的用户,其关心的首要问题自然是软件的性能与功能,简言之就是所购买的软件是否操作简便与可靠;作为软件开发人员,其对软件质量的评价深入至软件开发的每个阶段,他们将软件的内部质量与产品的外部特征相对应。作为软件维护人员来说,其对软件质量的评估主要是考察软件系统的完善性,软件文档与源代码是否一致,软件修改与维护是否简易等。总而言之,综合以上人员的评估标准,我们要求软件必须具备良好的结构,具备齐全的文档资料,便于用户理解与使用,利于修改与维护,人机界面清晰,内部层次分明,这样,才能满足大多数人员的需求。
6 应对软件测试缺陷与加强质量控制的方法
综上所述,为了规避软件测试中的缺陷,加强软件质量的控制,我们要从软件开发的各个阶段进行质量把控,做好以下几点可有利于今后软件测试工作的开展,提高软件的质量。具体是:1. 组织技术审核,软件开发过程中的潜在错误均是通过组织技术审核来发现的;2. 测试工作不能等到编码完成之后再开展,应该将测试与开发作为同步进行的工作,在开发活动的初期就进行测试活动,对软件工程开发的每个阶段进行审查;3. 在软件项目开发初期就让测试人员参与进来, 进行相关的测试准备工作, 制定测试计划、方案,设计测试用例。大量实践证明,越早发现软件中的错误与漏洞,其后的修复成本越低,软件项目的最终效果也越佳。
参考文献
[1] 魏强, 沈沉. 一种新的应用于DDC 控制器软件的测试模型[J]. 日用电器,2012(04).
[2] 张忠阳, 黄志洲. 软件工程系统项目开发的质量控制[J]. 现代测绘,2011(04).
[3] 李杨. 软件测试质量的分析与探讨[J].硅谷,2011(07).
[4] 郑人杰. 计算机软件测试技术[M]. 北京:清华大学出版社,2008(05).
作者单位
深圳市盛视科技有限公司 广东省深圳市518040