【测试基础第二篇】软件生命周期和测试流程
- 软件生命周期定义
- 是 软件开始研制 到 最终被放弃 不用所经历的各个阶段
- 来源于软件开发模型
- 是 软件开始研制 到 最终被放弃 不用所经历的各个阶段
- 软件开发模型
- 瀑布模型
- 模型梳理:
- 缺陷:
- 1.测试介入项目晚,回溯成本高
- 2.项目周期长,效率低
- 1.测试介入项目晚,回溯成本高
- 模型梳理:
- V模型
- 特点:测试开发同时进行
- 模型梳理:
- 优势:
- 1.测试介入早,可以提前对需求进行评审和测试,回溯成本高
- 2.测试提前准备测试文档即测试用例,编码完成后可以直接执行测试,节省准备文档时间,提高效率,周期短。
- 1.测试介入早,可以提前对需求进行评审和测试,回溯成本高
- 特点:测试开发同时进行
- 敏捷开发模型--现广泛使用
- 特点:以人为核心、快速迭代、循序渐进
- 项目周期:一个月或半个月;弱化文档;重视与人沟通,站会(今天任务、昨天问题、协调处理)
- 特点:以人为核心、快速迭代、循序渐进
- 瀑布模型
- 软件测试阶段
- 一、问题的定义及规划
- 主要确定软件的开发目的及其可行性。制定项目总体开发计划。
- 主要确定软件的开发目的及其可行性。制定项目总体开发计划。
- 二、需求分析
- 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析,明确客户的需求(需求评审--产品,开发,测试),输出需求规格说明书终版(原型图)。
- 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析,明确客户的需求(需求评审--产品,开发,测试),输出需求规格说明书终版(原型图)。
- 三、设计
- 开发的工作
- 把需求分析得到的结果转换为软件结构和数据结构,形成系统架构
- 分为两部分:
- 概要设计:架构的实现,指搭建架构,表述各模块功能、模块接口连接和数据传递的实现等事务。
- 详细设计:对概要设计中表述的各模块进行深入分析等,其中需要包含数据库设计说明。
- 概要设计:架构的实现,指搭建架构,表述各模块功能、模块接口连接和数据传递的实现等事务。
- 开发的工作
- 四、编码
- 五、软件测试
- 单元测试
- 主要测程序代码,开发自测,利用白盒测试。
- 主要测程序代码,开发自测,利用白盒测试。
- 集成测试
- 单元测试后,将各单元组成完整的体系,接口是否正确,数据是否正常传递。
- 单元测试后,将各单元组成完整的体系,接口是否正确,数据是否正常传递。
- 系统测试
- 把软件系统搭建起来,按照软件规格说明书中所要求,测试软件性能是否和用户需求相符合,是否存在漏洞。--重要,常见,会进行好2-4轮测试
- 测试完成后,要对产品的质量进行评估两方面
- 1)bug还剩多少,看Bug严重级别
- 2)测试用例执行率
- 质量评估会输出测试报告(下结论建议,从测试角度慎重、仔细、分析彻底)。
- 把软件系统搭建起来,按照软件规格说明书中所要求,测试软件性能是否和用户需求相符合,是否存在漏洞。--重要,常见,会进行好2-4轮测试
- 验收测试
- UAT--user acceptance test。用户拿到软件时,在使用现场会根据所提需求,以及规格说明书来做响应测试。
- 1)执行人员:用户可能按照功能验收表单,产品,或别的部门领导检验测试
- 2)输出验收测试报告--产品写
- UAT--user acceptance test。用户拿到软件时,在使用现场会根据所提需求,以及规格说明书来做响应测试。
- α测试
- 内侧,部分用户有权限,开发测试在场,提高用户体验,避免bug
- 内侧,部分用户有权限,开发测试在场,提高用户体验,避免bug
- β测试
- 公测版本,有问题做修复。此阶段结束上线。
- 公测版本,有问题做修复。此阶段结束上线。
- 单元测试
- 六、运行维护
- 是软件生命周期中持续时间最长的阶段。软件开发完投入使用后,由于多方便原因,软件不能持续适应用户需求,要延续软件的使用寿命,必须对软件进行维护。主要包括纠错性维护(bug修复,修改代码-产生新版本)和改进性(优化、完善、改良-新版本)维护。
- 是软件生命周期中持续时间最长的阶段。软件开发完投入使用后,由于多方便原因,软件不能持续适应用户需求,要延续软件的使用寿命,必须对软件进行维护。主要包括纠错性维护(bug修复,修改代码-产生新版本)和改进性(优化、完善、改良-新版本)维护。
- 一、问题的定义及规划
- 软件测试工作流程
- 流程图
- 1.需求分析
- 产品输出需求规格说明书或原型图
- 产品输出需求规格说明书或原型图
- 2.需求评审
- 参与人员:产品、需求、开发、测试、配置管理
- 参与人员:产品、需求、开发、测试、配置管理
- 3.开发编写开发计划、概要设计、详细设计、自测
- 3.测试编写测试计划、测试用例、用例评审
- 用例评审:
- 1)提前发布评审通知
- 2)参与人员:产品需求、开发、测试、配置管理人员
- 3)输出测试计划
- 用例评审:
- 4.开发自测--测试提前部署测试环境(部署人员:运维、开发、测试)
- 5.冒烟测试、正式测试
- 6.提交Bug并跟踪
- 7.测试通过
- 1)2-4轮,达到发布要求
- 2)根据上述软件测试阶段的系统测试中,测试评估两点去输出测试报告
- 1)2-4轮,达到发布要求
- 8.发布上线
- 流程图
- 软件测试基本流程--重点
- 测试需求分析阶段
- 阅读需求,理解需求,主要对业务学习,分析需求点,参与需求评审会议
- 阅读需求,理解需求,主要对业务学习,分析需求点,参与需求评审会议
- 测试计划阶段
- 编写测试计划,参考软件需求规格说明书、项目总体计划,内容包括测试范围-来自需求文档、进度的安排、人力物力分配、整体测试策略制定、风险评估、规避措施。测试负责人写,自己会参与评审。
- 编写测试计划,参考软件需求规格说明书、项目总体计划,内容包括测试范围-来自需求文档、进度的安排、人力物力分配、整体测试策略制定、风险评估、规避措施。测试负责人写,自己会参与评审。
- 测试设计阶段
- 编写测试用例,参考需求文档、原型图、概要设计、详细设计,有不明确的及时与开发、产品沟通,编写完后会进行评审。
- 编写测试用例,参考需求文档、原型图、概要设计、详细设计,有不明确的及时与开发、产品沟通,编写完后会进行评审。
- 测试执行阶段
- 首先搭建测试环境,执行预测-冒烟。预测通过正式进入系统测试(2-4轮),遇到问题提交bug管理平台,并对bug进行跟踪,直到被测软件达到测试需求要求,没有重大bug,测试结束。完善测试用例。
- 首先搭建测试环境,执行预测-冒烟。预测通过正式进入系统测试(2-4轮),遇到问题提交bug管理平台,并对bug进行跟踪,直到被测软件达到测试需求要求,没有重大bug,测试结束。完善测试用例。
- 测试评估阶段
- 编写测试报告,对整个测试的过程和版本质量做详细的评估,两方面评估:1.剩余bug数量和严重程度 2.测试用例的覆盖率。确认是否可以上线。
- 编写测试报告,对整个测试的过程和版本质量做详细的评估,两方面评估:1.剩余bug数量和严重程度 2.测试用例的覆盖率。确认是否可以上线。
- UAT测试阶段
- 部署到UAT环境,由产品或领导来验证功能。
- 部署到UAT环境,由产品或领导来验证功能。
- 测试需求分析阶段
- 常见笔试面试题
- 笔试
- 1.生命周期模型包含哪些阶段?你们的开发模型是什么?
- 问题定义及规划;需求分析;设计;编码;软件测试;运行维护
- 敏捷开发模型
- 问题定义及规划;需求分析;设计;编码;软件测试;运行维护
- 2.测试流程包括哪些阶段?
- 测试需求分析
- 测试计划阶段
- 测试设计阶段
- 测试执行阶段
- 测试评估阶段
- UAT测试阶段
- 测试需求分析
- 1.生命周期模型包含哪些阶段?你们的开发模型是什么?
- 面试
- 1.你们公司开发流程?
- 开发编写开发计划、概要设计、详细设计、编码、自测、提测
- 开发编写开发计划、概要设计、详细设计、编码、自测、提测
- 2.你们公司测试流程怎样的?各阶段输出什么?
- 需求分析阶段----需求文档
- 测试计划阶段----测试计划
- 测试设计阶段----测试用例
- 测试执行阶段----缺陷分析报告
- 测试评估阶段----测试报告
- UAT测试阶段----验收测试报告
- 需求分析阶段----需求文档
- 3.开发环境、测试环境、生产环境、预发布环境分别是什么?你在测试环境后台添加的数据和信息,能在生产环境看到吗?
- (1)
- 开发环境:开发自己用的环境--自测(自测后出一个 单元测试报告 开发服务器数据)
- 测试环境:测试自己的环境
- 生产环境:用户使用的环境---线上环境
- 预发布环境:在验收测试UAT 老板、产品 上线最后一次确认,尽量模拟用户环境
- (2)NO
- (1)
- 1.你们公司开发流程?
- 笔试
- 知识卡
- 1.你们公司开发模型
- 敏捷开发模型
- 敏捷开发模型
- 2.你们公司项目多长时间一个迭代?这个周期测试占用多长时间?
- 采用敏捷开发模型,项目迭代周期一个月,开发代码两周,测试一周半左右
- 采用敏捷开发模型,项目迭代周期一个月,开发代码两周,测试一周半左右
- 3.简单描述你们的项目流程和项目中你的职责?
- 在产品确定了项目需求后,
- 我们依据需求设计并编写测试用例,
- 开发提测后执行接口测试然后系统测试
- 测试中遇到Bug会记录到bug管理工具进行管理和跟踪
- 开发修复Bug后,进行bug验证和相关的回归测试
- 2-3轮系统测试后,评估产品质量出测试报告
- 没问题,发布
- 在产品确定了项目需求后,
- 1.你们公司开发模型
每天进步一点点