刍议软件测试对提高软件质量的影响

时间:2022-08-21 11:39:05

刍议软件测试对提高软件质量的影响

软件测试是软件开发过程中不可缺少的一环,是提高软件质量的有效途径,是保证软件质量的一个重要手段,它越来越受到人们的重视。这就使保证软件的质量和高可靠性面临巨大的挑战。文章通过软件开发流程来分析如何做好软件测试工作,提高软件质量。

【关键词】软件测试 质量 策略

1 软件测试现状分析

随着计算机软、硬件技术的发展,计算机技术已经渗透到社会各行各业中,什么都离不开计算机,而且计算机软件的功能非常强大,无处不在,无所不能,计算机软件也变得多样化、复杂化,软件运行出现的错误和缺陷的几率越来越大,为了保证软件的质量,需要测试人员反复测试论证,软件测试工作在软件项目生命周期中的重要性日益突出。当前,我国的软件开发能力比欧美发达国家差不了多少,主要差距就是软件质量。国外的大型软件开发公司中软件测试人员和软件工程师一般是1:1的比例,我国目前还不是很规范,但也正在向这方面靠拢。软件测试在我国越来越趋于标准化科学化,是一个很有发展前途的职业。

2 软件开发与软件测试

通常我们理解的软件开发可能只是程序员通过一定的专业技术,如编程语言、数据库技术创造出一个新的应用程序。其实软件开发是一个系统的工程,包括需求分析、设计、编码、测试、维护等等几个环节。软件测试是整个软件开发流程中的一个重要的环节,主要包括白盒测试、灰盒测试和黑盒测试。白盒测试一般用于单元测试,需要测试人员对于代码结构有很好的理解,黑盒测试也就是我们通常说的功能测试,主要检测软件功能是否满足用户的功能需求。灰盒测试则是界于白盒和黑盒测试之间的一种测试方法。在现代软件开发流程中,测试工作是贯穿于整个开发流程,并不是在程序员编码完成以后才开始的。在软件开发前期,测试人员需要根据用户的需求,编写测试计划,准备测试方案,编写测试用例,甚至根据业务需要编写不同的测试工具,为后续的测试工作做好准备。在软件开发中后期,测试人员需要利用测试工具按照测试方案、测试用例和流程对软件产品进行功能和性能测试。在执行完测试方案、测试用例和流程后,需要跟踪软件缺陷,以确保最后开发出来的成果能够真正满足用户的需求,尽量以最小的代价来发现尽可能多的错误。

在整个软件开发过程中,软件测试要尽可能早的参与到项目活动中,最好是项目初期就要界入其中,这样就可以尽可能早的并且多的发现软件缺陷。如果在软件研发后期发现框架问题,可能会导致很多功能模块需要返工,越晚开始,测试人员对软件的了解就会越少,就无法深入测试,可能漏测掉很多重要的功能,可能会在短时间内发现大量的软件缺陷,不利于软件的版本稳定。

软件测试不象编程技术那样发展那么迅速,可参考借鉴的东西非常少,软件中每一个功能模块的测试方案都需要测试人员多方面的考虑,所以这意味着测试更需要人的创新能力。验证程序的正确性,远不象普通人想象的机械重复性的操作那样简单。验证程序的正确性更是需要人们大量的创造性劳动。

3 软件测试策略

要做好软件测试工作,会遇到很多挑战和困难。这就需要我们软件测试人员通过自己专业的知识和想法不断提高自己。通常认为软件测试人员具备的基本素质按重要等级依次是:技术、沟通能力、自信心、责任心、耐心和细心等。

首先技术是基础,作为测试人员,测试人员应该比开发人员掌握更多的知识,在测试过程中,你必须了解软件的生命周期,知道什么阶段进行什么类型的测试。

其次是沟通能力,沟通能力是测试工作顺利进行的保障。在技术基础的保障下,测试人员必须充分了解用户的需求,知道哪些问题是软件问题,能够清楚描述软件出现问题的场景,最好是知道为什么会出现问题,最最好是知道如何修复这个问题,这样的话,就会更好的与开发人员进行沟通,测试工作也就会进行的更加顺利。

再次,测试人员必须有自信,软件测试是一项技术要求很高的工作,测试虽然基本不实现编码(当然,也会写测试脚本或测试代码),但特别要求对系统的整体把握能力。测试其实是很有内容的,只是目前没有受到足够的重视,没有被提高到它应有的地位。在技术基础的保障下,你应该非常自信地进行自己的测试工作,理直气壮地向开发人员提出软件问题,并坚持自己的观点,明确各方责任。最后,测试工作非常重要,你担负着软件质量验收责任,你必须有责任心,耐心和细心地工作,争取不放过任何一丝一毫的软件错误和缺陷。

在整个软件测试过程中,是否能够准确充分的发现足够多的软件错误和缺陷,软件的测试管理工作非常重要。

第一,严格遵行测试过程。首先进行需求分析,了解用户的需求,并且充分了解软件的测试范围和测试内容,准备好测试所需要的数据,然后经过评审,这一个过程可以避免测试人员对测试需求的理解错误,遗漏测试内容。其次进行软件测试用例的设计,明确对每一项功能应该怎样进行测试,包括选择什么样的测试工具、操作流程、输入数据和输出结果等,再次评审。这一过程可以避免测试人员选择工具错误,操作流程或输入数据错误,遗漏测试内容等。第三个阶段是执行测试用例,在执行过程中最好详细记录测试结果,在什么样的输入情况下产生什么样的输出结果,仔细比对软件原始需求,确定软件是否发现问题。测试用例执行完毕后,也需要进行评审,主要检测测试是否进行充分,记录是否准确,软件问题提出是否正确。

第二,真实模拟客户环境。随着开发技术的不断进步,诸如多线程,虚拟化,大数据量的并发,安全性,软件间、不同系统平台间的交互响应这类环境的搭建,对测试人员来讲都很有挑战。在执行测试前,我们得尽可能真实的模拟客户的使用环境。这样才能真正的发现软件的缺陷。

第三,有效验证程序正确性。测试人员要比开发人员考虑更多的东西,在设计测试用例的时候,要充分考虑到其他功能以及本功能的关联关系,要有大局观。需要扎实的软件测试理论,尽量自己分析问题,多涉猎一些项目之外的知识.

第四,积极跟踪软件缺陷。测试不仅仅是发现程序中的缺陷,更重要的是跟踪解决这些缺陷,因为只有缺陷被解决了,软件质量才有可能提高,我们的成绩才能得以真正的体现。事实确实是这样,测试人员提交了软件缺陷,如何说服开发人员修复这个缺陷,才是关键。只有缺陷被修复,软件的质量才会提高,这样才能体现测试人员的工作价值。

4 总结

总之,软件测试是整个软件开发流程中重要并且不可缺少的环节,做好了软件测试工作,才能保障软件的质量。

参考文献

[1]朱少民.全程软件测试[M].北京:电子工业出版社,2007(09).

[2](美)佩腾(Patton,R.)著.张小松等译.软件测试[M].北京:机械工业出版社,2006(10).

作者单位

广东省邮政信息技术局 广东省广州市 510898

上一篇:基于RFID的寝室智能用电管理系统 下一篇:图书智能还书分拣的软件集成通信管理