项目测试流程
环境搭建
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)
准备工作
1. 集成环境安装包:phpstudy
2. 项目部署包:tpshop
3. 部署文档
安装集成环境
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购买流程
注册登录==》商品展示==》购物车==》支付==》订单管理
前台绘制原则
一个独立的页面就是一个模块
具有共同特点的模块可以进行归纳整理合并,推荐大家按照核心业务流程涉及
的模块进行归整。
项目的技术栈
数据库: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='手机城';