目录

前情提要

TPshop实战项目

环境搭建

项目介绍

测试流程

实战演练

熟悉项目数据库

step one :迭代版本的需求评审(产品主导)

step two: 需求分析

step three: 编写测试计划

step four: 提取测试点以编写测试用例并评审

提取测试点

编写测试用例

step five: 部署测试环境与冒烟测试

step six: 执行测试用例

step seven: bug提交与管理

step eight: 完成测试报告

step nine: 上线测试

禅道提交BUG


前情提要

在博文:软件测试基本流程和方法-CSDN博客 一节中,我们已经对软件测试的基本理论和流程有了大致的了解。这篇文章即在读者对软件测试基础有初步认知的前提下,通过开源的TPshop商城项目为因子,进行真实功能测试业务实操,全面贯通对软件测试整体流程的认识,查漏补缺。

TPshop 商城作为本次实战主角,有着无可比拟的优势。它作为开源网上商城系统,代码开源的特性为我们打开了深入剖析程序逻辑的大门,方便我们从底层逻辑出发设计各类测试场景,挖掘潜在的软件缺陷。而且,TPshop 功能全面,从商品展示、用户交互到订单处理等一系列电商核心功能一应俱全,为我们提供了一个近乎完整的测试环境,有助于全方位锤炼软件测试技能。

此外,大家都熟悉网购商城,也就意味着在对TPshop进行功能测试时,大家能够充分理解需求,并根据自身情况拓展延伸测试点。能让我们充分感受真实业务场景下软件面临的复杂情况,积累应对实际问题的经验,快速提升测试能力。接下来,就让我们一同走进 TPshop 商城功能测试的实战世界,将所学知识付诸实践,收获满满干货。

TPshop实战项目

环境搭建

  • Windows环境的搭建:前文已经介绍过

windows+Apache+MySQL+PHP+项目文件

Apache+MySQL+PHP:采用Phpstudy集成环境

注:Apache是一种开源的网页服务器web serve,提供网页信息流量服务功能

       PHP是一种通用的开源脚本语言,实现TPshop网上商城的业务逻辑与动态页面展示

       MySQL数据库,存储与管理数据

  • Linux环境的搭建:较为复杂,放在后续讲解

Linux+Nginx+MySQL+PHP+项目文件

注:Nginx是一种网页服务器web serve,提供网页信息流量服务功能

项目介绍

  • 项目信息来源 

测试人员可以从需求文档、技术和使用环境、相关人员处收集信息建立起对整个项目的全面认识

  • 项目的业务特性

tpshop是一款开源的网上购物商场,类比于淘宝、京东

  • 项目用户

访客、注册用户、管理员、仓管、客服等(场景法建立业务主干流程)

  • 项目架构:

用Xmind等类似工具建立起一个项目中系统和其子系统,子系统和其各元素的组织关系,反映项目的系统架构,帮助测试人员明确功能测试需要覆盖的功能项

注:一般到模块的具体功能项就不再细分了

  • 项目的技术栈

数据库表:

  • 商场会员对应的tp_users
  • 商城商品对应的tp_goods
  • 订单对应的tp_orders

测试流程

需求评审--->需求分析(测试人员)--->编写测试计划---->提取测试点---->编写测试用例和评审用例---->冒烟测试---->  执行测试用例---->bug提交与管理

业务逻辑:

项目测试全流程速览

实战演练

测试流程脑图梳理:【免费】软件测试-测试流程-Xmind脑图资源-CSDN文库

熟悉项目数据库

  • 熟悉连接项目数据库的方法
  • 复习SQL语句的编写
  • 熟悉项目中几个重要数据表的内容,基础

注:选择相应表,点击DDL功能或按钮查看表的描述

作业1:tp_users 如何查询tp_users表中最后一条用户的信息

作业2:修改用户昵称nickname

作业3:tp_goods查看排序在前十条的商品信息(重命名为id,商品名称,库存,售价)

作业4:修改商品名称

作业5:tp_order tp_users查看手机号是15728743912的会员昵称和所下的订单信息

实战1:注册账号选购商品后去tp_order表查询自己的订单信息

第一步:注册账户

第二步:尝试在数据库中查询刚注册好的用户信息

select * from tp_users GROUP BY user_id DESC LIMIT 1

