软件测试基础理论(2)

软件测试基础理论

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

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

二, 软件测试的定义

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

三, 软件测试的目的

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

四, 软件测试的原则

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

五, 软件测试的对象

程序,文档,数据(不同阶段,测试对象也会不同,eg: 需求阶段测试, 测试对象就是需求文档)

六, 软件测试分类的划分标准

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

七, 单元测试UT(Unit Testing)

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

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

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

九, 系统测试ST(System Testing)

是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。这种测试可以发现系统分析和设计中的错误。如安全测试是测试安全措施是否完善,能不能保证系统不受非法侵入。再例如,压力测试是测试系统在正常数据量以及超负荷量(如多个用户同时存取) 等情况下是否还能正常地工作。

posted @ 2022-08-05 19:05  小胖子学编程  阅读(178)  评论(0编辑  收藏  举报