软件测试技术理论与方法高效率化探究

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件测试技术理论与方法高效率化探究

摘要:近年来,随着软件系统规模的不断扩大,软件的功能也随之逐渐增强,并且软件的复杂性也变得越来越高,使得软件测试的难度大大增加。在软件开发中,软件测试是其中不可或缺的组成部分,同时也是软件工程极其重要的一个分支,长期以来受到了计算机应用界与计算机学术界的高度重视。为了充分确保软件的质量,并提高软件的可靠性,研究软件测试方法和测试技术,至关重要。针对软件测试技术的研究现状,对软件测试技术理论与方法高效率化进行了深入探究。

关键词:软件开发;软件测试;高效率化

0引言

在软件的开发过程中,不可避免地会遇到许多复杂问题,同样地,在软件的运行中也会产生各种各样的错误。尽管软件运行的每个生命阶段和各个模块都需要进行严格检查,进而尽早发现错误并加以纠正,然而,这也无法真正解决所有的问题。如果在软件的测试阶段能及时发现问题,那么就能有效地避免恶劣后果的发生。软件测试的目的就是尽可能地在软件投入运行前发现其中的错误。由此可见,研究软件测试技术,有着十分重要的现实意义。

1软件测试的意义

将软件开发出来以后,在将其投入运行前都必须进行相应的系统测试,以便充分保证软件与客户的需求相符。软件测试是开发软件必

不可少的重要环节,同时也是对软件的性能及质量与用户要求相符合与否的检验。就软件测试而言,通常对于不同的立场有着不同的测试目的,一般软件的开发者希望借助于软件测试能够表明软件真正满足规格要求,而如果站在用户的立场来看,软件开发者则希望能够借助一定的方法和技术尽可能早地将软件产品中所存在的缺陷及错误找到,以便于考虑接受此软件与否。实际上,软件测试仅仅能够证明软件是否存在缺陷和错误,但是却无法证明软件是否完善。

2传统软件测试中存在的问题

2.1利用的自动化测试较少,难以保证测试的充分性

由于软件测试有着较大的工作量,再加上软件逻辑路径的组合性、软件需求的不完整性以及输入数据结果的多样性和大量性等诸多因素的影响,往往使得非常简单的一个程序,都不得不对所有的逻辑路径加以探试,而验证所有的结果和所有输入数据是极其困难的。比如,对于相对较为简单的程序,要将两个整数最大的公约数求出来,两个正整数为输入的信息,但是如果测试整个整数域的所有数字,则是一个根本无法完成的任务,但在整个软件过程中测试是极有可能借助于计算机进行自动化的一种工作,在需求细致注意力、非智力创造性以及操作重复性的测试工作中,只有计算机能够替代人类加以完成。企业在此方面的投资,往往会对开发工作的整个周期、成本和质量带来直接影响,而在实际的应用过程中,特别是我国国内,极少使用自动化测试工具,软件测试即便得以重视,也是在重复性的测试上浪费过多的时间,使得测试的结果与预期的效果相差甚远,软件的质

量无法得到充分的保证。

2.2测试的起步时间较晚,未参与到开发的整个流程中

传统的软件测试流程一般是在开发软件中首先进行少量的单元测试,接着在软件开发结束时期进行大量的、集中的测试,主要包括性能和功能的系统测试以及集成测试。单元测试被开发人员经常性地以进度要求、时间压力等理由进行推诿,使得单元测试无法真正地进行和实施,造成大量软件错误的发生,而只有到了后期系统测试阶段才可以发现这些问题。通常发现错误的时间越晚,问题解决就越要付出更多的代价,并且项目失败的风险也会越高。与此同时,在软件开发的整个过程中,相关管理人员对软件质量情况缺乏必要的控制和了解,进而在很大程度上将会使项目管理的难度加大。有关统计数据充分表明,延期交付的软件项目大约有90%,并且软件交付使用以后,必须长时间地将新发现的问题加以修改,在系统稳定性的维持上也往往花费较长的时间。这些问题基本上都是软件测试起步时间较晚所导致的结果,没有将软件测试放到每一个产品的开发阶段。

2.3测试实际与测试理论脱节,缺乏可操作性

绝大多数软件测试的结果都属于无形资产,这种无形资产的价值是无法衡量的。很多人认为优秀的软件就是具有娴熟的编程技巧、高超的程序设计、成熟的软件过程,但是几乎没有人想到优秀的软件是经过了全面和严格的软件测试,软件测试经常性地被人们遗忘。对测试价值的过多强调会导致测试与开发相互对立,因此,许多产品经理会将测试的功效弱化,而趋向于一种平衡的构建,这些问题造成产品

开发中测试处在尴尬的地位。传统的软件测试却忽略了这些问题,传统软件测试的技术理论是在理想化的前提下所建立的,错误地认为任何开发流程都是绝对规范的,全部都有详实的可参考文档,未切实地考虑到进度及时间的压力,使得现有的软件测试技术理论理想化程度偏高,严重脱离了软件开发的实际。

3软件测试管理及组织

现阶段,软件开发的复杂度逐渐变得越来越高,因而寻找软件中的错误与缺陷便困难重重,确保软件的质量受到越来越多人的高度重视。所以,为了尽量全面地发现软件中的错误,加强测试工作的管理及组织变得尤为重要。

软件设计结束后,应当开始准备软件测试工作,一方面必须有科学的测试大纲,测试大纲要由熟悉软件设计的相关设计人员进行编写,将测试的范畴、测试的内容、选用合理的测试用例以及通过的准则加以确定,以便展开全面性的系统测试;另一方面,在制定好测试大纲后,就应当开始进行具体测试环节的组织实施,初步验收所开发的程序以后,应当由测试人员对软件测试加以组织,具体的组织主要包括以下环节:

(1)准备工作。

(2)审查代码。

(3)测试模块。开发软件的过程通常将系统划分成相对独立的几个功能模块,所以应当首先局部测试这些功能模块,将模块中所存在的逻辑错误和编码措施先排除,一般模块相对较小,因而程序的复

杂度也比较简单。软件测试人员应当借助于模块说明源程序,对模块的逻辑结构和模块的输入输出条件加以全面了解,要对结构测试的用例加以采用,最大限度地实现彻底测试,然后采用功能测试的用例,使其能够响应及鉴别任何不合理或者合理的输入。(4)系统测试。对各个模块进行局部测试后,应当组装各个模块,检查这些模块是否能够根据预期的要求实现整体功能。所谓系统测试指的是按照设计的要求把模块加以组装,然后进行系统测试,这样做的目的在于对各个接口问题进行检查。

(5)验收。系统测试和模块测试完成以后,此软件便已成为完整的一个软件系统了,功能模块的接口错误和内部错误已基本排除,再就是对该软件与用户预定的要求符合与否进行验证,也就是验证软件的有效性,完成最后的验收任务。将以上的软件测试工作完成后,软件便基本上能够满足开发的要求,这时就可以把软件提交给用户。

4软件测试人才培养

近年来,随着我国软件行业的飞速发展,软件产品的质量管理及质量控制已逐渐成为企业发展和生存的核心内容。为了从根本上保持软件出厂阶段的最佳状态,绝大多数企业在发布软件产品前都必须进行大量的质量控制工作。在控制软件质量的过程中,非常关键性的环节便是拥有高水平、高素质的软件测试人才,因此,对当前紧缺的软件测试人才进行培养,已经成为我国诸多软件企业有待于迫切解决的一个问题。所以,一方面,软件企业应不断加大人才培养的投入力度,为软件测试人才的培养提供坚实的后盾;另一方面,软件企业应当定

相关文档
最新文档