第三步:添加地址---选购商品--提交订单--显示订单提交成功

第四步:根据手机号查询刚刚生成的订单信息

SELECT * from tp_order  where mobile=18532038129

实战简介,通过TPhshop我们将遵循测试的整体流程体验功能测试的实际业务操作,复习之前的知识点并在此过程中进行查漏补缺

step one :迭代版本的需求评审(产品主导)

此时测试人员的职责是

  • 确认自己对需求要有清晰的理解,没有疑惑
  • 确认需求文档完整、准确,能够指导后期工作
  • 对需求中不合理的地方提出自己的修改建议

假设产品说明本次迭代的版本共包含5个功能,分别为:

轮播图、搜索、我的购物车、我的订单、支付

----------需求评审完成---------

step two: 需求分析

在需求评审结束,原则上需求说明书已经完整、准确; 团队人员对需求的理解都清晰一致

接下来测试人员将根据评审会议中的笔记,其他同类型或旧原型项目继续熟悉产品的需求说明书,旨在明确各需求模块的所要求实现的各功能是什么。

这里假设需求说明书对本次迭代的产品功能模块规定的需求细节如下

轮播图功能

  • 最多显示1-5张,自动轮播,5s一换,如果只有一张Banner则不轮播
  • 鼠标悬停在图片上时停止轮播
  • 实心为当前图,可以点击切换
  • 可点击左右切换,每次切换一张图

搜索功能

  • 搜索框展示提示文本“请输入搜索关键字”
  • 搜索框下方展示搜索热度较高的关键字,点击热搜词能跳转到相应页面(数据库建表统计产品品类在一定时间内的点击率)
  • 输入关键字,点击搜索到含有关键字相关的商品
  • 当没有商品搜索到时,给出提示
  • 若搜索到的商品多余10个时,自动换页显示

我的购物车功能

  • 可以添加商品到购物车
  • 可以添加不同商品到购物车
  • 购物车右上角显示添加到购物车的数量
  • 购物车的商品可以进行更新
  • 购物车的商品也可以删除
  • 点击购物车按钮,直接跳转到购物车页面

我的订单功能

  • 当没有订单时,页面提示'您还没有订单,快去逛逛吧~当没有订单时,页面提示'您还没有订单,快去逛逛吧~'
  • 当订单购物成功时,可以已购商品的信息
  • 每个订单都可以查看详细信息
  • 订单可以按状态分类展示
  • 每个订单都会有一个唯一的订单号

支付功能

  • 支付可以选择多种方式进行支付,如支付宝,微信,网银
  • 进入订单页面时,该商品被锁定,其它用户无法购买该商品
  • 商品被锁定时,提供立即付款和取消订单按钮,点击取消订单时,取消该商品的购买
  • 当商品支付成功时,提示付款成功,进入卖家发货状态
  • 订单超时时,自动取消该订单购买操作

此时测试人员的职责是

  • 继续熟悉需求文档,进行分解和细化
  • 收集参照同类竞品功能信息,为编写测试用例做准备
  • 团队协作与工作对齐

step three: 编写测试计划

由于编写者一般为测试经理或经验丰富测试负责人,初学者仅需了解测试计划中所包含的内容及其作用即可。

参照模板:

TPshop测试计划

1.项目背景(简要说明本次测试工作的背景)

  • 本次项目进度比较紧张,故经过分析决定,测试时间为6个工作日
  • 经过沟通确认,本次主要对迭代功能进行测试,只考虑功能测试,其他类型的测试不考虑
  • 目前团队人员5人,全员参与该项目的测试

2.测试范围(总结本次测试的模块和目标)

  • 搜索,购物车,我的购物车,我的订单,支付模块
  • 虽然本次版本的迭代只有5个功能,但是这些功能都是该系统的重点和核心功能。系统之前版本的功能都和这些功能有关联,故需要对其他功能也需要测试,最终确定本系统的所有功能都要进行测试
  • 5大功能作为重点测试,投入重要资源进行测试,其他功能也要整体再测试一遍5大功能需要编写测试用例,具他的功能沿用以前的用例即可

3.测试策略

   3.1 准备阶段(编写测试人员,各自职责,目标以及时刻表)

   3.2 执行阶段(设置测试进度里程碑)

   3.3 策略分享(提供对测试对象进行测试的推荐方法)

