天天看点

软件测试基础理论概述

软件测试基础理论

一, 为什么要进行软件测试

​为了通过软件测试,尽可能减少bug,保证软件质量​

二, 软件测试的定义

​为了发现软件中的缺陷而执行程序或系统的过程​

三, 软件测试的目的

​以最少的人力物力发现软件中的缺陷和潜在的问题,满足客户的需求​

四, ​

​软件测试的原则​

  • 测试应该追溯到需求
  • 尽早测试,不断测试
  • 穷尽测试不可能,需要及时终止
  • 80%的bug来源于20%的模块
  • 程序员避免检查自己的程序(不代表不用自测)
  • 要有计划的,有目的的进行测试
  • 测试用例既要正向用例,也需要反向用例
  • 要彻底检查用例的执行结果(查看相关联的模块结果)
  • 保存测试过程中的相关文档和数据,为项目管理提供依据

五, 软件测试的对象

​程序,文档,数据​

​​(不同阶段,测试对象也会不同,​

​eg​

​: 需求阶段测试, 测试对象就是需求文档)

六, ​

​软件测试分类的划分标准​

  • 按阶段:单元测试, 集成测试, 系统测试, 验收测试
  • 程序是否运行: 动态测试, 静态测试
  • 是否查看代码: 白盒测试, 黑盒测试, 灰盒测试
  • 其他: 兼容测试, 安全测试, 回归测试, 冒烟测试, 随机测试, app测试, 接口测试

七, ​

​单元测试UT(Unit Testing)​

  • 对软件的最小组成单元(方法,模块,类) 进行的测试, 主要测试单元内部的数据结构,逻辑控制,异常处理
  • 驱动模块:调用其他模块的模块
  • 桩模块:被其他模块调用的模块

八, ​

​集成测试IT(Integration Testing) 系统集成测试SIT(System Integration Testing)​

  • 集成测试也叫组装测试,是属于灰盒测试一种,一般通过接口测试来进行系统集成,包括系统内部接口和外部接口
  • 集成测试的方式:非增量式,增量式
  • 非增量式:一次性集成所有模块
  • 增量式:
  1. 自顶向下---从顶层模块向下层模块集成
  2. 自底向上---从底层模块向上层模块集成

九, 系统测试ST(System Testing)