首页 > 技术文章 > 测试基础

hankh 2019-04-01 19:18 原文

1、什么是测试?

  • 狭义:发现软件系统中的问题和缺陷
  • 广义:利用静态和动态的测试手段对软件系统进行证明和检测
  • IEEE:通过人工或者自动化的手段执行程序或者运行系统,来检测软件系统是否符合用户的需求或者是否和预期结果有偏差
  • GJmayer:
    1. 好的测试就是发现迄今为止未发现的缺陷
    2. 成功的测试是指定法相更多缺陷的方案
    3. 测试是为了发现缺陷而执行程序的过程

2、测试的目的?

  初期:证明(20世纪50--60年代)

  中期:检测(20世纪70年代)

  后期:证明+预防(20世纪80年代--至今)

  目前:软件系统比较复杂,测试不能穷举;检测问题;

      对简单的指令或者程序做证明

      异常的数据操作;非功能方面的要求

3、软件产品的生命周期  

  • 项目计划:
    1. 项目的可行性(成本,技术)
    2. 项目的时间安排(开始时间,结束时间)
    3. 项目的人员(开发人员,测试人员,业务分析人员)
  • 需求分析:
    1. 功能
    2. 非功能(性能分析,界面,可靠性,移植性)
    3. 接口分析
    4. 技术(不涉及到详细的技术)
  • 设计:(根据软件系统规模的大小复杂度的高低有不同层次的设计)
    1. 概要设计(HLD)
    2. 详细设计(LLD)
  • 实现(编码):
  • 测试:
    1. 单元
    2. 集成
    3. 系统
  • 运行:
  • 评价和维护

 

4、测试的几个专业术语

  • SRS:需求分析文档
  • HLD:概要设计文档
  • LLD:详细设计文档
  • BD:基本设计
  • DD:详细设计
  • FD:结构设计

推荐阅读