软件测试常见的问题概略

Posted 可乐好哇!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试常见的问题概略相关的知识,希望对你有一定的参考价值。

什么是软件测试?

  • 测试软件是否满足用户的需求

软件测试和调试的区别?

  1. 目的不同
    • 调试是开发人员查看自己写的代码是否实现自己想让代码实现的功能
    • 软件测试是测试人员查看软件是否实现用户的需求
  2. 角色不同
    • 软件测试:黑盒测试工程师,白盒测试工程师,开发人员
    • 软件调试:开发人员
  3. 阶段不同
    • 软件调试:开发阶段
    • 软件测试:整个软件开发的生命周期

软件开发的生命周期

  • 需求
  • 计划
  • 设计
  • 编码
  • 测试
  • 运行维护

你为什么选择软件测试这个职业?

  • 兴趣
  • 技能:代码能力
  • 抗压力和责任感(讲故事)

你学习了软件开发方面的知识,为什么选择软件测试?

  • (讲故事)

    测试发生在整个软件的生命周期

软件开发的过程

  • 用户需求
  • 软件需求
  • 开发编码
  • 测试
  • 运行上线

什么是BUG?

  • 当软件需求规格说明存在并且合理,软件功能和软件需求不相符,就说明软件错误

什么是测试用例?

  • 测试环境
  • 测试步骤
  • 测试数据
  • 预期结果
  • 标题
  • 重要性
  • 功能模块
  • 优先级
  • 执行方式

设计测试用例的模块

  1. 功能
  2. 界面
  3. 易用性
  4. 兼容性
  5. 性能
  6. 安全性
  7. 震动测试

开发模型

  • 敏捷开发:轻文档,轻流程,重目标,重产出(周期短,团队人员少,交付高质量可用的软件)
    • 角色:
      • PO,客户的代表方,整理客户需求,形成user story
      • SM,项目经理,管理整个开发流程,保证敏捷开发流程的顺利实施
      • ST,研发团队,各种技能人员组成,开发,测试,目标高质量可用的软件
    • 流程:
      • 产品发布会议
      • 迭代计划会议
      • 每日站会
      • 产品演示会议
      • 回顾会议

测试模型

  • V模型
    1. 用户需求
    2. 需求分析与系统
    3. 概要设计
    4. 详细设计
    5. 编码
    6. 单元测试
    7. 集成测试
    8. 系统测试
    9. 验收测试
  • W模型
    1. 用户需求 验收测试准备
    2. 需求分析与系统设计 系统测试准备
    3. 概要设计 集成测试准备
    4. 详细设计 单元测试准备
    5. 编码 单元测试
    6. 集成 集成测试
    7. 实施 系统测试
    8. 交付 验收测试

软件测试的生命周期(软件测试的流程是什么)

  1. 需求分析

    验证需求的合理性,分析需求,细化需求

  2. 测试计划

    需要的人员,时间,测试目的,测试范围

  3. 测试设计/开发

    根据需求提炼出来的功能点开发测试用例

  4. 测试执行

    执行测试用例,BUG,提BUG,回归测试

  5. 测试评估

    评估本次测试情况,BUG情况(遗留的BUG)测试用例执行情况

如何描述一个BUG(禅道)

  • 测试版本

  • 测试环境

    web系统 Windows,Mac,浏览器及其版本号

    app 手机品牌型号,系统(androidios

  • 测试步骤(具体数据)

  • 实际结果

  • 预期结果(和需求一致)

  • 其他附件(错误截图,错误日志等)

BUG的级别

  • 崩溃
  • 严重
  • 一般
  • 次要

当开发人员因为一个BUG和测试人员产生冲突时怎么办?

  • 先检查自己的描述是否有误
  • 站在用户的角度劝说开发
  • BUG的定级要有理有据
  • 开三方会议(产品经理、测试人员、开发人员一起讨论BUG解决方案)
  • 不断提高自己的业务水平和技术能力

具体设计用例的方法

  1. 等价类:把输入划分若干个等价类,任意取出一个,若可以通过测试用例,则这个测试用例代表的等价类测试用例通过(适用于用例无法穷举,不能一一进行测试)

    • 有效等价类
    • 无效等价类
  2. 边界值:针对输入和输出的边界进行测试用例的设计

  3. 因果图法:输入很多,且有不同的输入嘴和对应不同的输出,这时使用因果图法分析不同输入组合和输出之间的对应关系

    • 因果图设计测试用例的步骤:

      1. 分析出所有的输入和输出
      2. 找出输入和输出之间的关系
      3. 画出因果图
      4. 把判定表转换成测试用例
    • 恒等

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yder6vVc-1633252697808)(/Users/cola/Library/Application Support/typora-user-images/image-20210929001257780.png)]

  4. 场景设计法

    • 找出功能点设计
  5. 错误猜测法

    • 根据测试人员的直觉、知识、经验、判断软件的哪一块有问题,专门针对性的设计测试用例。适合作为一种补充设计测试用例的方法。
  6. 正交法

    • 正交法设计测试用例的步骤:

      1. 找出所有输入变量,确定因素数
      2. 确定变量的取值,确定水平数
      3. 确定正交表的行和列
      4. 根据正交表的性质填写正交表
      5. 把正交表的每一行对应写成一个测试用例
      6. 补充认为重要的但没有体现在正交表中的测试用例
    • 根据正交性选出最优的水平组合进行实验,用实验的结果来分析这个测试用例的结果

    • 正交表的性质:

      • 每一列不同数据出现的次数一样多
      • 任意两列各数据组合出现的次数一样多

按照开发阶段划分

  • 单元测试(模块)
  • 集成测试(接口)
  • 系统测试(相当于黑盒测试)
    • 对功能,性能,易用性,安全性,兼容性,可靠性,可移植性等
    • 回归测试:属于系统测试,当系统引入新代码的时候,进行回归测试
    • 回归测试的策略:自动化测试
    • 冒烟测试:对系统主要功能和核心流程进行测试
  • 验收测试

按照实施组织区分

  • α测试
  • β测试
  • 第三方测试

按照是否运行划分

  • 静态测试(看代码)

什么是黑盒测试和白盒测试?

  • 黑盒测试:把软件当成一个黑色的盒子,不关心其内部结构,逻辑,功能的实现,只关心它的输入和输出

    • 测试方法:
      1. 等价类划分
      2. 因果图
      3. 错误猜测
      4. 边界值
      5. 场景法
    • 按照开发阶段划分:
      1. 集成测试
      2. 系统测试
      3. 验收测试
  • 白盒测试:把软件当成一个白色透明的盒子,测试软件内部代码的结构、逻辑、功能是否满足用户需求

    • 测试方法:

      1. 语句覆盖
      2. 循环覆盖
      3. 逻辑覆盖
        • 路径覆盖
        • 条件覆盖
        • 判定覆盖
        • 条件组合
        • 判定组合

以上是关于软件测试常见的问题概略的主要内容,如果未能解决你的问题,请参考以下文章

软件测试常见的问题概略

软件测试常见的问题概略

软件测试用例设计“八法归一”——因果阵

黑盒测试设计--正交实验法

黑盒测试-正交试验法

两种因果律的区分及先验自由下的道德对象