文章目录

  • 测试概念及模型
    • 目标
    • 1. 软件测试分类(复习)
      • 1.1 按阶段划分 ⭐⭐
      • 1.2 按是否覆盖源代码划分 ⭐⭐
      • 1.3 按是否运行划分
      • 1.4 按是否自动化划分
      • 1.5 更多
    • 2. 软件开发流程(软件生命周期)
      • 2.1 瀑布模型(了解)
    • 3 软件测试流程
      • 3.1 V模型(了解)
      • 3.2 W模型(了解)——双V模型
    • 4. 软件质量模型(了解)
    • 5 软件测试用例 ⭐⭐
      • 5.1 软件测试用例概念
      • 5.2 测试用例组成要素与用例模板
      • 5.3 软件测试用例的作用(了解)
    • 6 等价类 ⭐⭐
      • 6.1 等价类划分法
      • 案例1:QQ账号
      • 案例3:sina邮箱
    • 作业
    • 总结

测试概念及模型

目标

  • 掌握测试用例包含的基本内容

  • 使用等价类方法设计出测试用例

1. 软件测试分类(复习)

1.1 按阶段划分 ⭐⭐

  • 单元测试:对软件中的最小可测试单元进行检查和验证。

    • 测试:针对单个功能进行测试,如:登录、购物车等
    • 开发、项目经理、产品经理(大家通用的理解):针对代码进行测试(一般由开发负责、或自动化测试协助)
  • 集成测试

    • 又称组装测试。在单元测试的基础上,将所有程序模块进行有序的、递增的测试。重点测试不同模块的接口部分。
  • 系统测试

    • 针对系统进行整体性测试。测试依据是软件需求说明书

      • 软件功能
      • 硬件功能
  • 验收测试(用户检验产品是否满足自己预期 也就是给用户 看用户认不认可)

    • α测试:bug比较多、内测版本

    • β测试:bug相对比较少、公测版本

    • γ测试:候选发布版本,可以扔到服务器让用户使用

    • 可能会问到验收测试由谁做也就是负责人(甲乙方):

      • 甲方负责(一般情况)
      • 乙方协助(在甲方的授权及信任基础上,比如外包)
      • 第三方评测机构

1.2 按是否覆盖源代码划分 ⭐⭐

  • 黑盒测试:只关注输入和输出

  • 白盒测试:看代码内部实现逻辑

  • 灰盒测试:不仅关注输入输出的正确性,也关注程序内部的情况。在接口经常用到。

    • 测试关注点

      • 输入
      • 输出
      • 代码逻辑

1.3 按是否运行划分

  • 静态测试

    • 不实际运行被测试程序,只是静态检查
    • 测试对象
      • 文档(需求文档 设计稿 ui效果图…)
      • 代码(只看不运行)
  • 动态测试

    • 运行测试程序
    • 测试对象
      • 运行中的程序

1.4 按是否自动化划分

  • 手工测试 / 功能测试
  • 自动化测试
    • 通过工具或代码代替人进行测试的过程

1.5 更多

  • 冒烟测试 ⭐⭐

    • 针对最基本功能进行测试,保证基本功能和流程能走通
    • 开发提交的测试版本里的最基本测试
    • 测试点
      • 最基本功能,如用户正常登陆
      • 最核心的业务流程,如电商购买商品全过程(下单到拿到商品)
  • 回归测试 ⭐⭐
    • 当修复一个BUG或者加了新功能后,把之前的测试用例在新的代码下进行再次测试,确认修改不会影响其他功能。
    • 测试点
      • bug回归(bug本身和被bug影响的功能全是正常的)
      • 旧功能回归(之前的功能没有出问题)
  • 随机测试
    • 每个人不同经验不同角度
    • 针对测试用例没有覆盖到的部分
  • 探索测试
    • 思维延伸,举一反三,大胆尝试

2. 软件开发流程(软件生命周期)

开发模型(软件生命周期模型)是指软件从开始研制到最终被废弃所经历的各个阶段。在不同的阶段里,由不同的组织和人员执行不同的任务。
软件测试与软件的开发模式有着紧密的联系,作为一名测试人员,应该充分理解软件的开发模型,以便找准自己在其中的位置,从而发挥自身的价值。

