1.什么是需求? 满足用户的期望或规定的文档(合同 标准 规范)所需要的权限和条件 包含软件需求和用户需求 以注册登陆为例演示: 注册登陆的方式 1.第三方注册/登陆 (微信 QQ 微博) 2.手机号注册 3.账号密码注册/登陆 2.什么是Bug? 1)当且仅当规格说明存在并且正确的前提下 如果程序和规格说明不符就是软件缺陷 2)没有规格说明 当且仅当用户需求存在且合理 如果程序和用户需求不符就是软件缺陷
3.什么是测试用例? 测试用例就是向被测试系统发出一系列集合 包含测试数据 测试环境(软硬件) 操作步骤 预期结果等 [主要] 标题 测试模块 重要性 前提条件等 [次要]
EG:网易邮箱登陆成功的测试用例: 标题: 网易邮箱登陆成功的测试用例 测试模块: 登陆模块 前提条件: 注册得到账户 重要性: 重要 测试数据: 正确的用户名 密码 测试环境: Chrome浏览器 操作步骤+预期结果: 操作步骤 预期结果 打开网易邮箱登录页面 出现登陆页面 输入正确用户名和密码点击登陆按钮 登陆成功 进入邮箱主页面
4.开发模型和测试模型 软件开发的生命周期: 需求分析 计划 设计 编码 测试 运行维护 开发模型: 瀑布模型 优点: 强调开发的阶段性 强调早期计划及需求调查 强调产品测试 缺点: 依赖于早期进行的唯一一次需求调查 不能适应需求的变化由于是单一流程开发中的经验教训不能反馈应用于本产品的过程风险往往迟至后期的测试阶段才显露失去及早纠正的机会。 适用于需求比较明确且稳定的项目 螺旋模型 优点: 强调严格的全过程风险管理 强调各开发阶段的质量 提供机会检讨项目是否有价值继续下去 缺点: 引入非常严格的风险识别风险分析和风险控制 这对风险管理的技能水平提出了很高的要求 需要人员、资金和时间的投入 适用于项目比较庞大且需求不是很明确以及风险比较大的项目 增量迭代模型 增量模型: 第一周完成A B两个功能模块 第二周完成C D两个模块功能 迭代模型: 第一周完成A B C D四个业务模块的基本功能和基本框架 第二周完成比较复杂的功能模块 敏捷开发模型 敏捷开发的价值观: 个体与交互重于过程和工具 可用的软件重于完备的文档 客户协作重于合同谈判 响应变化重于遵循计划 在每对比对中 后者并非全无价值但我们更看重前者
Scrum: 轻文档 轻流程 重目标 重产出 轻量级(迭代周期短1-4周 参与人员少) PO(product owner) 客户代表 负责把用户的需求转成user story SM(scrum master) 项目经理 负责管理整个敏捷流程保障负责会议的召开 ST(scrum team) 研发团队 支付一个高质量可用的软件 流程: 发布计划会议(PO)–>迭代计划会议 每日站会–>演示会议–>回顾会议 敏捷中的测试 测试用例的作用削弱主要是用思维导图整理思路 运用探索性测试 测试人员和开发人员关系紧密 测试人员不仅找bug还要和开发人员一起寻找bug产生的原因