✨博客主页: https://blog.csdn.net/m0_63815035?type=blog
💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识
📢博客专栏: https://blog.csdn.net/m0_63815035/category_11954877.html
📢欢迎点赞 👍 收藏 ⭐留言 📝
📢本文为学习笔记资料,如有侵权,请联系我删除,疏漏之处还请指正🙉
📢大厦之成,非一木之材也;大海之阔,非一流之归也✨
本系列是根据TPshop商场项目做一个测试讲解,是搭配本专栏中的Tpshop商场4.0需求文档一起讲解,希望大家可以多多关注!!!
一、web项目环境与测试流程、业务流程测试
day01目标
-
了解Windows下WAMP环境搭建
-
掌握熟悉项目的四大步骤
-
掌握业务组织架构图的绘制方法
-
掌握项目的测试流程
- 需求分析与评审
- 编写测试计划与测试方案
- 设计测试用例与评审
- 执行用例与缺陷跟踪
- 编写测试报告
-
了解测试人员在需求评审中的职责
-
熟悉测试计划和测试方案的核心内容
-
熟悉测试用例和缺陷模板的核心要素
-
熟悉项目中的用户表,商品表,订单表
一、环境搭建
1. 基础环境介绍
1.1 LNMP与WAMP
- LNMP:linux + nginx + mysql + php
- WAMP:windows + apache + mysql + php
1.2 项目环境的组成部分(重点)
-
操作系统
- Windows
- Linux
-
web服务器
-
作用
- 处理浏览器访问请求
- 存放服务资源:项目文件、图片等
-
常见web服务器
- nginx
- apache
- tomcat
- …
-
服务器与web服务器说明
-
-
数据库
- 关系型数据库
- oracle
- MySQL
- SQL Server
- DB2
- …
- 非关系型数据库
- redis
- mongodb
- 关系型数据库
-
项目
- PHP
- JAVA
- C
- Python
- …
2. 搭建测试环境
2.1 搭建环境步骤(Windows)
- 准备工作
- 集成环境安装包:phpstudy
- 项目部署包:tpshop
- 部署文档
- 安装集成环境
- web服务器:apache
- 数据库:mysql
- 部署项目
- 将TPshop项目压缩包解压后文件夹里的全部内容放入phpStudy安装路径D:\phpStudy\WWW中
2.2 域名的设置(扩展)
- 进入目录C:\Windows\System32\drivers\etc
- 用记事本打开hosts文件
- 127.0.0.1 hahaha.tpshop.com
- 保存退出
- 浏览器通过域名访问商城
3 TPshop项目介绍
3.1 熟悉项目的步骤
- 业务特性 项目是用来干嘛的?
- 用户与角色 项目是给谁用的
- 组织架构图 项目包括哪些功能模块?
- 技术栈 项目使用哪些技术实现的?
3.2 熟悉项目的信息来源
- 文档:需求文档、测试用例、用户手册等
- 环境:
- 开发环境
- 测试环境
- 线上环境/生产环境(用户使用)
- 人:测试组员/测试经理,开发人员,产品经理
熟悉tpshop项目:
-
业务特性
- 一个电商网站
-
项目的用户与角色
- 前台
- 游客
- 注册会员
- 后台
- 超级管理员
- 仓管员
- 客服人员
- 前台
-
组织架构图
- 作用:整体性认识被测试的项目。
- 绘制:
- 后台
- 系统==》子系统==》模块==》子模块
- 见到具体的页面截止
- 前台
- tpshop购买流程(核心业务流程)
- 注册登录==》商品展示==》购物车==》支付==》订单管理
- 前台绘制原则
- 一个独立的页面就是一个模块
- 具有共同特点的模块可以进行归纳整理合并,推荐大家按照核心业务流程涉及的模块进行归整。
- tpshop购买流程(核心业务流程)
- 后台
-
项目的技术栈
- 数据库:mysql
- web服务器:apache
- 开发语言:php
- 操作系统:windows(Linux)
4. 测试流程(重点)
- 需求分析与评审
- 编写测试计划于测试方案
- 设计测试用例与评审
- 执行测试用例与缺陷跟踪
- 编写测试报告
4.1 需求分析与评审(掌握)
-
什么是软件需求?
- 解决问题
- 达到目标
-
为什么要做需求评审?
- 确认需求完整与准确
- 理解一致
- 降低因为需求不明确带来的项目失败的风险
-
怎样做需求评审?
- 需求评审会议
- 参与人
- 产品经理/项目经理
- 开发/UI
- 测试
- DBA
- …
-
测试工程师在需求评审中的主要职责是什么?
-
确认自己理解需求、无疑义
-
确认需求无明显错误、能够支撑后续的用例设计等
-
提出一些改进建议
-
-
需求评审实战——实名认证
-
第一轮需求评审
-
图1
- 上传的身份证需要打上水印,仅供当前产品使用
- 身份证正面照片与示例中的反面案例?
- 包含身份证有效期的反面照不需要上传吗?
-
图2
- 姓名与身份证号显示不对齐
- 提示语位置超出界面范围
- 识别后的姓名信息可以修改,但是证件号不可以进行修改
-
图3
- 技术上存在疑惑,系统能实时给出实名认证判定结果?
-
图4
- 认证通过以后应该是结束
- 通过后,不需要返回上一步
-
图5
- 认证不通过以后建议重新发起认证流程
- 简化业务流程,认证失败后不需要返回上一步
-
-
第二轮需求评审
-
-
图1
- 身份证的正反面的示例图片的修改
-
图6
- 提示语错误,不应该是“支付失败”与实名认证完全无关
-
图1~图6
- 流程节点(审核中)缺失,所有的图片都应该增加该节点状态
-
图4
- 节点状态应该是审核中,而不是验证完成
-
-
4.2 编写测试计划与测试方案(了解)
-
负责人
-
测试组长、经理(第一负责人、管理经验)
-
测试工程师
-
-
测试计划
-
概念:是指描述了要进行的测试活动的范围、方法、资源和进度的文档。
-
核心内容:
-
范围与目标
-
角色与职责
-
进度与资源
-
风险与应对
-
准入准出标准
-
-
-
测试方案
-
概念:是从测试的技术角度去分析需求,在方向上明确要怎么测,分析结果重点在于测试策略与技术实现。
-
核心内容
-
方法
-
环境
-
工具
-
-
-
面试题:测试计划与测试方案的区别?
-
测试计划是【管理型】文档,测试方案是【技术性】文档
-
测试计划主要解决【做什么?】【谁来做?】,测试方案主要解决【怎么做?】
-
主要内容存在差异:
-
测试计划主要内容如下:
- 目标与范围
- 角色与职责
- 资源与进度
- 风险与应对
- 准入与准出
-
测试方案主要内容如下:
-
策略与方法
-
环境
-
工具的选择
-
-
-
4.3 设计测试用例与评审(重点)
-
基本测试策略
- 冒烟测试
- 基本功能检查
- 核心业务流程测试
- 单功能测试
- 轮播图
- 购物车
- 后台会员管理
- 抢购
- …
- 集成测试与回归
- 系统测试与回归
- 验收测试与回归
- 冒烟测试
-
测试用例核心要素
- ID
- 模块
- 优先级
- 标题
- 测试数据
- 前置条件
- 测试步骤
- 预期结果
4.4 执行测试用例与bug跟踪(重点)
- 缺陷模板核心要素
-
ID
-
标题
-
优先级
-
严重程度
-
预置条件
-
测试数据
-
复现步骤
-
预期结果
-
实际结果
-
缺陷类型
-
缺陷状态
-
4.5 编写测试报告(了解)
- 测试概要
- 缺陷统计与分析
- 测试结论
5. 数据库
5.1 数据库信息获取渠道
- 数据表设计文档
- DDL
5.2 用户表【tp_users】
5.2.1 查询用户表中最后一条记录
-- 练习1:查询用户表中最后一条记录
select * from tp_users order by user_id desc limit 1;
5.2.2 修改用户表中某个用户的用户昵称
-- 练习2:修改用户表中某个用户的用户昵称
(1)查询修改前数据
select nickname from tp_users where user_id = 2599;
(2)修改数据
update tp_users set nickname = 'jack' where user_id = 2599;
(3)确认修改结果
select nickname from tp_users where user_id = 2599;
5.3 商品表【tp_goods】
5.3.1 查询商品表中排在前10位的商品信息,注意只显示字段:id,名称,库存,售价
-- 练习3:查询商品表中排在前10位的商品信息,注意只显示字段:id,名称,库存,售价
(1)确认表
(2)确认字段
(3)选择sql
select goods_id,goods_name,store_count,shop_price from tp_goods limit 10;
5.3.2 修改商品名称:将商品名称【小米手机5,十余项黑科技,很轻狠快】修改为【小米手20】
-- 练习4:将商品名称【小米手机5,十余项黑科技,很轻狠快】修改为【小米20】
update tp_goods set goods_name = '小米20' where goods_name LIKE '小米手机5%';
注意:前台页面显示内容变化。
5.4 订单表【tp_order】
5.4.1 查询手机号是’xxxxxxx’的会员账号的昵称以及所下订单的订单编号
-- 练习5:查询手机号是'13488888888'的会员账号的昵称以及所下订单的订单编号
select tp_users.nickname,tp_order.order_sn from tp_users LEFT JOIN tp_order ON tp_users.user_id = tp_order.user_id where tp_users.mobile=13488888888;
别名:
select u.nickname,o.order_sn from tp_users as u LEFT JOIN tp_order as o ON u.user_id = o.user_id where u.mobile=13488888888;
5.5 导航表【tp_navigation】
5.5.1 修改导航栏中“手机城”的数据,将显示名称改掉“手机大卖场”
-- 练习6:修改导航栏中“手机城”的数据,将显示名称改掉“手机大卖场”
update tp_navigation set name = '手机大卖场' where name='手机城';
6.设计测试用例
6.1 设计测试用例(轮播、购物车)
-
设计测试用例方法
-
需求==》测试点==》测试用例
-
一个测试点就是一条测试用例
-
-
测试用例设计步骤
-
需求分析
-
拆分测试点
-
设计用例
-
6.2 测试用例评审
- 同行评审(内部评审):测试组长、经理、测试工程师
- 项目内评审:产品、项目、开发、客户、测试
6.3测试用例分析与评审
-
测试工程师在需求评审中的主要职责是什么?
-
确认自己理解需求、无疑义
-
确认需求无明显错误、能够支撑后续的用例设计等
-
提出一些改进建议
-
今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文