从零开始的软件测试学习之旅(四)web项目工作流程介绍

WEB手工项目

    • 项目介绍
    • 项目技术分析
    • 项目学习
    • 准备工作
    • 如何快速熟悉项目
      • 举例熟悉TPshop项目
    • 总体系统项目介绍
    • 项目与数据库
    • 测试流程
    • 什么是软件需求
      • 需求评审
    • 测试计划
    • 测试方案
    • 测试计划和测试方案的区别

项目介绍

在这里插入图片描述

满足经典三层架构:前端 后端 数据库

前端:运行在用户端的浏览器客户端

后端:运行在应用服务器上,作为前端的数据库的中间人,处理业务逻辑和数据(有能够发布的程序,ip与接口 如:ping 百度 可以通过返回的ip进行查询)

数据库:用于存储用户数据(也存在相应的ip与端口)

项目技术分析

1.前端代码:

技术栈:HTML+css+js等

部署位置:一般和后端代码一起,也可以单独

2.后端代码:

技术栈:Java+springboot或Python+Django也可以用PHP/C++写代码

部署位置:在应用服务器的中间件,用于实现项目功能

中间件:介于系统和应用之间的一类软件如:web服务器

常见服务器:

1.Apache默认端口 80 技术成熟,社区完善,文档丰富

2.Nginx:默认监听端口 80 负责负载均衡 (当数据大量访问服务器时,Nginx可以将数据进行平均分摊,防止服务器暴毙)

3.Tomcat:默认8080 主要用于Java开发

常见的项目构成组合

Java+Tomcat+mysql+linux

php+apache+mysql+Windows

项目学习

待测项目为一款PHP语言的网上商城 根据技术栈php+apache+mysql+Windows分析需要准备环境

1,一台Windows电脑

2.电脑上安装MySQL服务

3.在电脑上准备能够运行PHP代码的中间件Apache

4.在电脑上准备好项目包

准备工作

1.tpshop项目 2.Apache 3.mysql 4.部署文档

1.部署项目

1.把tpshop项目解压在phpstudy(可以官网下载)的WWW目录下

2.打开httpd.conf配置项目路径,添加DocunmentRoot (项目路径)

3.浏览器输入localhost回车,安装

如何快速熟悉项目

在测试项目时应该先熟悉项目,如何快速熟悉项目?

四个步骤: 1.业务特性:我们的项目是用来干什么的?

2.用户与角色:项目给谁做?普通商家还是企业

3.组织架构图:项目包含的模块(买家模块,卖家模块)

4.技术栈 项目是使用什么技术实现的

三个来源:

1.文档:已存在文档(需求/设计/测试文档/用户手册)

2.环境:现有环境(开发/测试/预生产/生产)

3.人:项目组同事(产品/开发/测试)

两个作用: 工作和找工作

举例熟悉TPshop项目

一个电商系统,实现了综合类产品的线上选购,下单,支付等业务

TPshop用户与角色

前台:

1.游客 2,注册会员

后台: 卖家,仓管员,超级管理员

模块划分原则:1.前台 a.按页面进行划分

b.按照业务流程进行整理(支付是一个功能 ,支付功能的使用需要 登录->选择商品->加入购物车->下订单->支付)

c.其他功能按照特性整理(如 限时抢购 可以整合为活动模块 轮播图整合至广告模块)

后台:模块->菜单->子菜单->标签 见到具体页面结束

在这里插入图片描述

组织架构图: 反映各系统和各模块关系
作用帮助理解项目,工具可以使用XMind等
项目技术栈: php+apache+mysql+Windows

总体系统项目介绍

​ TPshop是一个电商系统,实现了综合类产品的线上选购,下单支付等业
系统分为前后台 前台主要给买家购物使用,用户注册,登录,搜集商品,下单支付

后台:主要给管理员/卖家/仓管使用

管理员可以查看卖家和订单数据,审核商品上架,处理对卖家的投诉

卖家可以上下架商品,打广告,确认订单,通知发货

仓管可以对货架进行管理,管理对应库存,可以通知卖家补货等

项目技术栈:php+apache+mysql+Windows

项目与数据库

界面操作->会影响数据库中存储的数据

对数据库数据操作->会影响界面显示

测试人员使用数据库的场景

1.验证数据的准确性与完整性

如:注册账号,系统提示成功,需要进行数据库查看数据

用户下单,会生成订单数据,需要进数据库查看数据,比如订单生成时间,订单状态

2.辅助进行bug定位

如 用户注册后,性别展示有误

用户搜索商品,应该显示10条却只有7条

3.构造测试场景

如,测试店铺评分逻辑,需要构建一个1000条以上差评店铺

4.测试SQL脚本

版本升级,增加新的用户状态,需要SQL增加

测试流程

