软件开发的生命周期

  1. 客户提出需求(概念)

  2. 根据客户的需求写出相对应的需求文档

  3. 前端设计效果图(原型图)

    后台开发人员设计与编写代码实现功能

    测试人员根据需求文档编写测试计划和测试用例

  4. 在后台开发实现功能后根据测试用例测试人员进行测试

  5. 开发完全结束后,测试人员进行整体测试,全面测试,测试成功后进入上线

  6. 软件上线后根据用户体验和实际效果进行小版本迭代

软件缺陷产生的原因种类

  1. 需求变更次数频繁 理解误差 产品或者客户
  2. 开发和设计 代码问题 开发人员
  3. 运维 资源使用率产生 公司问题

测试流程

  1. 在立项会上根据客户需求编写需求文档/规格说明书,UI设计原型图后台编码,测试人员编写测试计划和测试用例
  2. 随着开发的代码实现,测试进行测试评审
  3. 主要代码实现后测试人员先进行冒烟测试
  4. 代码实现后测试执行测试用例
  5. 根据执行的结果进行对应bug提交给相对于的开发人员让其修改代码
  6. 开发修改后测试人员进行回归测试

冒烟测试:在这个软件中主要功能实现后进行测试

回归测试:在开发人员修改后进行的同一个问题的测试

软件测试的分类

  1. 按阶段划分

    1. 单元测试:对一个模块测试

    2. 集成测试:对多个模块测试(有一定的关联)

    3. 系统测试:在软件编译后执行的整体测试

    4. 验收测试:对软件执行后的用户体验的测试

      ​ α 阿尔法测试:有一定的开发测试人员的测试 内测

      ​ β 贝塔测试: 只有用户参与的测试 公测

  2. 按是否运行程序划分

    1. 静态测试:UI设计图
    2. 动态测试:由执行代码过程中产生的问题
  3. 按是否查看源代码方式划分

    1. 黑盒测试:不看源代码结构 只关心外观和能否输入输出以及响应时间

      功能测试:界面 安装 兼容 易用

      性能测试:压力测试 负载测试 一般性能 稳定性测试

      ​ 压力测试:在同一时间内进行多个用户的访问 ​ 负载测试:在多个用户在一段时间的持续访问

    2. 白盒测试:只看代码结构以及代码实现方式

    3. 灰盒测试:介于黑盒和白盒之间一种

对任意物品的测试

回答思路:

  1. 功能上:体积 形状 用途 材质
  2. 界面上:颜色 图案
  3. 性能上
  4. 易用性
  5. 安全性

对鼠标的测试

  1. 功能上:
    1. 所有的按键都可以正常使用 ,并且给出正常的响应
    2. 长时间不使用后可以继续使用
    3. 按键后在规定的时间内给与响应
    4. 连续多次按键给与正常的响应
    5. 在有无鼠标垫的情况下能否正常响应
    6. 防摔
    7. 防水
    8. 防火
    9. 耐低温,高温
  2. 界面上:
    1. 外观是否美观
    2. 手感是否舒适
    3. 大小是否规格
    4. 颜色搭配是否合理
    5. 颜色会不会掉色
    6. logo是否显眼
    7. 表面是否会留下划痕
  3. 性能上:
    1. 点击后多少时间会给与响应
    2. 连续点击是否会正常响应
    3. 按键的寿命
    4. 滚轮滚动是否响应正常
    5. 滚轮的寿命
    6. 多高会摔坏
    7. 按键力度多大会按坏
    8. 按键,滚轮是否灵敏
  4. 易用性:
    1. 按键,滚轮是否灵活好用
    2. 按键手感是否舒适
    3. 弹起的力度是否合适
    4. 按键声音是否合理
    5. 鼠标大小是否符合人工工程
    6. 防出汗
    7. 防滑
  5. 安全性:
    1. 进水后是否会短路
    2. 制作鼠标材料是否无毒
    3. 高温下会不会发生形变
    4. 是否出现漏电现象
    5. 上时间使用会不会高温

软件测试的原则

  1. 尽早原则
  2. 考虑意外情况和极端情况的发生
  3. 群集现象
  4. 测出问题能够复现问题
  5. 不要在短时间进行高效测试
  6. 回归测试的关联性
  7. 善于总结相关文档

面试题

如果在测试过程中出现的bug而开发人员不认为是bug的时候你该怎么办?

​ 回答思路:自我

​ 别人

​ 领导

  1. 首先我会从自身去经过多次的测试发现bug的出现次数和频率,记录复现bug的方式,然后发送给开发人员
  2. 再根据需求文档来确认是否为bug
  3. 如果开发不认为是bug的话,将复现bug的记录和需求文档找产品经理进行商议由产品经理和项目经理来确认是否为bug
  4. 如果项目经理和产品经理都不认为是bug,我会将bug记录在测试文档中,方便在下次评审会上将问题再次抛出

常见的软件测试开发模式

  1. V型
  2. W型
  3. H型
  4. 螺旋形

公司的组织架构

一般在公司内部有的部门:人事 财务 开发(前端 后台 移动端 测试) 市场(产品) 运维(产品维护的服务)

开发,测试 1个测试对应5个开发 1个前端 3个后台 1个移动端

CEO 首席执行官

CTO 首席技术官

COO 首席运营官

CIO 首席信息官

CFO 首席财务官

UI 前端

ANDROID 安卓

IOS iOS

QA 测试

OP 运维

TS 技术支持

DBA 数据库管理

OD 运营总监

MD 市场总监

GM 总经理

PM 产品经理

RD 研发

测试工具

world文档 测试计划 测试用例 缺陷报告

接口工具 charles Fiddler postman

性能工具 Jmeter Loadrunner

bug管理工具 禅道 jira QTP

自动化管理工具 selenium appnium uptest pytest

云测工具 Testing