测试工作流程

上一篇 / 下一篇  2007-11-13 23:55:41 / 个人分类:测试技术

  • 测试工作流程(功能测试部分)

    按照产出的文档,介绍项目开发过程中的工作步骤
            1.测试计划:这个计划,我个人觉得应该在详细设计确定后,代码开始编写的时候进行制定,因为我是“提早开始测试工作”思路的忠实fans,虽然现在项目里都只有我一个人在这么早开始工作。。。-_-///
            a)         测试计划,主要是给后面的测试工作一些指南,不能写成领导看的计划,而是要写成由做事的人看的计划
            b)        包含的内容可能有:
            i.              测试团队人员及分工(要确定当测试时出现缺陷界定、测试环境准备等问题时能找到指定的人员)
            ii.              测试开始结束时间(理想情况下,不要安排的太紧,赶工肯定会造成延期或测试不完整,可惜理想和现实的差距被规定为很大)
            iii.              测试环境配置(什么样的硬件条件,是否网络、设备等,系统在什么地址访问,访问权限、使用的测试数据等方面的预计和准备)
            iv.              测试哪些东西要说清楚,这里我建议把简单的测试大纲纳入测试计划中,一方面领导可以看到你的计划写的多详细,另一方面大纲可以很好的成为编写用例的依据
            v.              怎么测试要说明白,如只做系统测试,那就要写清楚不做集成测试,如果需要集成测试,就需要写明白集成顺序。另外如果需要进行性能、文档、等其他的测试也要在这个计划中写明,虽然一般这个计划都是针对功能测试,但是如果有其他测试,也要写出来并安排时间,相应测试的相关计划等也需要指明
            vi.              测试结束标志(要说明测试达到什么程度可以结束测试,不能等到把所有缺陷都找出来以后才结束,因为那将是一万年),允许缺陷存留在系统里,我们只需要找到留多少这个度就够了
            2.测试用例:这个文档,主要描述具体的测试步骤,但实际应用中,至少目前我的项目里,由于时间的原因,很少有写的,就算写了的,也基本没有用到测试里,在这边的很多项目大都是直接来测,全凭我个人的经验来检查(在此感谢领导们对于我二把刀技术的信任_@_)。但是我想说其实他很重要,也许你不需要写的很详细,但是绝对需要通过这样的步骤来理顺思路,这个文档的好坏和实用程度,直接可以决定你是否能“用最少的工作(量和时间),尽早的发现尽可能多的缺陷”,写这个文档需要用到一些测试方法理论,如等价类划分、边界值、这个表那个表(汗。。。忘记了)
            3. 缺陷记录:是功能测试过程中使用频率最高的文档,用于在测试过程中记录发现的缺陷,并由开发人员作为修改缺陷的依据,以及修改后测试人员进行回测的主要依据
            a)         该文当也有助于分析开发人员存在的“错误集群”现象,总结易出错的地方,对缺陷多的部分做更深入的测试,并提醒开发人员避免缺陷
            b)        缺陷记录填写指南:
            i.              缺陷级别(即严重程度),一般由公司统一定义,为发现的缺陷进行分类,以便决定修改的缓急
            ii.              bug分类:区分发生的位置,是功能的,还是性能的,是有效性问题 还是其他问题等,与bug级别一起,用于决定bug的修改要求度
            iii.              bug状态:是标志bug的当前情况,标识是否被处置(关闭状态),
            iv.              上述这些指标一般由公司统一定义(一般标准都大同小异),也会用于项目的度量
    c)        缺陷记录使用时的注意点:
            i.              描述bug要有三要素:在哪里,什么情况(前提)下,发生了什么样的问题
            ii.              可以借助截图、引用位置、模块等方式来描述bug,目的是让开发人员能够通过您的描述立刻马上能够重现bug,即使不能重现,也能让开发人员了解到错误的所在
            iii.              缺陷报告要由开发人员和测试人员共同完成,测试人员要督促开发人员填写该表以便测试后续的回测工作
            iv.              如果是在执行用例的同时填写bug报告,用例的最后一列一般可以填写用例的执行结果,如果用例发生了非期望的结果,那么就要把问题记录在缺陷记录中,此时可以在缺陷记录中引用该用例的编号
            4. 测试总结报告:用于报告和总结项目测试工作的执行结果,列举和统计相关测试数据,对比分析数据即工作中存在的问题为后续工作做出提示,并记录遗留的问题等
            a)         总结报告的还有一个功能就是告诉项目组成员该系统已经按照测试计划的要求进行了测试,并已经达到测试计划中说明的“测试结束条件”,可以证明系统已经达到测试计划所期望的质量
            b)        这份测
  • 软件测试流程

    2007-11-09 13:52:25

    一、概述

     

    一般而言,软件测试从项目确立时就开始了,前后要经过以下一些主要环节:

    需求分析→测试计划→测试设计→测试环境搭建→测试执行→测试记录→缺陷管理→软件评估→RTM.

     

    在进行有关问题阐述前,我们先明确下分工,一般而言,需求分析、测试用例编写、测试环境搭建、测试执行等属于测试开发人员工作范畴,而测试执行以及缺陷提交等属于普通测试人员的工作范畴,测试负责人负责整个测试各个环节的跟踪、实施、管理等。

    说明:

    1.以上流程各环节并未包含软件测试过程的全部,如根据实际情况还可以实施一些测试计划评审、用例评审,测试培训等。在软件正式发行后,当遇到一些严重问题时,还需要进行一些后续维护测试等。

     

    2.以上各环节并不是独立没联系的,实际工作千变万化,各环节一些交织、重叠在所难免,比如编写测试用例的同时就可以进行测试环境的搭建工作,当然也可能由于一些需求不清楚而重新进行需求分析等。这就和我们国家提出建设有中国特色的社会主义国家一样,只所以有中国特色,那是因为国情不一样。所以在实际测试过程中也要做到具体问题具体分析,具体解决。

     

    二、测试流程

     

     

        

    需求分析

     

    需求分析(Requirment Analyzing)应该说是软件测试的一个重要环节,测试开发人员对这一环节的理解程度如何将直接影响到接下来有关测试工作的开展。

    可能有些人认为测试需求分析无关紧要,这种想法是很不对的。需求分析不但重要,而且至关重要!

     

    一般而言,需求分析包括软件功能需求分析、测试环境需求分析、测试资源需求分析等。

     

    其中最基本的是软件功能需求分析,测一款软件首先要知道软件能实现哪些功能以及是怎样实现的。比如一款Smartphone包括VoIPWi-Fi以及Bluetooth等功能。那我们就应该知道软件是怎样来实现这些功能的,为了实现这些功能需要哪些测试设备以及如何搭建相应测试环境等,否则测试就无从谈起!

     

    既然谈了需求分析,那么我们根据什么来分析呢?总不能凭空设想吧。

     

    总得说来,做测试需求分析的依据有软件需求文档、软件规格书以及开发人员的设计文档等,相信管理一些规范的公司在软件开发过程中都有这些文档。

     

    测试计划

      

    测试计划(Test Plan)一般由测试负责人来编写。

     

      测试计划的依据主要是项目开发计划和测试需求分析结果而制定。测试计划一般包括以下一些方面:

     

    1. 测试背景

    a.      软件项目介绍;

    b.      项目涉及人员(如软硬件项目负责人等)介绍以及相应联系方式等。

    2. 测试依据

    a.      软件需求文档;

    b.      软件规格书;

    c.      软件设计文档;

    d.      其他,如参考产品等。

    3. 测试资源

    a.      测试设备需求;

    b.      测试人员需求;

    c.      测试环境需求;

    d.      其他。

    4. 测试策略

    a.      采取测试方法

    b.      搭建哪些测试环境;

    c.      采取哪些测试工具测试管理工具;

    d.      对测试人员进行培训等。

    5. 测试日程

    a.      测试需求分析;

    b.      测试用例编写;

    c.      测试实施,根据项目计划,测试分成哪些测试阶段(如单元测试、集成测试、系统测试阶段,α、β测试阶段等),每个阶段的工作重点以及投入资源等。

    6. 其他。

     

    测试计划还要包括测试计划编写的日期、作者等信息,计划越详细越好了。

    计划赶不上变化,一份计划做的再好,当实际实施的时候就会发现往往很难按照原有计划开展。如在软件开发过程中资源匮乏、人员流动等都会对测试造成一定的影响。所以,这些就要求测试负责人能够从宏观上来调控了。在变化面前能够做到应对自如、处乱不惊那是最好不过了。

     

    测试设计

     

    测试设计主要包括测试用例编写和测试场景设计两方面。

     

    一份好的测试用例对测试有很好的指导作用,能够发现很多软件问题。关于测试用例编写,请参见前面写的《也谈测试用例》一文,里面有详细阐述。

     

    测试场景设计主要也就是测试环境问题了。

     

    测试环境搭建

     

    不同软件产品对测试环境有着不同的要求。如C/SB/S架构相关的软件产品,那么对不同操作系统,如Windows系列、unixlinux甚至苹果OS等,这些测试环境都是必须的。而对于一些嵌入式软件,如手机软件,如果我们想测试一下有关功能模块的耗电情况,手机待机时间等,那么我们可能就需要搭建相应的电流测试环境了。当然测试中对于如手机网络等环境都有所要求。

     

    测试环境很重要,符合要求的测试环境能够帮助我们准确的测出软件问题,并且做出正确的判断。

     

    为了测试一款软件,我们可能根据不同的需求点要使用很多不同的测试环境。有些测试环境我们是可以搭建的,有些环境我们无法搭建或者搭建成本很高。不管如何,我们的目标是测试软件问题,保证软件质量。测试环境问题,还是根据具体产品以及开发者的实际情况而采取最经济的方式吧。

     

    测试执行

       

    测试执行过程又可以分为以下阶段:

     

    单元测试→集成测试→系统测试→出厂测试,其中每个阶段还有回归测试等。

     

    从测试的角度而言,测试执行包括一个量和度的问题。也就是测试范围和测试程度的问题。比如一个版本需要测试哪些方面?每个方面要测试到什么程度?

     

    从管理的角度而言,在有限的时间内,在人员有限甚至短缺的情况下,要考虑如何分工,如何合理地利用资源来开展测试。当然还要考虑以下问题:

    1. 当测试人员测试的执行不到位、敷衍了事时该如何解决?

    2. 测试效率问题,怎样提高测试效率?

    3. 根据版本的不同特点是只做验证测试还是采取冒烟测试亦或是系统全面测试?

    4. 当测试过程中遇到一些偶然性随机问题该怎样处理?

    5. 当版本中出现很多新问题时该怎样对待?测试停止标准?

    6. ……

    总之,测试执行过程中会遇到很多复杂的问题,还是那句话,具体问题具体解决!本文不做过多阐述。

     

    测试记录

     

    缺陷记录总的说来包括两方面:由谁提交和缺陷描述。

     

    一般而言,缺陷都是谁测试谁提交,当然有些公司可能为了保证所提交缺陷的质量,还会在提交前进行缺陷评估,以确保所提交的缺陷的准确性。

     

    在缺陷的描述上,至少要包括以下一些方面内容:

    序号

    标题

    预置条件

    操作步骤

    预期结果

    实际结果

    注释

    严重程度

    概率

    版本

    测试者

    测试日期

     

    以上是描述一个bug时通常所要描述的内容,当然在实际提交bug时可以根据实际情况进行补充,如附上图片、log文件等。

     

    另外,一个版本软件测试完毕,还要根据测试情况出份测试报告,这也是所要经过的一个环节。

     

    缺陷管理

     

    缺陷管理方面,很多公司都采取缺陷管理工具来进行管理,常见缺陷管理工具有Test DirectorBugfree等。

     

    下图是一个bug从提出到close所经过的一些流程,其他比如keep No action\keep spec等一些状态流程都未包含在内,在此仅做示范说明。

     

     

    注:软件缺陷和bug两者在含义上有着细微差别,本文统称缺陷。

     

    软件评估

     

    这里评估指软件经过一轮又一轮测试后,确认软件无重大问题或者问题很少的情况下,对准备发给客户的软件进行评估,以确定是否能够发行给客户或投放市场。

    软件评估小组一般由项目负责人、营销人员、部门经理等组成,也可能是由客户指定的第三方人员组成。

     

    测试总结

     

    每个版本有每个版本的测试总结,每个阶段有每个阶段的测试总结,当项目完成RTM后,一般要对整个项目做个回顾总结,看有哪些做的不足的地方,有哪些经验可以对今后的测试工作做借鉴使用,等等。测试总结无严格格式、字数限制。应该说,测试总结还是很总要的。

     

    测试维护

     

      由于测试的不完全性,当软件正式release后,客户在使用过程中,难免遇到一些问题,有的甚至是严重性的问题,这就需要修改有关问题,修改后需要再次对软件进行测试、评估、发行。

  • 软件自动化测试流程

    2007-11-09 11:42:25

    软件自动化测试工具软件测试流程,不仅仅包含完整的软件测试流程框架,同时还提供了内嵌
  • TAG: 测试技术

     

    评分:0

    我来说两句

    Open Toolbar