什么是软件测试 在一定的条件下,执行程序,比较实际结果与预期结果的过程 测试与调试的区别 测试 - 由测试人员完成 - 破坏性的 调试 - 由开发人员完成 - 建设性的 测试的七大原则 通过测试可以显示缺陷的存在 穷尽测试是不可能的 测试要尽早介入 缺陷的集群效应 杀虫剂悖论 测试依赖于具体的商业背景 没有缺陷的系统并不代表是有用的系统 测试过程/测试流程/测试生命周期 制定测试计划 - 测试组长/主管/经理 - 测试任务,时间,人员的安排 制定测试方案 - 测试管理人员/测试工程师 - 如何测试的指导性文档 分析测试需求 - 测试工程师 - 基于软件需求文档,分析测试点 设计并编写测试用例 - 测试工程师 - 将分析的测试点转换为企业标准的测试用例 评审测试用例 - 开发+测试+需求人员 搭建测试环境(Linux,Windows) 执行测试用例,提交并跟踪缺陷 - 测试工程师 撰写测试报告 - 测试工程师 测试总结 - 测试管理人员 软件生命周期 计划阶段 - 项目经理 - 任务,时间,人员安排 需求分析 - 需求工程师/产品经理 - 分析并整理前端收集到的零散需求,并形成文档 概要设计 - 架构人员 - 对系统整体框架的设计,确定系统模块,模块与模块之间的关系,编写核心代码,确定系统与子系统的关系 详细设计 - 开发人员 - 对模块内部的算法及逻辑结构进行详细设计,包括类,方法