软件测试在软件开发中重要意义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅析软件测试在软件开发中的重要意义
摘要:一款新软件的开发,从开发初期的问题定义及规划到各个阶段的有效进行,整个软件项目的开发需做到层层相扣。而软件测试——作为软件开发过程中最后也是关键的一步,其把握着软件质量关,在其中发挥着至关重要的作用,无论是对软件安全性的保障,还是软件功能性的检验,都有着无可替代的地位。因此,要想让一款新的软件很好的满足市场的需求,得到用户的认可,软件测试必不可少,只有在软件测试上下足功夫:在软件设计完成之后进行严密的测试,才能发现软件在整个软件设计过程中存在的问题并加以纠正,使得软件质量有保障。
关键词:软件开发;软件测试;测试手段;重要意义
中图分类号:tp311.52
软件开发是一项集信息量大、程序代码多和时间长的工程,一个软件的好坏、质量的优劣不仅取决于软件的开发目标及其可行性的评估、功能需求的分析、软件的设计以及程序代码的编写,还取决于软件测试。软件测试是软件开发中的最后一个阶段,软件测试是使用人工或者自动手段来运行或测试某个系统的过程,通过测试发现软件开发设计过程中存在的问题,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。因此,软件测试在软件开发中的重大作用由此可见一斑。本文将从软件开发中的软件测试的内容、软件测试的方式方法、软件开发在软件开发中的作用及对软件测试的展望等几个方面对软件开发这一话题进行一番
论述,从软件功能测试的作用谈起,浅析软件测试在软件开发中的重要意义。
1 软件开发阶段概况
当下软件开发一般分为五个阶段,从软件开发中的计划、分析、设计、编码到测试。(当然从广义上来说:软件维护也可以算是软件开发中的一个阶段)主要阶段具体可为:
1.1 问题的定义及规划
作为软件开发的第一步,对问题的定义及规划是软件开发的首要工作。软件计划中软件工作人员需要完成对所需解决的问题从市场需求、用户要求现实环境对所要解决的问题进行总体上的定义,在完成定义的同时,在这个阶段中还要就技术和经济层次上对所定义的问题进行合理的规划,做成资源、经济成本分析,就软件设计项目的有效实施提出具有可行性、操作性强的最优化方案,最大限度的规避在项目开发实施过程中不必要的问题。
1.2 需求分析
在完成问题的定义及规划之后,就要对软件需要实现的各个功能进行详细需求分析。需求分析阶段软件需求分析就是对开发什么样的软件的一个系统的分析与设想。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言表达出来的过程。是一个很重要的阶段,需求分析的好坏,直接决定了软件功能基础,只有在需求分析阶段打下了良好的基础,才能为后面的软件开发过程省去不少的工作,才能设计出好的软件。
1.3 软件设计
软件设计是根据软件需求分析的结果来进行的,有什么样的需求,对应之进行怎样的功能设计,这个阶段是对整个软件系统进行设计,主要包括概要设计和详细设计两个阶段:主要用软件结构图表示方法和结构化程序设计方法分别对概要设计和详细设计进行说明,完成软件模块结构、程序流程等主要目标,为程序编码提供依据。
1.4 程序编码
此阶段是将软件设计的结果转化为计算机可运行的程序代码。在程序编码中必定要制定统一、符合标准的编写规范。以保证程序的可读性、易维护性。提高程序的运行效率。程序编码的正确与否直接决定了软件测试工作量的大小。所以软件编码在保证程序可读性还要做到越简约越好,为后续的工作打下坚实的基础。
1.5 软件测试
在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。整个测试阶段分为单元测试、组装测试、系统测试三个阶段进行。测试方法主要有白盒测试和黑盒测试。
2 软件测试的内容
软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
测试是为了发现程序中的错误而执行程序的过程,是一个寻找软件中尚未发现的错误的测试,一个成功的软件测试可能是一个新的测试方式方法,不但可以发现、改正软件中的错误,还能进一步的提升软件质量。软件功能测试一般包括了从以前段准备的测试用例进行测试为测试策略,通过对页面友好,安全性,可靠性,性能等内容进行测试的分支的测试、以解决合并时出现的冲突的测试和回归测试为主的合并到主干后的测试、以回归主要功能,关注特殊数据的预发布测试及可以监控了用户的某些行为的beta测试这几个阶段一一进行。
3 软件测试的方式及特征
软件测试是一个系列过程活动,贯穿于软件项目的整个生命过程,很多软件项目的开发还停留在“作坊式”阶段,项目的成功往往靠个别程序员决定。软件测试看似只是一个寻找在软件开发中出现问题,解决问题的过程,其实软件测试是一个十分困难,耗时非常多,工作量巨大的任务,需要测试员工不但需要有良好的技术知识和测试经验,还需要拥有细心、恒心和耐心。在软件测试中主要用到的测试方式为白盒测试和黑盒测试。
3.1 白盒测试
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
3.2 黑盒测试
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。通过边界值分析、错误推测法、因果图法、和正交试验设计法进行测试。。黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
4 软件测试的作用
软件测试在软件开发中的重要性不言而喻,软件测试是质量保证的重要手段之一。软件测试的作用,具体地说明的话,可以概括为下列四个方面:
对产品质量完成全面的评估,为软件产品发布(如验收测试)、软件系统部署(如性能规划测试)、软件产品鉴定(第三方独立测试)委托方和被委托方纠纷仲裁(第三方独立测试)和其它决策提供信息。
通过持续的测试(包括需求评审、设计评审、代码评审等)可以对产品质量提供持续的、快速的反馈,从而在整个开发过程中不断地、及时地改进产品的质量,并减少各种返工,降低软件开发的成本。
通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重的缺陷,降低或消除产品质量风险,提高客户的满意度,扩大市场份额,提高客户的忠诚度。
通过对缺陷进行分析,找出缺陷发生的根本原因(软件过程中的