测试理论一

上一篇 / 下一篇  2019-07-29 11:55:22 / 个人分类:理论


软件生命周期(软件的开发流程)
计划阶段 - 项目经理 - 任务,时间,人员安排
需求分析 - 需求工程师/产品经理 - 分析并整理前端收集到的零散需求,并形成文档
概要设计 - 架构人员 - 对系统整体框架的设计,确定系统模块,模块与模块之间的关系,编写核心代码,确定系统与子系统的关系
详细设计 - 开发人员 - 对模块内部的算法及逻辑结构进行详细设计,包括类,方法,函数,数据库,表等
编码 - 开发人员 - 编写代码
测试 - 测试团队 - 参见测试流程
发布 - 发布负责人 - 程序+数据+文档
运维 - 运维人员 - 负责客户或用户使用软件过程中的问题

软件开发模型
边做边改模型
瀑布模型 - 把生命周期中的各个环节确定下来,但是环节不可逆,测试滞后
快速原型模型 - 在需求阶段,通过原型不断和客户沟通需求,最终确定需求,再进行系统的整体设计与开发
V模型 - 为每个开发活动对应相关测试活动
用户需求                                          验收测试
      需求分析                             系统测试
             概要设计               集成测试
                    详细设计  单元测试
                               编码
W模型
      需求分析                             系统实施      系统测试需求分析与设计                         系统测试
             概要设计               系统的集成                     集成测试设计               集成测试
                    详细设计 模块的集成                                  单元测试设计   单元测试
                            编码                          
增量模型 - 按照功能点开发
    每一个增量是一个流程,开发,测试,需求可以并行工作
敏捷开发 *****

测试分类 - 按照不同维度分类
 按照测试级别(开发阶段)
    单元测试 - UT - 函数,类,方法
    集成测试 - IT - 接口 [集成测试策略:自顶向下集成,自底向上集成,大爆炸集成,三明治集成,基于进度的集成,基于分险的集成]
    系统测试 - ST - 整个系统进行的全面测试,包括,功能,性能,安全,易用,兼容,安装升级卸载。。。。
    验收测试 - UAT
  非正式验收测试有两种
     阿尔法测试 - 在贝塔测试之前,在开发环境下进行的非正式的验收测试
     贝塔测试 - 在用户环境下进行的非正式的验收测试,版本比阿尔法测试的版本稳定

 系统测试的类型
    功能测试-手工/自动化
    界面测试(UI)
    性能测试
    兼容性测试
    安全测试
    健壮性测试(稳定性测试)
    容量测试
    电量测试
    流量测试
    安装卸载升级测试
    文档测试

 按照测试技术
    白盒测试 - 代码可见
    灰盒测试
    黑盒测试 - 代码不可见

 按照是否运行程序
    静态测试 - 不运行程序(文档,代码的检查)
    动态测试 - 运行程序

 其他测试相关开概念
    回归测试 - 重复测试
    冒烟测试 - 对软件核心功能进行的测试
    **化测试 - I18N   本地化测试 - L10N
    随机测试
    探索性测试 - 经过分析,测试分险比较高的区域

 什么是软件测试
    在一定的条件下,执行程序,比较实际结果与预期结果的过程

 测试与调试的区别
     测试 - 由测试人员完成 - 破坏性的
    调试 - 由开发人员完成 - 建设性的

 测试的七大原则
    通过测试可以显示缺陷的存在
    穷尽测试是不可能的
    测试要尽早介入
    缺陷的集群效应
    杀虫剂悖论
    测试依赖于具体的商业背景    
    没有缺陷的系统并不代表是有用的系统

 测试过程/测试流程/测试生命周期
    制定测试计划 - 测试组长/主管/经理 - 测试任务,时间,人员的安排
    制定测试方案 - 测试管理人员/测试工程师 - 如何测试的指导性文档
    分析测试需求 - 测试工程师 - 基于软件需求文档,分析测试点
    设计并编写测试用例(测试实现) - 测试工程师 - 将分析的测试点转换为企业标准的测试用例
    评审测试用例 - 开发+测试+需求人员
    搭建测试环境(LinuxWindows)
    执行测试用例,提交并跟踪缺陷 - 测试工程师
    撰写测试报告 - 测试工程师
    测试总结 - 测试管理人员

测试工程师的职业发展前景
  功能测试工程师 - 手工测试
技术
 高级测试工程师
 自动化测试工程师
 性能测试工程师
 安全测试工程师
 接口测试
 单元测试
 数据库管理员DBA
 Linux系统运维
 开发
 运维
管理
 测试组长、主管、经理
 测试总监
 项目经理
 运维经理
 质量部经理
业务
 需求工程师
 产品经理
 行业专家(电信,银行,证券,供应链)

一个优秀的测试工程师需要具备的技能
素质:专业、性格、逻辑、情感
能力:测试基础、标准与规范、测试流程、测试工具、测试方法
管理:管人、理事
行业经验:业务、测试与行业背景结合越来越紧密
英语:外企、国外项目
性格:开朗、交流、团队合作、追求完美、怀疑精神、善于说服


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-22  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 3082
  • 日志数: 4
  • 建立时间: 2019-07-29
  • 更新时间: 2019-07-29

RSS订阅

Open Toolbar