软件测试必要性:测试是所有工程学科基本组成单元,也是软件开发重要组成部分
软件测试的定义:正面、反面 IEEE 定义:在特定条件下运行系统或构件、观察或记录结果,对系统某个方面做出评价
分析某个软件项以发现现存和要求的条件之差别并评价此软件项的特性
软件测试是由验证和有效性确认活动构成的整体
软件质量 IEEE 定义:系统、部件或过程满足规定需求的程度
满足顾客或用户需求或期望的程度
功能、可靠、易用、效率、可维护、可移植 4
软件缺陷 缺陷是对软件产品预期属性的偏离现象
与产品说明书不符
缺陷产生:技术问题、团队工作、软件本身 缺陷构成:规格说明书、设计、代码、其他 缺陷修复成本:发布》测试》编程》设计》需求分析 5
验证、确认 验证:是否正确构造了软件 确认:是否构造了正式用户所需要的软件 6
测试分类 测试阶段层次:单元测试、集成测试、系统测试、验收测试 测试目的:功能测试、性能测试、可靠性测试、安全性测试、兼容性测试 是否执行:静态测试、动态测试
是否针对内部:白盒测试、黑盒测试 7
测试阶段 A 需求和设计审查 B 单元测试(白盒代码,代码评审可以发现 50%-70%错误) C 集成测试(组成测试,一次性集成、增殖式集成) D 功能测试(确认功能是否正常使用) E 系统测试(放在计算机环境下测试,硬件平台、软件支持) F 验收测试(向用户表名系统可以正常工作,符合期待) G 安装测试(按照安装手册,模拟用户环境,进行安装操作测试) 8
工作范畴 测试实施:制定测试策略、测试计划、确定测试方法规范,控制测试进度,管理测试资源
组织管理:编写文档、搭建测试环境,开发测试脚本,开展测试活动 9
第三方测试 介于开发方和用户方之间的测试组织的测试,也称独立测试 二 1
测试人员 基本责任:发现程序、系统或产品中所有问题,尽早发现问题,督促开发