• 注册
  • 查看作者
    • 软件测试工程师培训-软件测试概述

      课程概览        中国可靠性论坛交流PPT文件下载

      软件测试基本概念  软件测试技术
      软件测试方法  软件测试流程
      软件测试过程  微软软件测试简介

      课程目标
      掌握软件测试的基本概念
      理解测试对于软件质量保障的重要性
      了解软件测试的基本流程和过程
      理解白盒测试、黑盒测试的含义和方法
      理解测试的分类和内容

      课程内容
      软件测试基本概念  软件测试技术
      软件测试方法  软件测试流程
      软件测试过程  微软软件测试简介
      软件测试基本概念

      什么是软件测试

      广义的概念
      指软件生存周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认
      狭义概念
      识别软件缺陷的过程,即实际结果与预期结果的不一致
      软件测试通常包括验证(verification)和确认(validation):
      验证指保证软件正确的实现了某一特定功能的一系列活动
      确认指的是保证软件的实现满足了用户需求的一系列活动

      软件测试的目的
      测试的目的就是发现软件中的各种缺陷
      测试只能证明软件存在缺陷,不能证明软件不存在缺陷
      测试可以使软件中缺陷降低到一定程度,而不是彻底消灭
      以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量

      测试的目标
      最终目的是确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付前发现并改正:
      确保软件完成了它所承诺或公布的功能
      确保软件满足性能的要求
      确保软件是健壮的和适应用户环境的
      为软件的质量评估提供依据
      为软件质量改进和管理提供帮助

      软件测试原则
      Good-enough: 一种权衡投入/产出比的原则
      保证测试的覆盖程度,但穷举测试是不可能的
      所有的测试都应追溯到用户需求
      越早测试越好,测试过程与开发过程应是相结合的
      测试的规模由小而大,从单元测试到系统测试
      为了尽可能地发现错误,应该由独立的第三方来测试
      不能为了便于测试擅自修改程序
      既应该测试软件该做什么也应该测试软件不该做什么

      测试的规律
      木桶原理:
      软件质量的关键因素是分析、设计和实现,测试应该是融于其中的补充检查手段,其他管理、支持、甚至 文化因素也会影响最终软件的质量
      测试是提高软件质量的必要条件,最直接、最快捷的手段,但决不是一种根本手段
      Bug的80-20原则
      在分析、设计、实现阶段的复审和测试工作能够发现和避免80%的Bug
      而系统测试又能找出其余Bug中的80%
      最后的5%的Bug可能只 有在用户的大范围、长时间使用后才会曝露出来

      软件测试的重点
      测试用例的良好设计
      测试用例的设计是整个软件测试工作的核心
      测试用例反映对被测对象的质量要求,决定对测试对象的质量评估
      测试工作的管理
      尤其是对包含多个子系统的大型软件系统,其测试工作涉及大量人力和物力,有效的测试工作管理是保证有效测试工作的必要前提
      测试环境的建立
      测试环境应该与实际测试环境一致

      软件测试可以发现以下软件缺陷:
      软件实现的功能不正确
      “缺少”:软件没有实现某项功能
      “多余”,软件实现的某项功能在需求中没有定义
      发现第一类软件缺陷的过程 — “验证”
      发现后两类软件缺陷的过程 — “确认”

      测试成功率:
      有多少测试已经通过了,并且有多少是运行正常的?需记录以下值:
      已通过的测试用例的数目
      可利用的测试用例的数目

      软件测试的质量
      软件测试本身的质量在于:
      发现软件缺陷并能区分其类型
      提供关于软件质量和开发过程质量的信息

      软件测试度量

      测试覆盖率
      有多少需求、代码已经被测试了
      缺陷发现率
      缺陷是何时被发现,并且有多少缺陷已经被发现。缺陷可以根据严重性来分类。需记录以下值:
      缺陷数目
      缺陷的严重性

      软件测试的分类
      典型的软件测试类型
      功能测试 可靠性测试
      容错性测试 恢复测试
      易用性测试 性能测试
      可维护性测试  可移植性测试
      安全性测试 用户文档测试

      软件的可测试性
      软件容易被测试的程度,包括下面几个指标:
      可确认性:可以明确确认软件是否符合要求,例如有明确的要求和指标
      可观察性:用于确认的结果可以进行有效的观察
      可控制性:相对应的测试环境可以进行控制,从而保证测试的有效性
      可分解性:软件可以进行分解,对分解的结构进行测试

      软件测试技术
      黑盒测试/白盒测试
      动态测试/静态测试

      什么是黑盒测试
      又称功能测试或数据驱动测试,是针对软件的功能需求/实现进行测试
      通过测试来检测每个功能是否符合需求,不考虑程序内部的逻辑结构
      穷举输入测试

      黑盒测试方法
      功能划分
      等价类划分
      边界值分析
      因果图
      错误推测等

      什么是白盒测试
      白盒测试也称结构测试或逻辑驱动测试
      必须知道软件内部工作过程,通过测试来检测软件内部是否按照需求、设计正常运行
      通过逻辑覆盖、路径覆盖等方式选择测试用例,可以用测试覆盖率评价测试用例

      白盒测试的主要方法
      对应于程序的一些主要结构:语句、分支、逻辑路径、变量;白盒测试的主要方法是:
      语句覆盖方法
      分支覆盖方法
      逻辑覆盖方法
      动态测试
      动态测试需要在开发/测试环境或实际运行环境中运行软件,并使用测试用例去查找软件缺陷
      动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等 

      静态测试
      静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估
      静态测试包括代码检查、程序结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行

      黑盒测试、白盒测试
      测试用例设计阶段采用的方法
      动态测试、静态测试
      测试执行阶段采用的方法

      手工测试和自动测试
      手工测试
      自动测试
      适合自动化的测试操作
      手工测试和自动测试的比较

      自动测试   等等

    • 0
    • 0
    • 0
    • 1.7k
    • 请登录之后再进行评论

      登录
    • 可靠性工程软件ReliaSoft中国总代理上海山外山机电
    • 东莞市帝恩检测有限公司
    • 江苏拓米洛高端装备股份有限公司
    • 发布内容
    • 做任务
    • 动态
    • 风格
    • 到底部
    • 单栏布局 侧栏位置: