项目1:Ego微商小程序

项目介绍

“Ego微商”微信小程序,主要针对有特色的食品类商品线上零售。通过微信平台大流量在一定程度上提升了特色食品的影响力。

项目技术实现

该项目分为前后端,前端通过:WXML+WXSS+JavaScript实现客户端与平台端UI交互。其中WXML+WXSS+JavaScript是微信小程序自带的技术。
后端通过:Apache服务器提供web应用服务,通过PHP语言实现后端接口业务。
所以,项目框架应用是Linux+Apache+MySQL+ThinkPHP的技术框架。

项目部署

后端:WAMP:在windows上部署通过集成工具XAMPP安装apache、mysql、php。
前端:微信开发者工具。
操作系统:Windows10 x64
web服务器:Apache 2.4
数据库:MySQL:5.5
开发框架:ThinkPHP:5.0
CPU双核,内存2GB,贷款1Mbps

基本模块

主页: 以商品展示为主,主要是热门商品,主题商品,新品展示。
分类: 以不同类别展示商品,按不同属性归类,以及归类后的展示。
购物车: 意向商品的添加、修改、统计,为下单做准备。
我的: 个人中心信息,显示有关人地址、订单等相关信息。

核心业务

在这里插入图片描述

测试相关

测试准备

除了手机,手机模拟器,wifi,连接工具等还需要去微信公众平台申请小程序账号。
在这里插入图片描述

测试流程

  1. 需求分许与评审
    根据需求说明书确保对于当前需求理解一致
  2. 编写测试计划以及方案
    测试计划:搞清楚项目中“测什么”?
    测试方案:搞清除项目中”怎么测“?
  3. 设计测试用例并评审
  4. 执行测试用例并跟踪
    测试过程日志记录
    测试缺陷跟踪验证
  5. 编写测试报告以及分析

部署流程

乱七八糟安装一堆之后

  1. 熟悉前后端部署要求
    当前项目架构:C/S (客户端-服务器).
    各个软件的版本
  2. 搭建项目系统环境
    windows
  3. 部署项目应用服务
    Apache、mysql、Ego微商代码
  4. 部署结果正确验证

测试

功能测试

先进行基本功能测试。采用”总分总“设计思想

总: 从总体把控被测产品,熟悉被测产品的模块构成分类
分: 根据需求提取功能模块,按模块拆分细化,直到可以之际设计测试用例
总: 根据需求从核心业务模块或者用户实际应用场景进行测试设计

按照布局模块

在这里插入图片描述

在这里插入图片描述
导航区: 标题、导航按钮、内嵌插件
在这里插入图片描述

标签区: 显示、操作
在这里插入图片描述

展示区: 布局及显示、操作与规则,主页,分类,购物车,我的
轮播图:
在这里插入图片描述
在这里插入图片描述
新品信息:
在这里插入图片描述
商品详情:
在这里插入图片描述
专题:
在这里插入图片描述
还有一堆!!

基本业务流程

在这里插入图片描述

核心业务

在这里插入图片描述

非功能设计

在这里插入图片描述
在这里插入图片描述
其他:
易用性设计:三级页面深度,操作过程提示引导,操作结果反馈。电话短信对小程序的影响,不同设备登录数据保留。

接口测试

接口

接口: 指系统或组件之间的交互点,通过这些交互点可以进行数据之间的交互。
接口测试: 对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及相互逻辑依赖关系。
接口测试特点:

  1. 测试可以提前介入,提早发现bug,符合质量控制前移的理念
  2. 可以发现一些页面操作发现不了的问题
  3. 接口测试低成本高收益
  4. 接口测试是从用户的角度对系统进行全面的监测

实现方式

该项目使用Postman测试工具。python+Requests编写代码实现。

接口测试流程

  1. 需求分析
  2. 接口文档解析
  3. 设计测试用例
  4. 执行用例
  5. 使用接口测试工具实现
  6. 通过编写代码实现
  7. 接口缺陷管理与跟踪
  8. 接口自动化持续集成

Postman实现接口测试

根据接口文档APi写的

在这里插入图片描述
在这里插入图片描述
1.设置全局变量
在这里插入图片描述
2.
在这里插入图片描述
在这里插入图片描述

接下来的测试与上述步骤相同,主要看使用code获取token那里
4.获取token,由于获取订单,创建订单要在登录状态下才可以进行,所以需要从code获得token,进入登录态
在这里插入图片描述
在这里插入图片描述
5.先将token存储在全局变量,验证token
在这里插入图片描述

在这里插入图片描述
6.之后的接口测试与之前相同,在需要填写token的地方调用全局变量即可。
7.批量运行脚本,生成测试报告
在这里插入图片描述

在这里插入图片描述
导出测试脚本与测试环境,生成测试用例。
在存储脚本与环境的目录下,运行cmd,
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
累死了!!!!!!!postman如何通过代码设置全局变量 下一章节说!!

补:

Postman设置全局变量(代码)

这是另一个项目中的
在这里插入图片描述
这是设置环境变量
在这里插入图片描述

日志

  1. 可以记录操作过程,帮助排查问题
  2. 可以通过操作过程日志,分析数据和预期的是不是一样,帮助定位问题。
import logging

def init_logging():
	#1 创建一个日志器 如果不写日志器的名称,那么会使用默认的root
	logger = logging.getLogger()
	#2 设置日志等级
	logger.serLevel(logging.INFO)
	#3 设置处理器
	#	控制台处理器:控制把日志输出到控制台
	sf = logging.StreamHandle()
	#	文件处理器:控制把日志输出到外部文件当中,需要提前定义文件的路径和文件名称  
	# os是动态的 __file__是当前文件路径
	logname = os.path.dirname(os.path.abspath(__file__)) + "/log/ego.log"
	fh = logging.handlers.TimedRotatingFileHandler(logname, when='M', interval=1, backupCount=7, encoding='utf-8')
	#4 设置格式化器 指打印日志时的格式内容(日志器名称、打印日志的函数名称、模块名称、代码行数、日志消息等内容)
	fmt = "%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s"
	formmater = logging.Formatter(fmt)
	#5 将格式化器添加到处理器中(文件和控制处理器都要添加)
	sf.setFormatter(formmater)
    fh.setFormatter(formmater)
	#6 将处理器添加到日志器中      
	logger.addHandler(sf)
    logger.addHandler(fh)
                   

通过Python实现接口自动化测试

  1. 创建项目的目录结构
    在这里插入图片描述
    1. api:定义封装被测系统的接口
      在这里插入图片描述
      script:定义测试用例脚本
      在这里插入图片描述data:存放测试数据
      我这里没有用。
      report:存放生成的测试报告
      在这里插入图片描述
      lib:存放第三方文件
      我这里放的是HTMLTestRunner
      app.py:定义项目的配置信息
      在这里插入图片描述
      utils.py:定义工具类
      在这里插入图片描述
      run_suite.py:执行测试套件的入口
      在这里插入图片描述
  2. 生成的HTML测试报告
    在这里插入图片描述
    在D盘里的jenkins!!!!每次都忘 服了我自己
  3. 将自动化代码上传到github
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

面试题:postman中设置环境变量有什么用?

接口测试测试的环境有开发环境、测试环境等,为了测试的时候方便,就在Postman中设置环境变量,到时候所有接口都引用该环境变量,这样就不用为了切换环境每次都去修改被测系统接口的主机地址。点击右上角环境变量管理按钮 - 新建环境变量,在脚本中使用{{变量名}}去调用。
我具体使用是,接口文档中所有url地址的前缀都相同,只是参数不同,我将url前缀设置为全局变量,每次只需要修改不同参数即可。

  • 4
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值