2.1 瀑布模型(了解)


  • 组成

    • 需求分析==》概要设计==》详细设计==》编码==》软件测试==》软件维护
  • 特点
    • 线性模型
    • 文档驱动
  • 优点
    • 只需要关注当前进行的阶段
  • 缺点
    • 不响应需求变化
  • 典型应用场景
    • 需求清晰的大型项目,如银行、保险、建筑等

3 软件测试流程

软件测试模型:在软件测试的实施中,针对于测试过程出现的问题,通过经验总结得到测试过程模型,旨在提高软件开发测试过程中的效率与效果。

3.1 V模型(了解)

  • 组成

    • 用户需求==》需求分析==》概要设计==》详细设计==》编码==》
      单元测试==》集成测试==》系统测试==》验收测试
  • 优点
    • 只需要关注当前阶段、文档驱动、线性模型
  • 缺点
    • 不响应需求的变化、不灵活

3.2 W模型(了解)——双V模型

  • W模型,简称“双V”模型,即以开发主导的一个“V”(蓝色),和以测试主导的另一个“V”(绿色)

  • 组成

    • 开发V:需求分析==》概要设计==》详细设计==》
      编码==》集成==》实施==》交付
    • 测试V:验收测试设计==》系统测试设计==》集成测试设计==》单元测试设计==》
      单元测试==》集成测试==》系统测试==》验收测试
  • 优点

    • 测试贯穿软件开发的全生命周期

    • 早参与、早发现、早解决

  • 缺点

    • 技术和管理要求比较高

4. 软件质量模型(了解)

  • 功能性:检查业务功能是否满足需求

  • 可靠性:容错能力,纠错能力(恢复正常的时间、能力)

  • 易用性:看的懂、会使用,产品被理解、学习、使用和吸引用户的能力

  • 效率性:性能(响应时间、消耗的资源(CPU、内存)等)

  • 可维护性:为后续功能的开发与维护提供便利 软件运维人员去维护公司现有项目

  • 可移植性:软件需要在不同的软件环境和硬件环境下都能正常的工作

  • 小知识点
    ISO:国际标准 GB:中国标准

5 软件测试用例 ⭐⭐

5.1 软件测试用例概念

  • 概念:一个为了特定的目的(检验产品的功能是否能满足用户的需求)而设计的文档(包含测试输入、执行条件、预期结果),文档的形式可以是xmind、excel等。

  • 案例:购买一台电脑或者手机,如何验证其是否满足自己需求

目的 前提条件 执行条件 预期结果
验证电脑开机功能 设备有电 按下开机键 屏幕点亮,能够开机

5.2 测试用例组成要素与用例模板

  • ID(用例编号)

    • 唯一性
    • 项目-模块-001
  • 模块(测试项目)
  • 用例级别(优先级)
    • 作用:体现用例执行的先后顺序
    • 注:有效等价类比无效等价类优先级高
      P0:一般为软件中最主要重要的功能、最基本的流程
      P1:次要功能小功能
      P2:UI、边界、错误设置
      P3:错误信息、较复杂场景、不常用场景
  • 用例标题:唯一性+见名知意
  • 预置条件
  • 测试数据(输入数据)
  • 测试步骤 :尽可能详细
  • 预期结果
  • 实际结果
  • 测试结果
    • pass、fail、block(由于有bug不能继续运行)、NA(由于环境、资源缺失不能继续运行)
  • 备注
    1.fail用例物体描述+对应bugID
    2.block和NA的用例需要在备注处填写原因
    3.用例有疑问 用例需要更新也可以写在备注处


5.3 软件测试用例的作用(了解)

  • 便于理清测试思路,确保需覆盖测试的功能点无遗漏

  • 便于测试工作量的评估

  • 便于提前准备测试数据

  • 便于把控测试工作进度

  • 便于回归测试

  • 便于测试工作的组织,提高测试效率,降低测试交接成本

6 等价类 ⭐⭐

