文章目录
软件测试的基本概念
软件测试
软件测试=验证+有效性确认
验证(verification):软件符合产品说明书
有效性确认(validation):软件满足用户需求
软件测试的正向思维:验证软件正常工作
软件测试的逆向思维:假定软件有错误
软件缺陷
缺陷是质量的对立面
任何程序、系统中的问题,和产品设计书的不一致性,不能满足用户的需求
软件质量
软件产品满足使用要求的程度
软件质量特征
- 功能
- 可靠
- 易用
- 效率
- 可维护
- 可移植
高质量软件标准体系
产品质量
- 功能型
- 可用性
- 可靠性
- 性能
- 容量
- 可伸缩性
- 可维护性
- 兼容性
- 可扩展性
过程质量
软件能力成熟度模型 CMM(Capability Maturity Model)
在商业过程中有关的质量内容
软件质量模型
- ISO 9126软件质量三层模型
- Boehm软件质量模型
软件测试的分类
软件是否执行
静态测试:需求、设计规格说明书的评审,程序代码的评审。
静态分析:
- 人工检测
- 计算机辅助静态分析
产品评审
- 互为评审
- 轮查
- 走查
- 会议评审
动态测试:真正运行程序
是否针对系统内部结构和具体算法
黑盒测试
- 等价类
- 边界值
- 两两组合
- 随机测试
白盒测试
- 语句
- 判定
- 条件
- 判定条件
软件测试级别
- 编码/单元测试
- 详细设计/特征测试
- 系统设计/系统测试
- 需求功能设计/验收测试