- 软件测试的概念
- 狭义:bug(缺陷);测试软件系统;运行;功能、性能;符合需求
- 广义:测试是发现bug,证明符合预期,找出需要改进;测试不仅仅是代码完成之后进行,测试是一个过程,贯穿于整个软件生命周期的,也不是一个单纯的活动;测试可以不执行被测试对象,也可以执行被测试对象;可以测试完整的软件系统也可以测试组成软件系统的各个部分;
- IEEE:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果和实际结果之间的差别。
- 软件测试的目的
- 证明:表明软件能够工作
20世纪60年代能够证明软件没有问题;目前的软件系统不能百分百证明没有问题,只能在可接受风险范围内能够使用;
- 检测:发现错误
20世纪70年代中期,测试是找bug;目前从需求开始找出缺陷、不足;不仅仅限于功能,除了功能其他方面也要很好(性能;界面;兼容。。。。)
- 预防:全面管理质量
质量人人有责,每个人都对于自己的工作负责;通过检测出的不足问题做分析,找出原因避免以后工作再次发生;
- 软件生命周期(软件开发过程)
- 软件生命周期的活动
软件生命周期活动 | 角色与职责 | 产出 |
项目计划 | 角色:项目经理 职责:分析项目的可行性;安排项目的进度;确定项目参与人员;划分项目哪些任务,负责人;识别项目风险;确定项目目标。 | 软件项目计划(SPP:Software Project Plan) |
需求分析 | 角色:产品经理(业务分析师) 职责:市场调研,客户沟通交流分析软件系统满足的功能要求;性能指标;界面需求;兼容性需求;可靠性需求。。。。 | 软件需求规格说明书(SRS:Software Requirement Specification) |
设计 | 角色:系统架构师 职责:根据需求将软件系统的架构进行设计,画出架构设计图纸结构(子系统结构图;模块之间的结构;函数之间结构;表之间结构) 角色:高级开发工程师 职责:对软件系统的最基本组成单位(函数代码设计;表内部字段结构设计)进行设计; | 概要设计文档(HLD:High Level Design) 详细设计文档(LLD:Low Level Design) |
编码(实施) | 角色:开发工程师 职责:根据设计文档完成代码的编写 | |
测试 | 角色:测试工程师 职责:完成各个测试工作(单元测试;集成测试;系统测试;各个测试的准备和测试执行) | 各个测试阶段的测试计划、方案、用例、脚本、缺陷报告、测试总结报告。 |
运维 | 角色:运维人员 职责:部署环境;安装系统;解决客户问题 | 运维手册 |
评价 | 角色:客户 职责:使用给出好的。坏的评价 | 五星好评 |
2.软件项目中角色
SQA职责:指定软件项目工作中的文档模板,监督项目的实施
配置管理员职责:管理软件生命周期中的各种文档,代码,做好发布工作