51Testing软件测试论坛

标题: 软件测试的工作过程 [打印本页]

作者: peag    时间: 2010-4-22 23:32
标题: 软件测试的工作过程
测试计划→ 测试设计→ 测试开发→ 测试执行→ 测试评估→测试报告→缺陷跟踪


测试计划的定义:
叙述了预定测试活动的范围、途径、资源及进度安排文档。它确认了测试的项目、被测特征、测试任务、人员的安排、以及任何偶发计划的风险


第一部分:测试计划
测试计划的问题:
  1、测试计划经常是等到开发周期后期才开始实行,使得没有时间有效的执行计划;
  2、测试计划的组织者可能缺乏Client/Server测试经验;
  3、测试的量度和复杂性可能太大,没有自动化工具,很难计划和控制。


测试计划最重要的一部分内容就是如何考虑测试策略:


    测试策略的定义:  
     测试策略描述测试工程的总体方法和目标。描述目前在进行哪一阶段的测试(单元测试、集成测试、系统测试)以及每个阶段内在进行的测试种类(功能测试、性能测试、压力测试等)。


  测试策略包括


  1、要使用的测试技术和工具;
  2、测试完成标准;
  3、影响资源分配的特殊考虑例如测试与外部接口或者模拟物理损坏、安全性威胁。


  测试计划最关键的一步就是将软件分解成单元,写成测试需求。
  测试需求有很多分类方法,最普通的一种就是按照商业功能分类。把软件分解成若干个单元部分有几个好处:


  1、测试需求是测试设计和开发测试用例的基础,分成单元可以更好地进行设计;
  2、详细的测试需求是用来衡量测试覆盖率的重要指标;
  3、测试需求包括各种测试实际和开发以及所需资源。


怎样估计测试工作量:


  1、效率假设:即测试队伍的工作效率。对于功能测试,这主要依赖于应用的复杂度,窗口的个数,每个窗口中的动作数目。对容量测试,主要依赖于建立测试所需数据的工作量大小。
  2、测试假设:为了验证一个测试需求所需测试动作数目。
  3、应用的维数:应用的复杂度指标。例如要加入一个记录,测试需求的维数就是这个记录中域的数目。
  4、所处测试周期的阶段:有些阶段主要工作都在设计,有些阶段主要是测试执行。


    测试资源:


  1、人力资源


  测试经理
  为测试项目提供总体方向。开发测试计划、征集并监督测试人员、申请系统资源、监视并汇报工作进程、测试评估、测试需求的分解。


  测试工程师---- 设计和开发
  设计:对被测软件的详细了解、分解测试需求的技能、选择在C/S环境下用来验证测试需求的技术。
  开发:熟悉SQA、VB、和脚本语言。


  测试工程师---- 执行
  负责测试执行和记录结果。需要能够安装系统,网络知识,初始化数据库和其他初始条件。重要的是诊断能力。


  测试系统管理者
  每个测试项目必须指定一个专人负责管理SQA Suite。包括在服务器上安装存储库,安装打印机连接,执行备份,以及其他维护工作。管理者必须高度熟悉SQA,网络工作经验。


  2、系统资源
  安装SQA Suite的硬件和软件环境
  数据库服务器
  该服务器必须专用于
测试工作,能够重置某些初始值,包括系统日期和时间等。


第二部分:测试设计


测试设计的定义:


当测试计划完成之后,测试过程需要进入软件设计和开发阶段。软件测试设计时间里在计划书的基础上,认真理解测试计划的测试大纲、测试内容以及测试通过的准则,建立测试用例来完成测试内容的、典型的逻辑转换,作为测试的实施依据,以实现所确定的测试目标。


测试设计的问题
  1、不做测试设计,测试过程也是胡乱建立的。
  2、测试设计不详细,不是基于可量度的测试策略,例如测试计划覆盖一个集合或者测试需求的一个子集。
  3、测试过程没有采用最好的技术来检验Windows C/S结构的测试需求


测试用例的选择规则
  1、选择与测试需求的实质部分最相关的测试用例。
  2、选择的测试用例应该不容易应用程序的改变的影响。



 
    生成测试需求报告
       ↓
     指定测试过程
       ↓
   指定测试用例(可选)
       ↓
    回顾测试覆盖率