内容
1.需求评审
​ 2.制定测试计划与测试方案
​ 3.设计测试用例, 发起测试用例评审
​ 4.执行测试用例, 管理Bug
​ 5.编写测试报告
​ 6.其他 验收测试 线上测试
​ 收集线上反馈, 验证用户提出的问题

什么是软件需求

就是软件要实现的目标:可以大体上分为 功能需求(假设一个电梯要实现上下楼的功能), 非功能需求(在可以上下楼的基础上对速度进行要求) 会以文档形式呈现呈现形式:需求说明书又叫需求文档 prd文档

需求评审

需求评审:产品,开发,测试等对需求达成共识

怎样做需求评审
1.产品人员邮件将文档提前发给相关: ui, 开发, 测试
2.评审会议
3.修改与确认

测试工程师在需求评审中的主要职责是什么
1.确认自己对需求的理解是否清晰
2.对需求中不合理的地方提出修改意见
用户体验
对比市场上的同类产品
[可能]确认需求文档的完整和正确性, 能够指导后期的工作

测试计划

是指描述了要进行的测试活动的范围, 方法, 资源, 进度的文档
内容
1.明确的测试目标与测试范围
2.执行计划的角色和职责
3.任务的进度安排与资源分配
4.风险评估和应急计划
5.测试的各项标准

测试计划参考:一个项目的测试计划模板该怎么写?【附案例】_如何制定测试计划-CSDN博客

测试方案

是从测试的技术角度去分析, 重点在于测试策略和技术实现

内容
测试策略
1.功能性 对于需求文档中所描述的功能完成度/ 精准度
2.性能 是否满足需求文档中的性能要求 (安全 认证/ 授权/ 隐私)
3.兼容性 操作系统兼容, 硬件兼容, 向后兼容, 应用兼容
4.可靠性 错误处理, 可恢复性, 稳定性…
5.用户体验测试
测试方法

1.黑盒/白盒/灰盒, 动态/静态 (测试的分类)
2.测试环境的规划
3.测试工具的设计和选择

测试方案参考:一份完整测试方案模板_测试方案编写模板-CSDN博客

测试计划和测试方案的区别

测试计划是[管理型]文档, 测试方案[技术型]文档
​测试计划主要解决 [做什么][谁来做], 测试方案主要解决 [怎么做]
实际工作中的测试计划和测试方案
实际工作中越来越多的公司不在乎测试计划和方案文档,沟通交流比文档更重要
测试负责人以邮件的形式做测试计划和方案, 通知各组员甚至开个碰头会, 也算是完成沟通
​ 一般不区分计划和方案, 实际有一个文档就够了资源分配人力,测试资源,时间资源

打算从事软件测试的小伙伴注意啦!!领取软件测试零基础全套入门学习资料,扫码加微领取
添加wx好友时备注: 111 !!!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/4628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

同仁堂医养拟赴港上市,养老产业的盈利难题有了答案?

提及银发经济,大众可能最先想到的就是养老产业,在市场需求推动下,这一细分赛道的增长已势不可挡。单从入局者的积极性就可以把握到赛道前景之广阔。 天眼查专业版数据显示,截至目前,我国拥有养老相关企业36.2万家&…

线上办理离婚快速离婚,无需双方见面异地可办

现在离婚有两种方式 一种是协议离婚,双方都同意的情况下,可以去民政局协议离婚,有30天冷静期,冷静期过后需要双方再次去民政局办理离婚手续。 另一种是诉讼离婚,一方不同意离婚,可以选择诉讼离婚。可以全…

【PPT设计】颜色对比、渐变填充、简化框线、放大镜效果、渐变形状配图、线条的使用

目录 图表颜色对比、渐变填充、简化框线放大镜效果渐变形状配图 线条的使用区分标题与说明信息区分标题与正文,区分不同含义的内容**聚焦****引导****注解****装饰** 图表 颜色对比、渐变填充、简化框线 小米汽车正式亮相!你们都在讨论价格,我全程只关…

jackson.dataformat.xml 反序列化 对象中包含泛型

重点: JacksonXmlProperty localName 指定本地名称 JacksonXmlRootElement localName 指定root的根路径的名称,默认值为类名 JsonIgnoreProperties(ignoreUnknown true) 这个注解写在类上,用来忽略在xml中有的属性但是在类中没有的情况 Jack…

python_django农产品物流信息服务系统6m344

Python 中存在众多的 Web 开发框架:Flask、Django、Tornado、Webpy、Web2py、Bottle、Pyramid、Zope2 等。近几年较为流行的,大概也就是 Flask 和 Django 了 Flask 是一个轻量级的 Web 框架,使用 Python 语言编写,较其他同类型框…

Eclipse C++ 无法debug 问题

环境: ubuntu20.04 Eclipse CDT(x86_64) 工程,使用的是默认的CMake Project 现象: 1. 使用Eclipse, 加了断点后,debug 无法停在断点;step over 执行后是从main 直接执行到exit &#xff…

