TPshop part2
状态迁移法
图与数
(1)图:用线把所有点与点之间连接起来
(2)数:没有闭环的图
根节点——树干最根部的节点;一棵树只有一个根节点
叶子节点——树杈最末梢的节点;叶子节点是树的尽头
状态迁移法介绍
所谓状态迁移法就是首先要找出被测对象的所有状态,如何再分析各个状态之间的转换,据此编写测试用例
注意:状态迁移法不保证单个功能点的正确性,仅保证状态间的转换是否与需求描述一致
适用场景
在业务流程中涉及到了复杂的业务场景(即业务状态的迁移),而这些业务场景需求说明书中往往不能够完全阐述清楚,容易出现遗漏
使用步骤
- 明确状态节点
- 绘制状态迁移图
- 根据图绘制状态迁移树
- 根据树编写测试用例
- 从根节点到一个叶子节点就是一条路径
- 一条路径对应一个测试用例
- 树中有多少叶子节点就对应多少测试用例
案例分析
飞机售票系统:
- 客户向航空公司打电话预定机票,此时机票信息处于”预定“状态
- 顾客支付了机票费用后,机票信息变为”已支付“状态
- 旅行当天到达机场,拿到机票后,机票信息变为”已出票“状态
- 登记检票后,机票信息变为”已使用“状态
- 在签票之前任何时间都可以取消自己的订单,取消后,订单信息处于”已取消“状态
状态迁移图——>状态迁移树
测试路径:
预定–>已取消
预定–>已支付–>已取消
预定–>已支付–>已出票–>已取消
预定–>已支付–>已出票–>已使用
订单状态测试
- 用户在网站完成下单后,订单状态为“等待付款”
- 用户完成付款后,订单状态变为“待发货”
- 管理员对订单进行确认发货后,订单状态变为“待收货”
- 用户收到商品后,在系统中进行确认收货,订单状态变为“待评价”
- 用户使用商品后,对商品进行评价,评价提交后,订单状态变为“已完成”
- 商品发货前,用户可以对订单进行取消操作,取消后订单状态变为“已取消”
- 用户付款前,管理员可以认定订单无效,此时订单处于“已作废”状态
状态迁移图
状态迁移树
会员管理测试
- 熟悉会员列表功能需求
- 整理测试点
多个输入条件场景——减少测试用例的五条原则
- 长度或范围
- 数据类型
- 规则
- 是否必填
- 是否可以重复
测试点xmind整理:
测试用例举例:
功能测试与数据库
在功能测试的同时经常会直接用sql操作数据库中的表,达到为测试提供数据
要做界面中的某些数据统计测试,由于需求说明书不能明确的说明这些数据
预期结果就是通过sql语句统计到的数据
实际结果就是界面显示的数据
应用场景
-
执行用例过程中,有时需要到数据库验证数据的准确性与完整性
-- 数据库验证数据的准确性:后台‘商城’->‘统计’->‘会员统计’功能的会员余额总额 select sum(user_money) from tp_users;
- 要做界面中的某些数据统计测试,由于需求说明书不能明确的说明这些数据
- 预期结果就是通过sql语句统计到的数据
- 实际结果就是界面显示的数据
- 要做界面中的某些数据统计测试,由于需求说明书不能明确的说明这些数据
-
进行BUG定位时,有时需要到数据库查看数据的详细信息
-- BUG定位:前台会员修改性别后,个人信息性别显示错误(查询用户13012345678在表中的性别) select sex from tp_users where mobile='13012345678';
-
构造某种测试场景时,可以在数据库中直接修改数据,要比使用界面更有效
-- 构造数据:使前台购物车商品总数显示出四位数(筛选条件中id的取值需要自己定义) select * from tp_cart; update tp_cart set goods_num = 2200 where id = 20;、
-
软件升级过程中,有时会涉及到历史数据的处理,这种情况需要执行升级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;
- 可以不删除表不重建表,给表增加或删除字段
- 可以保留表中的数据
- 可以不删除表不重建表,给表增加或删除字段
抢购功能测试
流程图
- 流程图是对过程,算法流程的一种图像表示
常用符号
画流程图的注意点
- 开始和结束要用带弧边的矩形
- 箭头连接前后的过程
- 流程的前后关系要合理
- 判断有两个结果(是和否),都要标识出来
- 重复的步骤,不用单独画出
- 一个步骤的下一个流程有多种情况,需要全部画出
绘制流程图的工具
- visio
- excel
进站-安检-乘车流程图
业务流程测试说明
作用
- 一个项目的作用和,其实就是客户的价值
- 每个人的分工不同,测试的时候会忽略一些全局的测试用例
关注点
- 业务流程是否走通
- 不关注流程中具体的功能点
执行时机
- 基本功能都完成后,进行业务流程测试
- 软件上线前,再次进行业务流程的回归测试
编写流程测试步骤
- 明确需求中的业务流程
- 画出流程图
- 编写测试用例
- 流程图的一条路径(一个场景)对应一条测试
执行测试用例
- 执行用例时可按照优先级进行排序;
- 优先级高的用例优先执行
- 贯穿始终的优先级高
业务场景测试——前台商品购买流程
- 业务场景测试就是测试多个功能的组合使用,功能的组合通常根据用户的实际使用场景进行
- 业务场景测试不需要深入功能内部详细测试,主要测试业务流程
- 应用场景
- 软件上线前,以用户角度测试,从登录到购物,最后订单完成的全部流程