黑马测试基础-TPshop项目(2)

本文介绍了状态迁移法在订单状态测试、会员管理、功能与数据库交互以及抢购功能中的应用,包括流程图绘制、业务流程测试的执行步骤和优惠券功能的测试策略。强调了在软件开发中关注业务流程完整性和用户实际场景的测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

状态迁移法

图与数

(1)图:用线把所有点与点之间连接起来

(2)数:没有闭环的图

根节点——树干最根部的节点;一棵树只有一个根节点

叶子节点——树杈最末梢的节点;叶子节点是树的尽头

状态迁移法介绍

所谓状态迁移法就是首先要找出被测对象的所有状态,如何再分析各个状态之间的转换,据此编写测试用例

注意:状态迁移法不保证单个功能点的正确性,仅保证状态间的转换是否与需求描述一致

适用场景

在业务流程中涉及到了复杂的业务场景(即业务状态的迁移),而这些业务场景需求说明书中往往不能够完全阐述清楚,容易出现遗漏

使用步骤

  1. 明确状态节点
  2. 绘制状态迁移图
  3. 根据图绘制状态迁移树
  4. 根据树编写测试用例
    • 从根节点到一个叶子节点就是一条路径
    • 一条路径对应一个测试用例
    • 树中有多少叶子节点就对应多少测试用例

案例分析

飞机售票系统:

  1. 客户向航空公司打电话预定机票,此时机票信息处于”预定“状态
  2. 顾客支付了机票费用后,机票信息变为”已支付“状态
  3. 旅行当天到达机场,拿到机票后,机票信息变为”已出票“状态
  4. 登记检票后,机票信息变为”已使用“状态
  5. 在签票之前任何时间都可以取消自己的订单,取消后,订单信息处于”已取消“状态

状态迁移图——>状态迁移树

在这里插入图片描述
测试路径:

预定–>已取消

预定–>已支付–>已取消

预定–>已支付–>已出票–>已取消

预定–>已支付–>已出票–>已使用

订单状态测试

  1. 用户在网站完成下单后,订单状态为“等待付款
  2. 用户完成付款后,订单状态变为“待发货
  3. 管理员对订单进行确认发货后,订单状态变为“待收货
  4. 用户收到商品后,在系统中进行确认收货,订单状态变为“待评价
  5. 用户使用商品后,对商品进行评价,评价提交后,订单状态变为“已完成
  6. 商品发货前,用户可以对订单进行取消操作,取消后订单状态变为“已取消
  7. 用户付款前,管理员可以认定订单无效,此时订单处于“已作废”状态

状态迁移图
在这里插入图片描述
状态迁移树
在这里插入图片描述

会员管理测试

  1. 熟悉会员列表功能需求
  2. 整理测试点

多个输入条件场景——减少测试用例的五条原则

  1. 长度或范围
  2. 数据类型
  3. 规则
  4. 是否必填
  5. 是否可以重复

测试点xmind整理:
在这里插入图片描述

测试用例举例:
在这里插入图片描述

功能测试与数据库

在功能测试的同时经常会直接用sql操作数据库中的表,达到为测试提供数据

要做界面中的某些数据统计测试,由于需求说明书不能明确的说明这些数据

预期结果就是通过sql语句统计到的数据

实际结果就是界面显示的数据

应用场景

  1. 执行用例过程中,有时需要到数据库验证数据的准确性与完整性

    -- 数据库验证数据的准确性:后台‘商城’->‘统计’->‘会员统计’功能的会员余额总额
    
    select sum(user_money) from tp_users;
    
    • 要做界面中的某些数据统计测试,由于需求说明书不能明确的说明这些数据
      • 预期结果就是通过sql语句统计到的数据
      • 实际结果就是界面显示的数据
  2. 进行BUG定位时,有时需要到数据库查看数据的详细信息

    -- BUG定位:前台会员修改性别后,个人信息性别显示错误(查询用户13012345678在表中的性别)
    
    select sex from tp_users where mobile='13012345678';
    
  3. 构造某种测试场景时,可以在数据库中直接修改数据,要比使用界面更有效

    -- 构造数据:使前台购物车商品总数显示出四位数(筛选条件中id的取值需要自己定义)
    select * from tp_cart;
    update tp_cart set goods_num = 2200 where id = 20;
  4. 软件升级过程中,有时会涉及到历史数据的处理,这种情况需要执行升级SQL,并验证结果

    -- 系统升级,给用户新增一个字段“信用分:credit_score”,并把现有会员账号的信用分设置为100分
    -- alter table:修改表
    -- alter table 表名 add column 字段名 字段类型
    alter table tp_users add column credit_score int;
    update tp_users set credit_score=100;
    select * from tp_users limit 10-- 删除credit_score列字段
    -- alter table 表名 drop column 字段名;
    alter table tp_users drop column credit_score;
    
    • 可以不删除表不重建表,给表增加或删除字段
      • 可以保留表中的数据

抢购功能测试

请添加图片描述
在这里插入图片描述

流程图

  • 流程图是对过程,算法流程的一种图像表示

常用符号

image-20240416205535047

画流程图的注意点

  • 开始和结束要用带弧边的矩形
  • 箭头连接前后的过程
  • 流程的前后关系要合理
  • 判断有两个结果(是和否),都要标识出来
  • 重复的步骤,不用单独画出
  • 一个步骤的下一个流程有多种情况,需要全部画出

绘制流程图的工具

  • visio
  • excel

进站-安检-乘车流程图

在这里插入图片描述

业务流程测试说明

作用

  • 一个项目的作用和,其实就是客户的价值
  • 每个人的分工不同,测试的时候会忽略一些全局的测试用例

关注点

  • 业务流程是否走通
  • 不关注流程中具体的功能点

执行时机

  • 基本功能都完成后,进行业务流程测试
  • 软件上线前,再次进行业务流程的回归测试

编写流程测试步骤

  1. 明确需求中的业务流程
  2. 画出流程图
  3. 编写测试用例
  4. 流程图的一条路径(一个场景)对应一条测试

执行测试用例

  • 执行用例时可按照优先级进行排序;
  • 优先级高的用例优先执行
    • 贯穿始终的优先级高

业务场景测试——前台商品购买流程

  • 业务场景测试就是测试多个功能的组合使用,功能的组合通常根据用户的实际使用场景进行
  • 业务场景测试不需要深入功能内部详细测试,主要测试业务流程
  • 应用场景
    • 软件上线前,以用户角度测试,从登录到购物,最后订单完成的全部流程

在这里插入图片描述

优惠券功能测试

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值