6.1 等价类划分法

  • 概念:通过科学的方法找到具有共同特性的测试输入的子集,能够从穷举测试中解放,大大减少了测试用例的数量,从而提升测试效率(比如加法器 )。

  • 为什么要学习等价类?
    将测试集合科学的从无穷大减少到有限小的过程。

  • 分类

    • 有效等价类:满足需求
    • 无效等价类:不满足需求
  • 设计测试用例的步骤

    • 需求分析
    • 划分等价类
      • 有效
      • 无效(从以下角度找无效等价类)
        • 规则(需求本身 不满足题目)
        • 长度
        • 类型
        • 是否为空(必填项)
        • 是否重复
    • 设计用例
  • 典型应用场景

    • 输入框

案例1:QQ账号

  QQ账号:6——10位自然数

案例3:sina邮箱

 新浪邮箱登录,要求输入(邮箱名)@sina.cn和(密码)邮箱名为:4-16位字符,支持英文、数字、下划线(不能全是数字或者下划线)密码:6-18位字符


注:无效等价类中不需要和有效等价类里一样进行数字、英文和下划线的排列组合。比如小于4位英文,主要是看长度也就是小于4位,后面不论是英文数字,还是下划线都只是他的内容,而在这我们关注的是长度。控制变量法控制的是长度,而不是数字英文下划线。在考虑类型的时候去考虑就好。

注:都无效这种情况不需分析,控制变量法

不需要把所有邮箱正确的情况和密码错误的情况进行匹配组合,主要关注的是密码错误的情况,用哪个邮箱有效等价类都行

作业

1、梳理今日知识点,结合课上知识讲解补充完善今日总结内容,以xmind形式输出
2、等价类划分法设计测试用例的步骤?

1. 明确需求 (找到所有的输入项)
2. 针对每个输入项分别确定有效和无效等价类
3. 编写测试用例:一条用例尽可能多的覆盖有效等价类;无效等价类中每个取值都要使用一条用例来覆盖;

3、写出下面问题的有效等价类、无效等价类。
(1)程序要求输入一个数X,并且X的取值范围为集合{1,3,7,15}。

有效等价类:1,3,7,15
无效等价类:2,4

(2)用户名(昵称)长度为 3-19,以字母开头,字母或数字结尾

有效等价类:
- 用户名长度为3-19,以字母开头数字结尾
- 用户名长度为3-19,以字母开头字母结尾
无效等价类:
- 用户名长度小于3,
- 用户名长度大于19,
- 以数字开头
- 以字母开头,以空格结尾
- 特殊字符、汉字、为空

4、案例2:城市电话号码

城市电话号码:某城市的电话号码是由3部分组成,分别是:
地区码:空白或是3位数字
前缀:非‘0’且非‘1’开头的三位数字
后缀:4位数字

5、TPShop商城注册功能测试用例设计

tpshop注册功能需求说明:
手机号:第一位为1,第二位非2,的11位自然数
注意:对于邮箱注册,仅验证邮箱格式是否正确
xxxx-长度为4-16,类型为数字,字母,下划线组合(可以是纯字母或者数字,不能以下划线开头)验证码:字母或者数字,与图片一致,点击刷新按钮可以更新验证码
设置密码:要求同输入框提示,6-16位大小写英文字母,数字或符号的组合 (可以是纯字母,数字,符号)
确认密码:同设置密码
推荐人手机:(非必填,之前注册成功的用户)
我已阅读并同意:勾选之后才可以点击同意协议并注册

总结

  • 掌握测试用例包含的基本内容

    • 能够说出测试用例的定义
    • 能够写出测试用例的8要素
    • 能够按照测试用例8要素模板完成1条测试用例描述
  • 使用等价类方法设计出测试用例

    • 能够根据需求划分有效等价类和无效等价类
    • 能够使用等价类方法设计(新浪邮箱登录案例)测试用例
    • 能够说出等价类方法的适用场景

