测试的相关概念

测试:

  • 开发 :项目经理/架构师(软件设计) 高级开发 中级开发 初级开发
    • 开发管理:需求 测试报告 计划 测试用例
  • 测试:测试经理 高级测试 中级测试 初级测试
    • 1 功能测试/性能测试
    • 2 系统测试
      • bug:
        • 致命bug
        • 严重bug 影响流程
        • 一般bug
        • 建议bug
      • 接口测试 :工具测试(app,web工具)
      • 自动化测试
    • 3 操作文档(帮助文档)

软件测试的目的和定义

  • 什么是软件测试
    • 定义:
      • 软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一
      • 进行软件测试可以是人工方式,也可以借助于工具
      • 进行软件测试可以运行软件也可不运行软件
      • 软件测试的目的不仅仅是为了发现错误
        • 目的:以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险
        • 目的-证明:
        • 获取系统在可接受风险范围内可用的信心
        • 尝试在非正常情况和条件下的功能和特性
        • 保证一个工作产品是完整的并且可用或者可被集成
        • 目的-检测
        • 发现缺陷,错误和系统不足
        • 定义系统的能力和局限性
        • 提供组件,工作产品和系统的质量信息
        • 目的-预防
        • 澄清系统的规格和性能
        • 提供预防或减少可能制造错误的信息
        • 在过程中尽早检测错误
        • 确认问题和风险并且提前确认这些问题和风险的途径
        • 软件测试的主要工作
        • 检测代码,评审开发文档
        • 进行测试设计,写作测试文档(测试计划,测试方案,测试用例)
        • 执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正
        • 通过测试度量软件的质量

软件生命周期

  • 计划(开发/测试)
    • 工作内容 :
      • 确定软件开发总目标
      • 给出软件的功能,性能,可靠性以及接口等方面的设想
      • 研究完成该项目的可行性,探讨问题解决方案;
      • 对可供开发使用的资源、成本、可取得的效益和开发进度作出估计;
      • 制定完成开发任务的实施计划。
  • 需求分析:
    • 工作内容:
      • 对开发的软件进行详细的定义,由需求分析人员和用户共同讨论决定,那些需求是可以满足的,并且给予了确切的描述,写出软件需求说明书SRS(software requirement specification)
    • 软件研发的类型不同,需求的来源也不同,需求分析中的用户针对的具体内容也不同
    • 针对产品的软件研发(自主研发)
      • 需求来源:市场调研
      • 用户:市场调研人员
      • 特点:自己想研发什么,自己就来研发
    • 针对项目的软件研发(需求开发)
      • 需求来源:客户要求
      • 用户:实际用户
      • 特点:别人想研发什么,我们帮助研发
  • 设计
    • 工作内容
      • 设计是软件工程的技术核心,这个阶段需要完成设计说明书
      • 概要设计(HLD),在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块;
      • 详细设计(LLD),对每个模块要完成的工作进行具体的描述。
  • 编码
    • 工作内容:
      • 把软件设计转换成计算机可以接受的程序,即写成以某个程序设计语言表示的源程序清单,使用RDBMS工具建立数据库。
  • 测试
    • 工作内容:
      • 测试时检验软件是否符合客户需求,达到质量要求,一般由独立的小组独立执行,测试工作分为:
        • 单元测试
        • 集成测试
        • 系统测试
  • 运行维护
    • 工作内容:
      • 这个阶段将软件交付用户投入正式使用,以后便进入维护阶段,可能由多种原因需要对它进行修改,如软件错误,系统软件升级,增强软件功能,提高性能

软件测试

项目开发生命周期