第三部分:测试开发


测试开发的定义:
根据当初的测试设计来进行测试用例的编写,测试数据的准备等等围绕与测试设计相关的工作活动内容


输入:被测软件、基于测试需求的测试设计
输出:测试过程和测试用例


目标:
  1、创建可以重用的测试过程和测试用例
  2、维护测试过程、测试用例与相关测试需求的一一对应。


测试开发的问题:
  1、测试开发很乱,与测试需求或测试策略没有对应性
  2、测试过程不可重复或不可重用
  3、测试过程被作为一个编程任务来执行,导致脚本太长,不能满足软件移植性的要求。
错误处理
  当测试过程发生错误时,有几种解决办法:
  1、跳转到别的测试过程
  2、调用一个能够清除错误的过程
  3、退出过程,启动另一个
  4、退出过程和应用程序,重新启动启动Windows,在失败的地方重新开始测试


测试开发的步骤
  1、设立测试开发环境

  2、录制和回放原型过程


  原型过程指出所有未知窗口控制,使得他们都能象标准窗口那样动作或者没有特别的动作,把他们都划归为Generic类型。通过这个过程,SQA Robot就知道该怎样处理应用中的特殊控制。
  1、把recording option 中的Define Unknown Object as Type Generic选项设置为off
  2、使用的过程标识符要可以被覆盖,或者能被删掉。因为这只是个原型,用来教SQA Robot 录制的过程
  3、录制测试过程和测试用例
  1、录制模块测试过程和与测试需求最低层对应的测试用例;
  2、录制初始化过程;
  3、录制导航过程,把前面的过程串起来;
  4、测试和调试测试过程
  5、修改测试过程(可选)
  6、建立外部数据集合
  如果测试过程是用来循环一套输入和输出数据,就需要建立数据集合。
  7、重复测试和调试测试过程,回到4

第四部分:测试执行


测试执行定义
根据测试计划的进度安排,参照测试方案和测试用例执行测试的活动叫做测试执行


测试执行的问题
  1、自动化测试没有有效的利用,使得手工测试太多。
  2、测试结果的捕获没有系统性,而且没有查看或调查
  3、缺陷报告必须用手工加入缺陷跟踪系统


具体步骤:
  1、建立测试系统
  2、准备测试过程
  3、运行初始化过程
  4、执行测试
  5、从终止的测试恢复
  6、验证预期结果
  7、调查突发结果
  8、记录缺陷日记


第五部分:测试评估

测试评估的定义


根据测试用例的结果对本次测试进行质量评估,以评估本次测试是否达到预期目标

测试评估的目标
  1、量化测试进程
  2、生成缺陷和测试覆盖率的总结报告
测试评估的问题
  1、没有把测试覆盖率作为报告测试进程的根据,使得不知测试是否结束;
  2、没有做缺陷评估,缺陷评估是量度软件可行性的重要指标;
  3、不使用专门的软件工具进行数据输入任务和相应的评估活动,使得这些任务变得繁重累人。
测试覆盖率
  评估测试完成多少的标准
缺陷评估
  评估软件质量的重要指标,通常评估模型假设缺陷的发现是呈泊松分布的;严格的缺陷评估要考察在测试过程中发现缺陷的间隔时间长短。评估要估计软件当前的可靠性并预测随着测试的继续进行,软件可靠性会怎样提高。
  
具体步骤
  1、回顾测试日记
  2、评估测试需求的覆盖率
  3、分析缺陷
  4、决定是否达到完成测试的标准,没有满足标准时
    1、再测试
    2、降低标准
    3、确定软件的一个满足标准的子集,看是否可以发布
作者: 晴天骄阳    时间: 2010-4-23 10:35
不错嘛,为何没人顶
作者: 投缘    时间: 2010-4-23 10:42
不错,挺全面,顶
作者: liuqiang157    时间: 2010-4-23 11:42
收藏了,谢谢!
作者: qin1108    时间: 2010-4-23 14:23
谢谢了! !!!!!!!!!!!!!!!!!!
作者: 涙の雾雨    时间: 2010-4-23 16:23
标题: 感谢
感谢。。。我还要慢慢看呢。。。呵呵。。。谢啦




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2