软件测试 - 功能测试Ⅰ相关推荐

  1. 软件测试——功能测试:边界值测试

    软件测试--功能测试:边界值测试 边界值分析 边界的定义 边界点的定义 边界值分析 测试边界线 边界值分析的局限性 健壮性测试 最坏情况测试 健壮最坏情况测试用例 最坏情况测试的局限性 特殊值测试 随 ...

  2. 自学软件测试 - 功能测试篇

    引言 软件学习之路:功能测试,自动化测试,性能测试. 近些年来,随着互联网的高速发展,互联网上的教程多到你看都看不完的,自学成了一个人最根本的能力.如何自学软件测试,个人经验认为可以通过以下途径学习. ...

  3. 软件测试———功能测试1

    功能测试 1.软件测试的定义: 1.1认识软件及测试 1.2测试主流技能 1.3就业方向如何选择 1.4常见的测试分类(7种测试用例) 1.5测试模型(质量模型的重点五项) 1.6软件测试流程(6个步 ...

  4. 软件测试功能测试都有哪一些,【软件测试基础】功能测试常用方法都有哪些

    一. 输入框测试 1. 字符型输入框: (1)字符型输入框:英文全半角.数字.空或者空格.特殊字符"~!@#¥%--&*?[]{}"特别要注意单引号和&符号.禁止直 ...

  5. 软件测试 - 功能测试Ⅱ

    测试用例设计 今日目标 软件测试设计方法 1.等价类划分法(五星)--复习知识 2.边界值(五星) 案例1:QQ账号(6--10位自然数) 案例2:添加标题(标题长度>0且标题长度<=30 ...

  6. 软件测试——功能测试(缺陷)2

    功能测试--缺陷 缺陷 1.定义: 2.缺陷知识点 3.缺陷编写 3.1 缺陷报告示例 3.2 缺陷的跟踪流程 3.3 提交缺陷注意事项 3.4编写规范 3.5 缺陷类型 3.6 工作流程 4.缺陷管 ...

  7. 软件测试-功能测试-知识点

    文章目录 1.软件测试基础 1.软件测试的分类(重点) 2. 软件开发模型(了解) 3.软件测试模型(了解) 4.软件质量模型(了解) 2.测试用例及其设计方法(重点) 2.1等价类用例设计方法(重点 ...

  8. 间歇性踌躇满志,持续性混吃等死,做了一年软件测试功能测试,觉的在浪费时间怎么办?

    前言 随着互联网时代的发展和进行,大量的人群涌入到互联网行业,尤其进入软件测试行业的人比较多,不管是有经验还是没有经验,在没有任何了解的情况下花钱去培训,以为自己就能拿到所谓的"高薪&quo ...

  9. 软件测试 - 功能测试(缺陷管理+禅道使用)

    一.缺陷管理 1.缺陷概述 1.1 缺陷的定义 * 产品实现不满足用户需求 测试执行时,实际结果和预期结果不一致 什么是Bug ? 狭义概念:是指软件程序的漏洞或缺陷 广义概念:除此之外还包括测试工程 ...

最新文章

  1. vb.net 功能f8键事件_Excel中F1~F12所有功能键作用,你知道吗?
  2. 一维二维码的提取、识别和产生
  3. css选择器 nth-child
  4. Python API简单验证
  5. 1.three.js世界的4大要素
  6. 【leetcode 简单】 第八十四题 两个数组的交集
  7. 今天碰到的angular 中的一个小坑
  8. 【语音处理】基于matlab GUI语音原始信号+变速信号时域频域分析(带面板)【含Matlab源码 294期】
  9. PWM整流器模型预测控制Simulink仿真
  10. 简易数字电路交通灯设计
  11. workerman gatawayworker 定时器
  12. 利用图形制作个人简历,图形与形状
  13. 级联阴影贴图(CSM)
  14. Low rank 论文
  15. 微信分享网页时自定义标题描述和图片
  16. MPB:南农韦中组-​根际细菌群落资源利用网络的研究方法
  17. 2019语数外百度网盘初二全集下载
  18. 神经网络解决XOR(抑或)问题
  19. 《黑马》——C++提高编程
  20. 使用JSP实现简单的登录注册功能,并且使用Session跟踪用户登录信息

热门文章

  1. Flutter 2020 开源项目推荐 第一弹
  2. js获取页面滚动条宽度
  3. VMware 替代专题 | VMware 超融合国产化替代之性能实测
  4. 1.hive2支持的math函数聚合计算函数
  5. 单机游戏如何防止类似八门神器这类的内存修改器的篡改办法
  6. 仿生算法_糖尿病患者:说出仿生胰腺很有趣,但是现实检查怎么样?
  7. Android Framework(一)--对Zygote的理解
  8. body设置背景图片
  9. 【云驻共创】HCSD 大咖直播–就业指南
  10. 冷库物联网云平台方案