• 【测试基础第二篇】软件生命周期和测试流程


      • 软件生命周期定义
        • 是 软件开始研制 到 最终被放弃 不用所经历的各个阶段
        • 来源于软件开发模型
      • 软件开发模型
        • 瀑布模型
          • 模型梳理:

          • 缺陷:
            • 1.测试介入项目晚,回溯成本高
            • 2.项目周期长,效率低
        • V模型
          • 特点:测试开发同时进行
          • 模型梳理:

          • 优势:
            • 1.测试介入早,可以提前对需求进行评审和测试,回溯成本高
            • 2.测试提前准备测试文档即测试用例,编码完成后可以直接执行测试,节省准备文档时间,提高效率,周期短。
        • 敏捷开发模型--现广泛使用
          • 特点:以人为核心、快速迭代、循序渐进
          • 项目周期:一个月或半个月;弱化文档;重视与人沟通,站会(今天任务、昨天问题、协调处理)
      • 软件测试阶段
        • 一、问题的定义及规划
          • 主要确定软件的开发目的及其可行性。制定项目总体开发计划。
        • 二、需求分析
          • 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析,明确客户的需求(需求评审--产品,开发,测试),输出需求规格说明书终版(原型图)。
        • 三、设计
          • 开发的工作
          • 把需求分析得到的结果转换为软件结构和数据结构,形成系统架构
          • 分为两部分:
            • 概要设计:架构的实现,指搭建架构,表述各模块功能、模块接口连接和数据传递的实现等事务。
            • 详细设计:对概要设计中表述的各模块进行深入分析等,其中需要包含数据库设计说明。
        • 四、编码
        • 五、软件测试
          • 单元测试
            • 主要测程序代码,开发自测,利用白盒测试。
          • 集成测试
            • 单元测试后,将各单元组成完整的体系,接口是否正确,数据是否正常传递。
          • 系统测试
            • 把软件系统搭建起来,按照软件规格说明书中所要求,测试软件性能是否和用户需求相符合,是否存在漏洞。--重要,常见,会进行好2-4轮测试
            • 测试完成后,要对产品的质量进行评估两方面
            • 1)bug还剩多少,看Bug严重级别
            • 2)测试用例执行率
            • 质量评估会输出测试报告(下结论建议,从测试角度慎重、仔细、分析彻底)。
          • 验收测试
            • UAT--user acceptance test。用户拿到软件时,在使用现场会根据所提需求,以及规格说明书来做响应测试。
            • 1)执行人员:用户可能按照功能验收表单,产品,或别的部门领导检验测试
            • 2)输出验收测试报告--产品写
          • α测试
            • 内侧,部分用户有权限,开发测试在场,提高用户体验,避免bug
          • β测试
            • 公测版本,有问题做修复。此阶段结束上线。
        • 六、运行维护
          • 是软件生命周期中持续时间最长的阶段。软件开发完投入使用后,由于多方便原因,软件不能持续适应用户需求,要延续软件的使用寿命,必须对软件进行维护。主要包括纠错性维护(bug修复,修改代码-产生新版本)和改进性(优化、完善、改良-新版本)维护。
      • 软件测试工作流程
        • 流程图

        • 1.需求分析
          • 产品输出需求规格说明书或原型图
        • 2.需求评审
          • 参与人员:产品、需求、开发、测试、配置管理
        • 3.开发编写开发计划、概要设计、详细设计、自测
        • 3.测试编写测试计划、测试用例、用例评审
          • 用例评审:
          • 1)提前发布评审通知
          • 2)参与人员:产品需求、开发、测试、配置管理人员
          • 3)输出测试计划
        • 4.开发自测--测试提前部署测试环境(部署人员:运维、开发、测试)
        • 5.冒烟测试、正式测试
        • 6.提交Bug并跟踪
        • 7.测试通过
          • 1)2-4轮,达到发布要求
          • 2)根据上述软件测试阶段的系统测试中,测试评估两点去输出测试报告
        • 8.发布上线
      • 软件测试基本流程--重点
        • 测试需求分析阶段
          • 阅读需求,理解需求,主要对业务学习,分析需求点,参与需求评审会议
        • 测试计划阶段
          • 编写测试计划,参考软件需求规格说明书、项目总体计划,内容包括测试范围-来自需求文档、进度的安排、人力物力分配、整体测试策略制定、风险评估、规避措施。测试负责人写,自己会参与评审。
        • 测试设计阶段
          • 编写测试用例,参考需求文档、原型图、概要设计、详细设计,有不明确的及时与开发、产品沟通,编写完后会进行评审。
        • 测试执行阶段
          • 首先搭建测试环境,执行预测-冒烟。预测通过正式进入系统测试(2-4轮),遇到问题提交bug管理平台,并对bug进行跟踪,直到被测软件达到测试需求要求,没有重大bug,测试结束。完善测试用例。
        • 测试评估阶段
          • 编写测试报告,对整个测试的过程和版本质量做详细的评估,两方面评估:1.剩余bug数量和严重程度 2.测试用例的覆盖率。确认是否可以上线。
        • UAT测试阶段
          • 部署到UAT环境,由产品或领导来验证功能。
      • 常见笔试面试题
        • 笔试
          • 1.生命周期模型包含哪些阶段?你们的开发模型是什么?
            • 问题定义及规划;需求分析;设计;编码;软件测试;运行维护
            • 敏捷开发模型
          • 2.测试流程包括哪些阶段?
            • 测试需求分析
            • 测试计划阶段
            • 测试设计阶段
            • 测试执行阶段
            • 测试评估阶段
            • UAT测试阶段
        • 面试
          • 1.你们公司开发流程?
            • 开发编写开发计划、概要设计、详细设计、编码、自测、提测
          • 2.你们公司测试流程怎样的?各阶段输出什么?
            • 需求分析阶段----需求文档
            • 测试计划阶段----测试计划
            • 测试设计阶段----测试用例
            • 测试执行阶段----缺陷分析报告
            • 测试评估阶段----测试报告
            • UAT测试阶段----验收测试报告
          • 3.开发环境、测试环境、生产环境、预发布环境分别是什么?你在测试环境后台添加的数据和信息,能在生产环境看到吗?
            • (1)
            • 开发环境:开发自己用的环境--自测(自测后出一个 单元测试报告 开发服务器数据)
            • 测试环境:测试自己的环境
            • 生产环境:用户使用的环境---线上环境
            • 预发布环境:在验收测试UAT 老板、产品 上线最后一次确认,尽量模拟用户环境
            • (2)NO
      • 知识卡
        • 1.你们公司开发模型
          • 敏捷开发模型
        • 2.你们公司项目多长时间一个迭代?这个周期测试占用多长时间?
          • 采用敏捷开发模型,项目迭代周期一个月,开发代码两周,测试一周半左右
        • 3.简单描述你们的项目流程和项目中你的职责?
          • 在产品确定了项目需求后,
          • 我们依据需求设计并编写测试用例,
          • 开发提测后执行接口测试然后系统测试
          • 测试中遇到Bug会记录到bug管理工具进行管理和跟踪
          • 开发修复Bug后,进行bug验证和相关的回归测试
          • 2-3轮系统测试后,评估产品质量出测试报告
          • 没问题,发布
      •  
  • 相关阅读:
    112.路径总和
    二叉树的中序遍历
    HTML基础及案例
    web概念概述
    Spring JDBC
    数据库连接池
    JDBC连接池&JDBCTemplate
    JDBC
    MySQL多表&事务
    DCL
  • 原文地址:https://www.cnblogs.com/BigTian/p/13731424.html
Copyright © 2020-2023  润新知