4.规范标准

    4.1 准入准出标准(指明进行测试和结束测试的标准)

    4.2 测试用例标准(说明编写测试用例注意事项)

具体可参照博主:测试计划(详细版)_测试计划 csdn-CSDN博客

step four: 提取测试点以编写测试用例并评审

提取测试点

  • 测试点尽量写的详细,后面测试用例编写的时候,可以酌情删减
  • 测试点可以excel或者xmind的形式整理
  • 确保需求文档里写的点都要被测到

可通过流程来确认(以主干流程为例)

①首先先整体后局部

先考虑产品的最核心模块,即业务的主干流程

②然后再先正向后逆向

主干流程的正向基本流为:基本流:注册-登录-选商品-加入购物车-下单-支付

逆向从备选流出发,考虑基本流执行过程中会导致系统无效或错误的业务执行,从而形成逆向回路的一条流程

③最后再先功能后其他

根据需求分析中得出的模块功能需求列表,尽可能地提取测试点,如下:

轮播图功能:

搜索功能

我的购物车功能

编写测试用例

主要内容介绍:

用例优先级
P0:一般为保证软件中最主要、重要的功能,最基本的流程能正常运行而设计
P1:次要功能、小功能
P2:UI、边界、错误的设置
P3:错误信息、较复杂的场景、不常用的场景
测试结果:pass、fail、block(由于有bug不能继续执行时填写)、NA(由于环境、资源缺失不能执行时填写)
测试版本号:当前测试任务所用的软件版本号
备注:
1. fail的用例问题描述和对应的bugID可填入此项中
2. block和NA的用例需要在此项填写原因
3. 对用例有疑问,或此用例需要更新也可以填写在此项中

主流程:

轮播图:

搜索功能--热搜词测试点

我的订单功能

step five: 部署测试环境与冒烟测试

 测试环境在实际业务场景一般无需初级测试人员搭建,都会在一个已经配置好的环境上执行测试,初学者无需担心部署过于困难繁琐的问题。

冒烟测试:执行冒烟测试,测试业务的主干流程。针对TPshop的购物业务流程,选取几条购物模块的测试用例充当冒烟测试用例执行,当发现冒烟测试不通过时,不开展测试阶段反而打回到开发阶段继续进行开发完善。

设置轮播图

TPshop后端系统管理界面进入编辑,设置广告位置为首页banner广告轮播,开始日期和结束日期设置为近期否则过期会不显示,设置完成后返回前端界面即可查看效果

 设置自定义搜索的商品:

TPshop后端系统管理界面进入编辑,自定义添加商品。注意添加关键词使前端搜索时可以用关键字搜索,提交成功后返回前端进行关键字搜索

step six: 执行测试用例

根据上述编写的测试用例在测试环境中一条一条的按步骤实际操作,检查实际的效果同预期效果是否一致,若一致则代表本条测试用例通过标记为pass,相反则表示此处存在bug,标记为fail

此时测试人员应当进行bug的记录并通过工具进行提交和跟踪管理。

主要内容介绍:

问题描述:对应于“禅道”中bug标题,或问题简要描述
严重程度:
严重(S1):主功能不可用、crash问题、闪退、不能启动
一般(S2):次要功能不可用,边界、异常未进行处理等
微小(S3):易用性问题、界面展示,小的性能问题等
建议(S4):建议性问题                                                                                                      
缺陷优先级:
Priority 0:必须在24小时之内被解决
Priority 1:产品发布前必须修复
Priority 2:可以在下一个版本中修复                                                                                       
缺陷状态:                                                                                                                                
New:新建
Open:打开
Fixed:修复
Rejected:拒绝
Postponed: 延期
Reopen:再次打开

step seven: bug提交与管理

step eight: 完成测试报告

 参照模板:

TPshop测试报告

1.项目结论

2.测试活动

   2.1 测试范围(说明测试的系统、功能模块范围)

   2.2 测试时间、环境、版本及人员描述

   2.3 打回次数统计

   2.4 缺陷情况(缺陷总数、严重程度及个数统计)

   2.5 风险描述及应对措施

step nine: 上线测试

禅道工具的使用

初级测试人员只需重点关注如下功能按钮即可。

以点击【立即团购】按钮无法跳转到团购支付界面为例提交一个:

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