软件测试流程五个阶段_软件测试流程分几个阶段 - CSDN
精华内容
参与话题
  • 软件测试流程五个阶段

    万次阅读 多人点赞 2018-11-07 17:28:59
    软件测试按照研发阶段一般分为5个部分:单元测试、集成测试、确认测试、系统测试、验收测试,下面将不同阶段需要的一些工作内容做一下梳理希望可以帮助到大家。   //No.1// 单元测试   单元测试又称为模块...

    软件测试按照研发阶段一般分为5个部分:单元测试、集成测试、确认测试、系统测试、验收测试,下面将不同阶段需要的一些工作内容做一下梳理希望可以帮助到大家。

     

    //No.1//

    单元测试

     

    单元测试又称为模块测试,是针对软件设计的最小单位程序模块进行正确性检查的测试工作,单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行地独立进行单元测试。

    一、单元测试的内容:

     

    1、模块接口测试

    • 应对通过所测模块的数据流进行测试

    • 调用所测模块时的输入参数与模块的形式参数的个数、属性和顺序是否匹配

    • 所测模块调用子模块时,输入子模块的参数与子模块的形式参数在个数、属性和顺序上是否匹配。

    • 输出给标准函数的参数的个数、属性和顺序是否正确。

    • 全局变量的定义在各个模块中是否一致。

    • 当模块通过外部设备进行输入/输出操作,文件属性是否正确、open和close语句是否正确,规定的I/O格式说明与I/O语句是否匹配;缓冲区容量是否与记录长度匹配,在读写之前是否打开了文件,读写之后是否关闭了文件,对I/O错误是否做了处理。

     

    2、 局部数据结构测试

    • 局部数据结构是最常见的错误来源

    • 不一致的数据类型

    • 不正确或不一致的数据说明

    • 使用尚未赋值或尚未初始化的变量

    • 错误的初始值或错误的缺省值

     

    3、 路径测试

    运算的优先次序、常见的比较和控制流

     

    4、错误处理测试

    遇见出错的条件,并设置适当的出错处理

      

    5、边界测试

    例如循环的次数,最大或最小值

     

    二、单元测试步骤:

     

    • 利用设计文档设计测试用例;

    • 创建被测模块的桩模块或驱动模块;

    • 利用被测试模块、驱动模块和桩模块来建立测试环境,进行测试

     

    • 驱动模块:相当于所测模块的主程序,它接收测试数据,把这些数据传送给所测模块,最后再输出实际结果

    • 桩模块:用以代替所测模块调用的子模块。

     

     //No.2//

    集成测试

     

    又称为组装测试或联合测试,在单元测试的基础上,需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。

     

    • 在把各个模块连接起来的时候,穿越各个模块的接口的数据时候会丢失

    • 一个模块的功能是否会对另一个模块的功能产生不利的影响

    • 各个子功能组装完成后,能否达到预期的父功能

    • 全局数据结构是否有问题

    • 单个模块产生的误差累计起来是否会放大

     

    模块组装成系统的方式:一次性组装方式和增殖式组装方式

     

    一、一次性组装方式

     

    先对模块分别进行测试,再把所有模块组装进行测试

      缺点:发现错我不容易定位 

     

    二、增值式组装测试

     

    先对一个个模块进行模块测试,然后将这些模块逐步组装成系统,分为两种方式:自顶向下的增殖方式和自底向上的增殖方式

     

    1、自顶向下的增殖方式(不需要驱动模块)

     

    将模块铵系统程序结构,严控制层次自顶向下进行组装。

    首先以主模块作为被测模块兼驱动模块,所有直属主模块的下属模块全部用桩模块代替,对主模块进行测试。再采用深度优先或广度优先的策略,用实际模块代替桩模块,再用桩模块代替它们的直接下属模块,与已经测试的模块构成新的子系统。然后进行回归测试。

     

    2、自底向上的增殖方式(不需要驱动模块)

     

    由驱动模块控制最底层模块的并行测试。

     

    3、混合增殖式

     

    • 自顶向下增殖方式:

    优点:能够较早的发现主要控制方面的问题

    缺点:需要建立桩模块,增加了一些附加的测试,涉及算法和输入输出的模块一般在底层,这些底层模块要到组装和测试的后期才能发现。一旦发现问题就会出现过多的回归测试。

     

    • 自底向上增殖方式:

    优点:不需要建立桩模块,建立驱动模块要比建立桩模块要简单得多,同时涉及到算法已近输入输出的模块要先测试,把最容易出现问题的部分在早期解决。

    缺点:程序一直未能作为一个实体存在,直到最后一个模块加上才能形成一个实体,控制方面最后才能接触。

     

    三、集成测试完成的标志:

     

    1、成功执行了测试计划中规定的所有集成测试

    2、修改了所发现的错误

    3、测试结果通过专门小组的评审

    4、集成测试需要提交的测试报告:

    5、集成测试计划、集成测试规格说明书以及集成测试分析报告

     

     //No.3//

    确认测试

     

    确认测试的目标是验证软件的功能和性能以及其他特性是否与用户的要求一致。确认测试一般包括有效性测试和软件配置复查。一般有第三方测试机构进行。

     

     一、进行有效性测试

     

    现软件确认要通过一系列黑盒测试。确认测试同样需要制订测试计划和过程,测试计划应规定测试的种类和测试进度,测试过程则定义一些特殊的测试用例,旨在说明软件与需求是否一致。

     

    无是计划还是过程,都应该着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整、准确人机界面和其他方面(例如,可移植性、兼容性、错误恢复能力和可维护性等)是否令用户满意。

     

    确认测试的结果有两种可能,一种是功能和性能指标满足软件需求说明的要求,用户可以接受;

     

    另一种是软件不满足软件需求说明的要求,用户无法接受。项目进行到这个阶段才发现严重错误和偏差一般很难在预定的工期内改正,因此必须与用户协商,寻求一个妥善解决问题的方法

     

    二、软件配置复查

     

    保证软件配置的所有成分齐全,质量都符合要求。应该遵守用户手册和操作手册中的规定步骤。

    No.4

    系统测试

     

    软件作为计算机系统的一部分,与硬件、网络、外设、支撑软件、数据以及人员结合在一起,在实际或模拟环境下,对计算机系统进行测试,

    目的在于与系统需求比较,发现问题

     

    No.5

    验收测试

     

    以用户为主的测试,软件开发人员和质量保证人员参加,由用户设计测试用例。

    不是对系统进行全覆盖测试,而是对核心业务流程进行测试。

    展开全文
  • 软件测试方法一般分为两种:白盒测试与黑盒测试。其中,白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,着重于程序的内部结构及算法,通常不关心功能与性能指标。黑盒测试又被称为功能测试、数据驱动...

    一、黑盒测试在快速应用开发(rad)环境中的重要作用

    软件测试方法一般分为两种:白盒测试与黑盒测试。其中,白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,着重于程序的内部结构及算法,通常不关心功能与性能指标。黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,实际上是站在最终用户的立场上,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。

     

    软件测试方法一般分为两种:白盒测试与黑盒测试



    随着rad环境的发展,软件工程面临新的挑战,其中包括:

     

    • 应用系统的规模越来越庞大,结构越来越复杂;
    • 开发团队人员越来越多,分工越来越细;
    • 项目投资日益提高,导致投资风险增大。


    在这样一种背景下,软件质量面临着更大的危机,而解决问题的关键正是黑盒测试,可是由于传统的黑盒测试往往局限于手工测试,凭借工程人员的经验自发地进行,缺乏严格的测试管理机制,因而效果并不明显。

    在分发一个应用系统之前,若没有经过科学、周密的黑盒测试,就相当于将大量隐含的缺陷(defect)交付到最终用户手中,这对于开发团队自身、项目投资方及最终用户来说都是不负责任的表现,也将严重损害三方的利益。

    今天,软件的质量要求越来越受到重视,在对软件的质量监督中,黑盒测试起着重要的、不可替代的作用;而随着软件开发平台及软件设计思想的进步和发展,特别是rad技术的发展,对黑盒测试提出了更明确的要求,人们发现,必须遵循一定的测试理论,依赖于优秀的测试工具,才能进行科学、完备的测试。

    二、黑盒测试的操作步骤

    在传统的软件开发生命周期当中,测试工作往往被搁置到整个开发过程的后期进行,也就是说,当应用程序的编码工作已经基本完成,才开始进行测试,这样做的缺点在于:

    a)由于应用程序庞大而复杂,测试工作千头万绪,测试人员难以组织科学、全面的测试用例,从而大幅度提高了测试成本,并严重影响测试的全面性和有效性;
    b)由于缺陷所涉及的模块从开发到测试之间的时间间隔较长,使得程序员的修改和维护工作要付出更大的代价;
    c)由于受到分发日期的限制,测试工作往往是在忙碌中结束的,而将大量的缺陷遗留给最终用户,也就是说,真正的测试工作实际上是由最终用户来完成的。

    因此,为了保证测试工作科学、精确、全面、有序地进行,应该采取一边开发一边测试的策略,使得开发工作与测试工作平行进行,这也就是俗话所说的“越早测试越好”的概念。

    一套完整的测试应该由五个阶段组成:

    1.测试计划
    首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。

    2.测试设计
    将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。

    3.测试开发
    建立可重复使用的自动测试过程。

    4.测试执行
    执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

    5.测试评估
    结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。

    显然,黑盒测试只有严格按照步骤进行,才可能对应用程序的质量进行把关。然而,如果没有一种优秀的测试工具的帮助,单纯凭借手工测试,不但将耗费大量的人力、物力和财力,而且有很多测试工作是难以实现甚至是无法实现的。

    三、手工测试与自动测试的比较

    手工测试无法保证黑盒测试的科学性与严密性,这是因为:

     

    • 测试人员要负责大量文档、报表的制订和整理工作,会变得力不从心;
    • 受软件分发日期、开发成本及人员、资源等诸多方面因素的限制,难以进行全面的测试;
    • 如果修正缺陷所花费的时间相当长,回归测试将变得异常困难;


    对测试过程中发现的大量缺陷缺乏科学、有效的管理手段,责任变得含混不清,没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率;


    来自:http://www.eefocus.com/test-measurement/317719

    展开全文
  • 软件测试的四个阶段

    万次阅读 2016-08-22 21:46:55
    软件测试包括质量、人员、资源、技术和流程五大要素,以及测试覆盖率和测试效率两目标。软件测试一般分为4个阶段:单元测试、集成测试、系统测试、验收测试。一、单元测试 单元测试是对软件中的最小可验证单元...

    软件测试的对象包括软件需求、概要设计、详细设计、软件运行环境、可运行程序和软件源代码等。软件测试包括质量、人员、资源、技术和流程五大要素,以及测试覆盖率和测试效率两个目标。

    软件测试一般分为4个阶段:单元测试、集成测试、系统测试、验收测试。

    一、单元测试
    单元测试是对软件中的最小可验证单元进行检查和验证。比如对Java中的类和方法的测试。

    测试原则:
    1、尽可能保证测试用例相互独立(测试用例中不能直接调用其他类的方法,而应在测试用例中重写模拟方法);
    2、此阶段一般由软件的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求。

    单元测试的好处:
    1、尽早的发现缺陷;
    2、利于重构;
    3、简化集成;
    4、文档;
    5、用于设计。

    单元测试的不足:
    1、不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误;
    2、每行代码需要3~5行代码进行单元测试,存在投入与产出的平衡。

    二、集成测试
    集成测试是在单元测试的基础上,把软件单元按照软件概要设计规格说明的规格要求,组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求。

    集成测试包括BigBang、自顶向下、自底向上、核心系统集成、高频集成。

    三、系统测试
    将经过集成测试的软件,作为计算机系统的一部分,与系统中其他部分结合起来,在实际运行环境下进行一系列严格有效的测试,以发现软件潜在的问题,保证系统的正常运行。

    集成测试和系统测试之间的比较:
    1、测试内容:集成测试是测试各个单元模块之间的接口,系统测试是测试整个系统的功能和性能;
    2、测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的角度进行测试。

    四、验收测试
    也称交付测试,是针对用户需求、业务流程进行的正式的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。

    验收测试包括alpha测试和beta测试,alpha测试是由开发者进行的软件测试,beta测试是由用户在脱离开发环境下进行的软件测试。

    展开全文
  • 软件测试5个阶段

    千次阅读 2018-06-01 15:11:30
     一套完整的软件测试应该由五个阶段组成: 1、测试计划 首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试...

    为了保证测试工作科学、精确、全面、有序地进行,应该采取一边开发一边进行软件测试的策略,使得开发工作与测试工作平行进行,这也就是俗话所说的“越早测试越好”的概念。

        一套完整的软件测试应该由五个阶段组成:

        1、测试计划

        首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。

        2、测试设计

        将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。

        3、测试开发

        建立可重复使用的自动测试过程。

        4、测试执行

        执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

        5、测试评估

        结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。

        显然,软件测试只有严格按照步骤进行,才可能对应用程序的质量进行把关。然而,如果没有一种优秀的测试工具的帮助,单纯凭借手工测试,不但将耗费大量的人力、物力和财力,而且有很多测试工作是难以实现甚至是无法实现的。

    展开全文
  • 软件测试从哪里开始到哪里结束?中间要经过哪些环节以及各环节要注意哪些事项。鉴于每环节都可以做为一专题来进行探讨,所以受篇幅和时间限制,本文对有关问题未做深入剖析,只做一宏观上的介绍。一般而言,...
  • 软件测试的基本流程

    千次阅读 2019-08-07 10:29:44
    软件测试的基本流程 1、需求阶段: 需求分析–需求评审–业务需求评级,绘制业务流程图 2、测试计划阶段:测试经理编写测试计划 3、测试设计阶段:各成员编写测试用例、先小组内评审、后会议评审 4、测试执行阶段:...
  • 软件测试的基本流程(详细)

    万次阅读 2018-08-09 17:04:10
    软件测试的基本流程: 需求分析阶段:阅读需求,理解需求,分析需求点,参与需求评审会议。 测试计划阶段:主要任务就是编写测试计划,参考软件需求规格说明书,项目总体计划,内容包括测试范围,进度安排,人力...
  • 软件测试基本流程及规范

    千次阅读 2018-08-12 17:22:14
    二、测试流程图 三、各阶段详细说明 1、需求分析 根据版本系统说明书以及需求分析说明书,对本次需求进行分析。 2、需求评审 SE、PM、开发、测试、QA人员对本次需求的实现方案以及可行性进行评审,对需求中有...
  • 软件测试的生命周期&测试流程

    万次阅读 多人点赞 2018-06-04 22:32:52
    、软件开发流程、测试流程梳理 六、C/S与B/S架构 七、对软件测试行业的理解 八、常见笔试面试题一、软件的生命周期定义:软件生命周期是指软件的产生直到报废的生命周期。 人类整理的第一软件生命周期:1970...
  • 软件测试干货——敏捷测试流程

    万次阅读 2017-08-29 16:42:47
    千锋教育软件测试:敏捷测试流程 千锋教育的王晓军老师在对敏捷测试做出介绍的时候与现行的瀑布式测试流程做出过对比: 对于一月的项目说,产品把需求分析完了给开发,然后产品就没事儿了;开发开发完成之后...
  • 软件测试工作流程

    千次阅读 2016-02-29 16:20:38
    一、测试各个阶段 测试计划阶段:产品立项之后,确定测试负责人,开始制定测试计划; 测试准备阶段测试用例,测试样机和配件,测试工具,测试人员全部到位。 测试执行阶段:负责人对测试任务分工,按计划执行测试...
  • 软件开发的一般流程

    千次阅读 2016-11-10 19:47:55
    (可说明软件的开发流程包括几个阶段,每个阶段做什么任务,出什么文档) 软件开发一般分为五个阶段: 1.问题的定义及规划 此阶段软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性。 文档为可行性...
  • 软件测试的流程一般要考虑3点:软件测试工作总体流程图、软件测试活动分布图和软件测试流程关系图。 1.4.1 软件测试工作总体流程图 软件测试的流程图分为软件测试工作总体流程图、需求阶段测试工作流程图、设计与...
  • 软件测试包括质量、人员、资源、技术和流程五大要素,以及测试覆盖率和测试效率两目标。 软件测试一般分为4个阶段:单元测试、集成测试、系统测试、验收测试。 一、单元测试  单元测试是对软件中的最小可...
  • 软件测试生命周期和流程

    万次阅读 多人点赞 2018-08-14 18:11:46
    一、软件生命周期 1、瀑布型生命周期模型 自相而下,相互衔接 1)问题的定义及规划 定义:确定软件的开发目的及其可行性。制定项目总体开发计划。(发现问题并规划) 人员:【产品经理】,运营,开发老大,...
  • 测试过程分为哪些阶段

    万次阅读 2019-08-15 21:53:50
    软件测试分为四个阶段: 单元测试阶段、集成测试阶段,系统测试阶段,验收测试阶段。 1、单元测试阶段:单元测试是以最小单位的测试、也是最初期的测试阶段、一般是以一函数方法窗口、一功能模块、都可以看做是...
  • 软件实施流程

    万次阅读 2018-03-06 18:15:17
    主要项目阶段阶段组成主要里程碑可交付成果启动阶段编制总体项目计划 签署的《总体项目计划》启动会项目启动会签署的《项目实施协议》需求调研阶段需求分析报告确认需求调研结束签署的《需求分析报告》软件实现软件...
  • 软件测试流程详解

    万次阅读 2019-06-02 14:45:19
    1.软件测试的定义: 使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 百度百科定义:软件测试(英语:Software Testing),描述一种用来...
  • 完整的软件项目开发流程

    万次阅读 多人点赞 2017-11-23 11:44:04
    在我转产品之前,虽然我混迹IT行业,做过实施和售前,也跟研发打过交道,但我一直都不知道一个软件是怎么开发出来的。直面客户,扛着压力,在对程序一无所知的情况下,很容易产生一些想法:为什么产品的结果是这样?...
  • 完整软件研发流程

    千次阅读 2019-10-14 16:50:38
    下图所示的是一个软件产品开发大体上所需要经历的全部流程: 1、启动 在项目启动阶段,主要确定项目的目标及其可行性。我们需要对项目的背景、干系人、解决的问题等等进行了解。并编制项目章程和组建项目...
1 2 3 4 5 ... 20
收藏数 104,873
精华内容 41,949
关键字:

软件测试流程五个阶段