软件开发的基本过程:需求分析-->设计-->编程-->测试-->维护。
测试按不同的过程阶段分为单元测试、集成测试、功能测试、系统测试、验证测试等。
软件质量具有三个特性:可说明性、有效性、易用性。
软件缺陷(bug):功能、特性没有实现或部分实现;设计不合理,存在缺陷;实际结果和预期结果不一致;运行出错,包括运行中断、系统崩溃、界面混乱;数据结果不正确、精度不够;用户不能接受的其他问题,如存取时间过长、界面不美观。一般可以分为四级,致命的,严重的,一般的,微小的。
黑盒测试的具体方法有等价类划分、边界值分析、错误推测发、因果图等。
白盒测试的主要方法有逻辑覆盖、基本路径测试等,逻辑覆盖又可分为语句覆盖、判定覆盖、条件覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
测试的分类:
1.按测试范围分类:单元测试、组件测试、集成测试、系统测试、验收测试、安装测试
2.按测试目的分类:正确性测试(白盒测试、黑盒测试)、性能测试、可靠性测试(强壮性测试、异常处理测试、负载测试)、安全性测试。
3.按测试对象分类:单元测试、组件测试、集成测试、模块测试、程序测试、系统测试、文档测试
4.安测试过程分类:需求阶段的测试、设计阶段的测试、程序阶段的测试、测试结果的评估、安装测试、验收测试、测试变化(维护)。
5.其他测试技术和方法:回归测试、压力测试、恢复测试、安全测试、兼容性测试
测试的阶段:
过个说明书审查、系统和程序设计审查、单元测试、集成测试、功能测试、确认测试、系统测试、验收测试、安装测试
SQA软件质量保证
SQA人员需掌握软件与控制知识、统计学等。
正规化的测试流程:项目计划检查、测试计划创建、测试设计、执行测试、更新测试文档。