软件测试

臧艳辉

目录

  • 1 走近软件测试
    • 1.1 走近软件测试
    • 1.2 一个软件测试工程师必备的专业技能和素质
    • 1.3 章节测验
  • 2 软件测试技术
    • 2.1 正确认识软件测试
    • 2.2 软件测试遵循的基本原则
    • 2.3 软件测试的分类
    • 2.4 软件测试的过程模型
    • 2.5 章节测验
  • 3 测试中缺陷的识别与描述
    • 3.1 初识软件缺陷
    • 3.2 全面解析软件缺陷
    • 3.3 有效的记录缺陷
    • 3.4 缺陷报告实例
    • 3.5 缺陷报告模板
  • 4 项目测试计划的制定
    • 4.1 一个项目完整的测试流程
    • 4.2 初识测试计划
    • 4.3 测试计划的基本机构和内容
    • 4.4 测试计划模板和案例
  • 5 初识软件测试用例
    • 5.1 什么是测试用例
    • 5.2 项目测试中设计测试用例的作用
    • 5.3 如何设计一个项目的测试用例
    • 5.4 在测试过程中测试用例怎样进行更新和维护
  • 6 使用等价类划分方法设计测试用例
    • 6.1 等价类划分法的基本思想
    • 6.2 进行等价类划分法的原则
    • 6.3 使用等价类划分法设计测试用例实例
  • 7 使用边界值分析法设计测试用例
    • 7.1 边界值分析法的基本思想
    • 7.2 如何确定边界
    • 7.3 测试知识储备
    • 7.4 使用边界值分析法设计测试用例实例
    • 7.5 项目中如何进行健壮性边界值测试
    • 7.6 等价类+边界值
    • 7.7 章节测试
  • 8 使用大纲法设计测试用例
    • 8.1 什么是大纲法
    • 8.2 项目中如何使用大纲法设计测试用例
  • 9 使用场景法设计测试用例
    • 9.1 什么是场景法
    • 9.2 项目中如何使用场景法设计测试用例
  • 10 因果图和决策表结合设计测试用例
    • 10.1 因果图法的介绍
    • 10.2 决策表的介绍
    • 10.3 项目中选用因果图法和决策表设计测试用例需考虑的问题
    • 10.4 使用因果图法和决策表设计测试用例
  • 11 功能测试
    • 11.1 什么是功能测试
    • 11.2 功能测试的主要内容及测试策略
    • 11.3 功能测试的方法汇总
    • 11.4 功能测试的经验及注意事项
  • 12 界面测试
    • 12.1 界面检查的通用原则
    • 12.2 具体的界面检查的举例
    • 12.3 设计界面测试用例
    • 12.4 界面测试标准总结
  • 13 软件的安装卸载测试
    • 13.1 软件的安装卸载测试
    • 13.2 软件的安装测试
    • 13.3 软件的运行测试
    • 13.4 软件的卸载的测试
  • 14 项目中如何使用进行有效的缺陷管理
    • 14.1 进行缺陷管理的目标是什么
    • 14.2 项目中缺陷管理的流程是怎样的
    • 14.3 缺陷的跟踪方法有哪些
  • 15 测试报告该如何撰写
    • 15.1 软件质量评估
    • 15.2 如何撰写测试报告
    • 15.3 如何写项目总结
    • 15.4 如何写个人测试总结
  • 16 集成测试
    • 16.1 初识集成测试
    • 16.2 集成测试方法
  • 17 白盒测试
    • 17.1 初识白盒测试
    • 17.2 白盒测试技术——逻辑驱动测试
    • 17.3 白盒测试技术——循环覆盖测试
    • 17.4 白盒测试技术——基本路径测
  • 18 软件测试技术及岗位需求介绍
    • 18.1 软件测试岗位需求
    • 18.2 软件测试技术介绍
    • 18.3 软件测试比赛内容
    • 18.4 软件测试岗位应聘简历撰写
软件测试的过程模型
  • 1 电子教材
  • 2 PPT
  • 3 实训任务

2.4  软件测试的过程模型

人们在几十年的开发实践中总结出许多开发模型,如瀑布模型、原型模型、增量模型等,测试是软件全生命周期中一个重要的组成部分,随着人们对测试的重视程度与日俱增,人们意识到以往的开发模型都未强调测试的作用,无法指导测试实践。软件测试与软件开发一样,包含一系列有计划的系统性活动,其流程和方法也亟需相应模型的指导。软件测试专家通过实践活动总结出很好的测试过程模型,这些模型对测试活动进行抽象,并与开发活动有机结合,大大有助于提高测试过程的质量,并进而提高测试结果的准确性和有效性。典型的测试过程模型包括V 模型、W 模型、H 模型等。下面逐一来做介绍。

2.4.1  V 模型

RAD( Rap Application Development)是软件开发过程中的一个重要模型,称为快速应用开发模型。其模型构图形似字母V ,所以又称为V 模型。

V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系,从左到右,描述了基本的开发过程和测试行为,明确地标明了测试工程中存在的不同级别,清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。

如图2-8所示,V模型大休可以划分为下面几个不同的阶段步骤.即需求分析和系统设计、概要设计、详细设计、编码实现、单元测试、集成测试、系统测试、验收测试。

V 模型中,单元测试是基于代码的测试,最初由开发人员执行,以验证其可执行程序代码的各个部分是否已达到了预期的功能要求;集成测试验证了多个单元之间的集成是否正确,并有针对性地对详细设计中所定义的各单元之间的接口进行检查;在所有单元测试和集成测试完成后,系统测试开始模拟系统的运行,以验证系统是否达到了在概要设计中所定义的功能和性能;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户需要或合同的要求。

但是V模型也存在一定的局限性,它仅仅把测试作为在编码之后的一个阶段,测试是针对程序运行的寻找错误的活动,在需求分析、系统设计阶段引入的错误需要到系统测试和验收测试时才发现。

2-7 软件测试过程V模型

2.4.2  W 模型

W模型是从V模型演化过来的,实际上开发是一个V 模型,测试也是与此并行的一个V 模型。基于“尽早地和不断地进行软件测试”的原则,在软件的需求和设计阶段的测试活动应遵循《软件验证和确认(VerificationValidation)》(IEEE std1012-1998)原则。一个基于V&V 原理的W 模型如图2-9所示。

W 模型强调:测试伴随着整个软件开发周期,而测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W 模型有利于尽早全面地发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险。及早制定应对措施,这将显著减少总体测试时间。加快项目进度。


2-8 软件测试过程W模型

W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为是串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一阶段工作,这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W 模型并不能完全解除测试管理面临的困惑。

小结

Ø  对软件测试正确的认识

Ø  软件测试遵循的基本原则

Ø  软件测试的分类

Ø  软件测试的过程模型