poi-tl自定义渲染策略学习

文章目录 实现逻辑参考代码注意点 实现逻辑 自定义渲染策略实现逻辑: 找到模板中的表格标签render方法接收java中对应模板表格标签的所有list数据执行自定义渲染逻辑 参考代码 word模板如下: 实体类: Data public class GksxRowData {/…

Linux多进程(二)进程通信方式三 共享内存

共享内存提供了一个在多个进程间共享数据的方式,它们可以直接访问同一块内存区域,因此比使用管道或消息队列等通信机制更高效。在多进程程序中,共享内存通常与信号量一起使用,以确保对共享内存的访问是线程安全的。 一、打开/创建…

07_for循环返回值while循环

文章目录 1.循环返回值2.yield接收for返回值3.scala调用yield方法创建线程对象4.scala中的while循环5.scala中的流程控制 1.循环返回值 for循环返回值是Unit 原因是防止产生歧义; 2.yield接收for返回值 // 2.yield关键字打破循环,可以使for循环输出…

webpack面试题(持续汇总ing。。。)

webpack的编译过程 初始化 此阶段,webpack会将CLI参数、配置文件、默认配置进行融合,形成一个最终的配置对象。对配置的处理过程是依托一个第三方库 yargs 完成的。此阶段相对比较简单,主要是为接下来的编译阶段做必要的准备目前,…

LLaMA 3:大模型之战的新序幕

作者 | 符尧 OneFlow编译 翻译|杨婷、宛子琳、张雪聃 本文要点概览: 文本数据的扩展可能已经达到了极限,因为易于获取的网络文本资源(如Common Crawl、GitHub、ArXiv等)已基本被充分利用。 尽管如此,通过更…

数据结构 - C/C++ - 数组

目录 结构特性 内存布局 结构样式 结构拓展 数据初始 元素访问 插入元素 删除元素 查找元素 修改元素 结构设计 成员变量 构造函数 功能函数 示例代码 结构特性 长度固定:数组的长度在创建时已经被确定,如果需要动态改变数组的长度&#…

C++面向对象程序设计 - 多继承,以及基类与派生类转换

单继承是一个类是从另一个基类派生类而来的,多继承则是一个派生类是同两个或多个基类,派生类从两人或多个基类中继承所需的属性。 声明多重继承的方法: class D: public A, private B, protected C { 类D新增加的成员 } 一、多重继承派生类的…

Vue---组件

Vue—组件 目录 Vue---组件定义组件全局组件局部组件 组件通讯***重点***父子通信之父传子(props)父子通信之子传父($emit)ref属性($refs) 动态组件插槽命名插槽 定义组件 全局组件 vue2中template只能传…

浏览器渲染机制:重排(Reflow)与重绘(Repaint)以及Vue优化策略

浏览器渲染机制是一个复杂但有序的过程,其目的是将HTML、CSS和JavaScript代码转化为用户可以看到和交互的视觉界面。重排(Reflow)与重绘(Repaint)是浏览器渲染过程中对页面元素进行更新的两个重要步骤,理解…

ubuntu22.04安装TensorRT(过程记录)

重要说明:此贴经过多次修改。第一次安装的的为trt8.6.1版本。第二次安装的10.0.0.6版本。有些地方可能没改过来,比如链接向导,我懒得改了,但是流程是对的。 cuda和cudnn版本对应关系 tensorRT历史发行版本 CUDA历史发行版本 cudn…

ENVI不同版本个人使用对比

ENVI不同版本个人使用对比 文章目录 ENVI不同版本个人使用对比前言对比5.3学习版5.6学习版6.0试用版 总结 前言 目前来看,流传较广的可供大家免费获取的ENVI版本主要是5.3学习版 5.6学习版 6.0学习版这三个版本,不同的版本有不同特色,在此做…

C#基础|StringBuilder字符串如何高效处理。

哈喽,你好,我是雷工。 字符串处理在C#程序开发中是使用频率比较高的,但常规的字符串处理方式对内存占用比较多,为了优化内存,减少不必要的内存浪费,引入了StringBuilder类。 下面学习下StringBuilder类的使…

PC-3000 Flash:NAND 闪存设备(包括一体式U盘)数据恢复的重量级工具(一)

天津鸿萌科贸发展有限公司从事数据安全业务20余年,在数据恢复、数据取证、数据备份等领域有丰富的案例经验、前沿专业技术及良好的行业口碑。同时,公司面向取证机构及数据恢复公司,提供数据恢复实验室建设方案,包含 PC-3000 系列数…

LeetCode 热题 100 Day05

矩阵相关题型 Leetcode 73. 矩阵置零【中等】 题意理解: 将矩阵中0所在位置,行|列置换为全0 其中可以通过记录0元素所在的行、列号,来标记要置换的行|列 将对应位置置换为0 解题思路: 第一个思路: 可以…