微信小程序简介
时间:1月
创始人:张小龙
定位:取代一切不常用APP,释放手机资源
定义:简称小程序,英文名称MiniProgram,是依附于微信而无需再次下载安装的应用程序。
特点:用户的体验性–实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用(即用即走、清爽体验)
应用领域:零售、出行、医疗
不足:
微信小程序包大小不超过20M不适用于复杂的业务处理页面层级建议实际设计不超过三级,官方要求不超过5级
测试场景应用:验证小程序的优点,避免出现小程序的不足
测试专属账号
作用:提供一套合法的专属账号信息,为后续搭建测试环节做准备
APPID:
验证小程序的合法性(对外公开)小程序的唯一标识
APPSecret:
APPID对应的密码(私有的)确保 不能泄露
微信小程序与Web项目对比
微信小程序项目文件分类
微信小程序通讯模型
应用场景:微信小程序如何和后台进行通讯(做接口测试)
注意:
微信小程序无法直接和后台服务器进行通讯微信小程序必须依附于微信(客户端/微信接口服务器)进行和后台正常通讯
微信小程序和APP的区别⭐
入口:
小程序:进入小程序测试(扫码、搜索、下拉进入、分享、卡包等进行授权即可)APP:通过网站进行下载(下载注册登录)
部署:
小程序:无需下载安装即可使用APP:需要安装、卸载、升级
兼容性:
小程序:微信的版本(最新版本、上一个版本)和手机的分辨率APP:不同的操作系统,同一操作系统的不同版本,屏幕分辨率
熟悉项目
1、项目是干什么的?
依附于微信平台,为用户提供B2C的线上食品零售平台(微信小程序客户端;小程序的后台)
2、项目是给谁用的?
主要为会上网的微信用户使用
3、项目构成模块有哪些?
4、项目的技术栈?
项目基本介绍
项目基本模块
项目核心业务
该产品主要提供的服务/应用是什么
正常流程异常流程
项目技术栈
前端:以微信小程序为主的客户端,进行发起请求并显示响应结果
后端:以LAMP为架构的服务器,处理前端请求并给出正确的响应的应用服务器
测试准备
项目部署
项目部署要求与准备
部署流程
部署架构图
组件要求及版本
项目部署过程与实施
后台服务部署
步骤:
1.本地部署检查:部署前检查本地网络(ping命令检测网络连通性)及环境(软件版本等信息)是否正常2.安装应用服务:根据项目要求安装对应的组件服务(LAMP-根据架构安装对应的服务组件/软件)3.上传项目包:服务安装成功后上传后台项目文件包到服务器(后台开发人员写的代码)4.数据库初始化:进行数据库数据初始化,达成基本使用。开发人员编写的系统必备SQL语句5.修改配置文件:使其服务安装指定要求运行6.重启应用服务:使其立即生效
1.通过VMware虚拟机部署检查
确保当前VMware虚拟机连通外网ping
检查CentOS的版本是否符合要求
cat /etc/redhat-release
2.安装应用服务
通过集成工具,一次性安装所有应用服务
wget
:通过网络下载需要软件包./install.sh:可执行文件脚本
yum -y install xxxx
:在线单个安装某个软件
通过LAMP,一键安装部署系统服务命令生成地址:/auto.html
点击生成按钮,将以下命令复制粘贴到Linux命令窗口 回车
安装结果查看
部署大约持续30min左右,过程中可能因为网络原因有延迟,部署完成正常结果如下截图
安装服务验证 systemctl⭐
在终端通过命令验证安装服务的结果
常见服务名:httpd、mysql、nginx、tomcat
# 检查Apache的服务是否运行systemctl status httpd# 检查mysql的服务是否运行systemctl status mysql# 检查php是否已安装php -v# 启动Apache的服务systemctl start httpd# 重启Apache的服务systemctl restart httpd# 停止Apache的服务systemctl stop httpd# 禁用服务(慎用)systemctl disable 服务名
通过tail
查看安装日志文件最后几十行:tail -30 文件名
通过cat more less head
查看文件内容
3.上传项目包文件
步骤:上传项目文件-解压缩项目文件-修改权限
拷贝后台项目文件包到指定路径下
# 进入默认项目路径cd /home/wwwroot/default/# 上传文件包rz# 解压缩项目文件egoser.zip到指定项目路径unzip -d /home/wwwroot/default/egoser.zip# 修改指定路径下项目对应文件夹egoser权限chmod -R 777 /home/wwwroot/default/egoser
鼠标拖动:打开finalshell底栏拖入对应的路径下
上传:使用rz
命令时,需要先下载yum -y install lrzsz
下载:sz 文件名
,从centos下载文件到本地桌面
.tar.gz后缀文件
tar -zxvf 压缩文件.tar.gz -C 路径
4.数据库初始化
确保系统能够正常运行的必备数据以及数据库和表的信息
导入.sql文件
(比如存放路径为/home/wwwroot/default/)
# Linux下执行# 进入mysql -u 数据库管理员账号(root) -p 数据库管理员密码(123456)mysql -u root -p# mysql下执行# 查看当前所有数据库mysql>show databases;# 创建项目对应数据库egowxmysql>create database egowx;# 创建数据库并设置编码方式和排序规则mysql>create database egowx charset uft8 collate utf8_general_ci;# 方式一:恢复备份文件(在Linux下操作:需要输入数据库密码)mysql -u root -p egowx < /home/wwwroot/default/egoser/ego.sql# 方式二:恢复备份文件(在mysql下操作)# 使用(打开)数据库mysql>use egowx;# 设置数据库编码为utf8mysql>set names utf8;# 直接导入对接路径下项目的备份文件.sqlmysql>source /home/wwwroot/default/egoser/ego.sql# 查看某数据库下有哪些表mysql>show tables;# 退出mysqlmysql>exit
使用Navicat连接
第一步:
第二步:
5.修改配置文件
目的:告诉客户端当前访问的数据文件存放的位置,以及谁可以访问,通过哪个端口可以访问,访问的服务器名等信息
Apache配置文件
作用:告知部署人员,项目文件应该存放的位置、端口、主机域名等信息,方便前端请求的时候,后台的Apache服务直接根据配置文件找到对应的文件路径
Apache虚拟主机配置文件名:httpd-vhosts.conf
配置文件说明
修改Apache的虚拟配置文件
# 查找Apache的配置文件find / -name httpd-vhosts.conf# Apache的配置文件路径cd /usr/local/apache/conf/extra/# 重命名配置文件mv httpd-vhosts.conf httpd-vhosts.confd# 上传已修改好的httpd-vhosts.conf 输入rz后会弹出一个 选择文件夹的窗口rz# 重启Apache服务systemctl restart httpd
MySQL数据库在Linux下的默认配置文件 f
修改项目的配置文件(服务端文件)
#1.修改自己申请的APPID和APPSecretcd /home/wwwroot/default/egoser/application/extra/# 文件路径: /home/wwwroot/default/egoser/application/extra/wx.phpvi wx.phpi 进入编辑模式// 小程序app_id'app_id' => 'wxc4f7f3dabxxxxxx',// 小程序app_secret'app_secret' => 'fbd81e771fe6bba32d515a1d52adxxxx',Esc返回命令模式:wq 保存退出:q! 强制退出
6.重启应用服务
目的:使修改后的配置文件立即生效
#重启apache服务systemctl restart httpd#重启mysql服务systemctl restart mysql#查看服务是否正常systemctl status httpd
通过浏览器验证重启后的服务是否正常
其中一个接口地址:http://虚拟机IP/api/v1/banner/1
查看返回的数据是否是json的数据即可
本地Windows配置
虚拟域名作用
因为小程序无法直接和后台进行通讯,需要借助于微信客户端,但是微信客户端无法识别具体的IP地址,所以需要修改本地的hosts配置文件,让本地请求的“假域名”优先找到本地地址,指定本地的服务器IP
为了确保通过本地Windows发送的指定域名指向特定的IP对应的服务器
修改本地Windows的hosts文件
通过浏览器验证:/api/v1/banner/1
查看返回的数据是否是json的数据即可
本地macOS配置
前端部署
1.客户端项目导入
微信开发在工具导入项目
2.客户端配置修改
修改APPID(自己申请的和后台的一样)和访问后台的API接口
3.联调结果验证
修改完成后点击 编译 运行
Ego微商项目计划
项目测试流程
1.需求分析与评审2.编写测试计划与方案3.设计测试用例与评审4.执行测试用例与缺陷跟踪5.编写测试报告及总结需求分析与评审
目的
根据需求说明书确保对于当前需求理解一致对于有异议地方及时和产品沟通确认已确定的需求能够指导测试执行对于已确定的需求预估所需要的时间
评审人员
产品人员开发人员测试人员
评审形式
会议邮件
测试计划与方案核心内容
编写思路
制定一个简易模版(word),列出计划和方案的核心要素根据多级标题进行编制每个标题中的具体内容(正文)可以借鉴需求文档、设计文档、有历史测试计划和方案的文档找原有计划与方案进行修改,修改为属于自己项目的内容可以找相关人员进行评审,最后进行完善修改
Ego微商项目设计
测试设计思路
作用:知道如何进行实际的测试设计和执行的过程
测试依据
文档:需求说明书、UI设计图(量化指标描述界面信息)、原型图、业务流程图人员:产品、测试人员环境:本地测试环境、预生产环境、正式环境
设计用例
能够将需求转化为可验证测试的功能点及测试用例,能够覆盖需求并满足用户实际使用场景
熟悉需求:理解一致、查缺补漏、指导执行整理测试点⭐:①拆分测试点:显示(检查功能有无)、操作(检查功能好不好使)②拆分的方式:按照菜单构成(例如后台测试,按菜单级别)、按照页面布局(从上到下、从左到右,例如前台测试)、按照需求文字描述③拆分的原则:覆盖需求、所见及所测(当前功能紧密关联的模块进行测试;关联不紧密可以和对应模块的测试人员对接清楚)、站在用户使用角度编写测试用例:通过Xmind整理测试点、按照Excel模板编写用例评审测试用例:理解一致、查缺补漏、指导执行
评审用例
确保设计的用例覆盖需求,能够看懂理解,没有遗漏,同时能够指导测试执行
执行用例
依据测试计划按照功能点及功能组合的形式执行用例,并且对于执行结果确认
执行时间:按照测试计划执行、按照实际提交时间执行轮次:至少3轮执行用例:单功能测试–按照用例次序顺序执行;功能组合测试–选择优先级高的用例先执行
跟踪缺陷
对于执行失败的用例提交缺陷报告,并跟踪缺陷确保该问题能够被修复验证通过
失败:bug产生 – 可复现、唯一性、规范性;验证bug – 缺陷跟踪流程 – 已修复fixed;回归测试 – closed、reopen成功 – pass
小程序
测试点拆分
基于微信小程序的规范性要求,按照布局拆分最为恰当
测试点拆分 — 导航区
导航区是微信小程序模块公共区域,页面显示布局分格和具体的功能模块无关
导航区和标签区的显示是联动对应的
测试点拆分 — 标签区
标签区是微信小程序模块公共区域,页面显示布局分格和具体的功能模块无关
标签区操作和导航区的显示是联动对应的
测试点拆分 — 展示区
页面类测试显示:目的验证功能有没有
页面类测试操作:目的验证功能是否正常
进入小程序的方式验证测试
使用小程序的各种场景覆盖
能够正常退出小程序
Ego微商主页模块功能测试设计
导航区
需求说明
测试点
测试用例
显示区
1.轮播图
测试点
关于轮播图数量修改操作
1.进入后台上传图片
使用rz 上传轮播图
2.进入数据库建立关联
image表创建图片信息
banner_item中关联上传的轮播图片(图片id、商品id)
测试用例
2.主题图
3.新品展示
订单详情展示
业务流程测试-业务流程图
测试用例
Ego微商主页模块功能测试执行
用例提取执行
根据测试计划执行:根据测试计划安排,结合开发实际提交的模块范围选取对应模块用例进行一一执行,并记录执行过程及结果根据实际提交执行:根据开发实际提交时间,沟通并修正测试计划,并按照提交模块范围选取对应模块用例进行一一执行,并记录执行过程及结果按照业务重要程度执行:根据测试进度,单模块测试通过后,按照业务流程要求,结合用户实际使用场景进行业务流程的全面测试,并记录执行过程及结果按照验收优先级执行:最终根据用例优先级提取关联用户实际场景的业务用例,站在用户使用角度进行执行,直到验收通过提交bug原则
可复现:确保发现的bug是可以复现的唯一性:按照用例执行的结果,原则上要求一个bug报告一个相对独立的问题规范性:提交的bug符合公司的规范要求,bug描述尽可能准确严谨缺陷跟踪确认
回归测试注意:
回归的版本号影响范围
非功能测试设计
兼容性测试:兼容微信版本(当前和上一个)、设备分辨率(UI元素自适应显示)易用性测试:根据实际用户遵循其专业性、结合功能验证其体验性弱网测试:WiFi网络正常使用、移动网络正常使用、WiFi和移动网络切换正常使用性能测试:首次加载时间、刷新白屏时间、设备CPU和内存耗费比例测试要求
01用例要求
大多数非功能测试不需要单独编写用例,可以直接使用业务流程用例结合功能点验证非功能点
02人员要求
非功能测试一般要求测试人员测试,部分非功能测试需要有专业人员测试(UI布局、性能指标)
03时间要求
一般在功能测试完毕后,再进行非功能测试
测试点
测试报告总结
测试报告作用
测试过程的详细记录和总结,目的为了验证记录产品的测试质量测试报告体现产品质量,确定能否上线发布测试报告的编写标志着测试活动的结束测试报告核心内容
测试过程回顾:过程使用说明–测试过程中实际使用的环境、资源、进度、配置等信息测试统计分析:数据统计分析–测试过程中产生的数据,主要是测试用例和缺陷报告的数据(统计产生的bug数量)测试结果确认:测试结果的模块确认和整个产品系统的整体结果确认测试总结改进:测试过程中好的地方和不足之处的总结,为后续项目提供经验测试bug统计
测试bug分析
测试过程中如果出现不可复现的bug如何处理?
自己思考刚才测试过程有什么差异的地方:测试步骤、测试账号、测试网站、测试环境尝试多次测试复现(换个别的电脑或者环境进行复现),可以借助于抓包工具、借助数据库如果此时问题比较严重,找技术人员协助复现(高级测试人员、开发人员)如果时开发人员,可以让开发人员协助打印调试日志更新系统然后再尝试复现测试,暂时放弃(可以在后续版本再次验证);如果后续版本出现了,此时直接提交bug(开发人员有相关的调试日志了)