测试流程详解(从零到1)

测试流程详解(从零到1)

— 序言
对于测试大牛和完全熟悉测试流程的小哥哥小姐姐来说,大家对测试流程都能说出个七七八八都点,但是对于我们小白同学或者刚转行做测试的同学,还是有时候会有点懵逼,下面我就以我们现有的测试流程给大家细致讲解一下,有不足的地方请大家及时指出!!
测试准备阶段

一、需求阶段

1、产品需求文档、产品原型图、产品交互文档
PS:
1、根据产品文档熟悉当前产品的整体流程,迭代功能,可以利用xmind来进行流程图和功能点的梳理
2、分析需求
2.1、从易用性,编辑约束,参数需求,权限需求,性能约束去分析需求
2.2、场景分析(考虑场景调用者和系统内部各个场景之间联系)
2.3、挖掘隐性需求(常用业务流程及新增功能隐性需求)
3、需求答疑
3.1、根据提前给出的需求文档,说出自己对于需求不理解的点以及让产品给出答复,并提出自己的一些见解或者建议
4、产品需求定稿
4.1、产品需求评审完成各方达成一致后进行需求文档的定版

二、测试计划/测试方案

1、编写目的
此文档根据项目需求文档,制定测试策略、评估测试风险,确定所需的资源,并对测试的工作量进行估计,进行人员和进度安排,并且列出测试项目的可交付元素。
2、产品简介
对测试对象(构件、应用程序、系统等)及其目标进行简要说明
3、测试范围
本测试计划是针对《XXX系统需求规格说明书》中规定内容的测试计划,包括以下需求功能:
a. xxx
b. xxx
4、参考文档
详细设计文档,设计原型
5、测试目标
通过测试,达到以下目标:
1.测试已实现的产品是否达到设计的要求,包括:各个功能点是否以实现,业务流程是否正确。
2.产品运行稳定。
3.Bug数和缺陷率控制在可接收的范围之内
6、资源和工具
6.1、资源
测试服务器(硬件,软件,服务器地址)
人员(投入人力,具体职责)
6.2、工具
测试所用到的所有工具,如:禅道,数据库工具,接口测试工具
7、测试种类及测试标准
7.1、测试种类
计划完成以下类型测试
a.接口测试
b.系统测试
c.性能测试
d.安装测试
e.验收测试
7.2、测试方法和标准
明确测试方法需要达到什么测试标准
8、风险预测
本次测试过程中,可能出现的风险如下:
1.bug的修复情况
2.模块功能的实现情况
3.系统整体功能的实现情况
4.代码的编写质量
5.人员经验以及对软件的熟悉度
6.开发人员、测试人员关于项目约定的执行情况
7.人员调整导致研发周期延迟
8.开发时间的缩短导致某些测试计划无法执行
9…
10、暂停标准和再启动要求
1.软件系统提测后,冒烟测试用例未通过,暂停测试返回开发
2.经过测试后,发现与需求说明规格说明书中定义的功能项存在较大的差异,暂停测试返回开发
3.测试过程中,频繁死机或者系统奔溃
4.如有新的项目需求,则在原测试计划下做相应的调整
5.若项目中止,则对已完成的测试工作做测试活动总结
6.项目再启动时,测试进度重新安排或顺延
11、测试提交物
本次测试完成后的提交物:
a.测试计划
b.测试用例
c.测试Bug单
d.测试小结
e.测试分析报告

三、测试用例

3.1、目的

统一测试用例编写的规范,为测试设计人员提供测试用例编写的指导,提高编写的测试用例的可读性,可执行性、合理性。为测试执行人员更好执行测试,提高测试效率,最终提高公司整个产品的质量。

3.2、设计方法:

1、等价类划分法(将测试的范围划分成几个互不相交的子集)
2、边界值分析法(选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值)
3、错误推测法(在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误)
4、判定表法(适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略)
5、正交实验法(在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例)
还有其它场景法和状态迁移法等

3.3、测试用例八要素:(用例编号,测试项目(所属模块),测试标题,重要级别(优先级),前置条件,测试输入,操作步骤,预期结果)
1、用例编号:(规则:由字符和数字组成的字符串,具有唯一性,易识别性)
2、测试项目(所属模块):(对应测试用例编号中的测试子项名 系统测试
3、测试标题:(体现测试出发点关注点以及测试用例期盼的测试结果)
4、重要级别、优先级别:(重要级别一般分为高中低 ,部分适用P0,P1,P2,P3)
**5、前置条件:**测试用例在执行时需要满足一些前提条件,环境的设置
6、测试输入:(测试执行中需要加工的外部信息,避免用描述性语言,要具体,根据测试用例具体情况,有手工输入,文件,数据库记录)
7、操作步骤: 执行当前用例需要经过的操作步骤,需要明确的给出每一个步骤的描述
8、预期结果: 需要判断测试对象是否正常工作

用例评审

一般完成测试用例/冒烟用例编写后就会进行评审,评审会发起人有测试小组发起,参会人员包括相关开发、产品,评审完成后,用例修改完成后,采用邮件抄送给相关的开发、产品

测试执行

1.测试环境搭建

测试环境:硬件环境,软件环境
硬件环境:测试必须的服务器,客户端,网络连接设备,以及打印机/扫描仪等辅助硬件设备构成的环境
软件环境:被测软件运行的操作系统,数据库以及其它应用软件构成的环境
搭建测试环境的准备工作:
安装工具:虚拟机
虚拟机优点:运行在主机上

2、用例执行

1、优先执行冒烟用例,冒烟用例通过后才可以进入下个阶段的测试
2、冒烟用例通过后,正式进入集成测试阶段

3、测试关注点

1.根据UI效果图进行UI测试

	1、验证用户界面(如菜单、对话框、窗口和其它可规控件)是否符合UI图
	2、不同的连接页面之间导航链接是否有效,是否跳转是否正确
	3、旋转手机,确保程序不退出,页面排版无异常
	4、输入框说明文字的内容与产品需求一致
	5、某页无数据时、断网时、有网但接口异常时的状态页是否和UI一致
	6、页面缺省页翻译是否和翻译文档一致
  1. 功能测试时主要依据编写的功能测试用例进行软件功能的测试

  2. 涉及的测试主要包括基本功能测试,逻辑测试,安装、卸载、升级(强制更新/普通更新)、运行测试,中断测试,异常处理(包括网络突然断开或者网速过慢、机器内存不足等异常情况的处理)测试

1、App安装完成后是否能正常启动,且打开速度控制在预期时间内
2、切换后台再切换前台的操作对当前状态如登陆、当前页、数据刷新的影响
3、强制杀掉APP进程再启动对当前状态如登陆、当前页、数据刷新的影响
4、登陆验证/免密登陆时的手势密码和指纹是否正常符合产品需求5、对于有数据交换的页面,每个页面都必需要进行前后台切换、锁屏解锁的测试,这种页面最容易出现崩溃
6、同一用户在多个终端先后登陆时,APP是否有正常符合产品需求的处理
7、App使用过程中有电话进来的中断测试,与文件下载、音乐播放、等应用的交叉情况测试
8、很多应用会支持缓存数据,测试在断网启动或从有网到无网时是否可以浏览缓存数据
9、软件在不同操作系统及版本(Android、iOS、)下安装是否正常
10、软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里,安装后没有生成多余的目录结构和文件
11、软件安装过程是否可以取消
12、软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)
13、安装空间不足时是否有相应提示
14、对于需要通过网络验证之类的安装,在断网情况下尝试一下
15、重复安装应该有提示iOS没有提示
16、升级安装时,版本更新链接有效,比如后台设置的版本白名单
17、使用各种方式卸载程序,如直接删除安装文件夹卸载是否有提示信息、长按图标卸载、手机设置里卸载、第三方应用卸载iOS卸载没有提示,Android安装时会闪退(偶现)
18、测试卸载后文件是否全部删除所有的安装文件夹
19、卸载过程中出现的意外情况的测试(如死机、断电、重启)
20、卸载是否支持取消功能,单击取消后软件卸载的情况

四、兼容性及适配测试

1、硬件的适配:不同手机厂商、硬件性能,不同屏幕大小的适配;
如:
厂商:华为,型号:mate30Pro,Android版本:Android10,屏幕:6.0英寸,分辨率:2400x1176像素
厂商:苹果,型号:苹果XSmax,手机版本:iOS11,屏幕:6.0英寸,分辨率:2688x1224像素
2、iOS版本的兼容:IOS 6版本以上;Andriod 5版本以上等
3、不同分辨率屏幕的适配:移动设备的分辨率多种多样,如果app没有做比较合适的处理就可能会显示不好,甚至影响功能的操作。
4、兼容性测试必须在一定数量的真机上进行,由于真机类型过多,尤其Android在做兼容性测试时,可以选取典型的几种运用较多的真机,进行兼容性测试
5、与本机已经安装的App是否兼容
6、在各种系统、系统版本的不同手机上测试登陆,卸载,注册,登陆,修改密码等功能
7、UI层的兼容,界面的显示根据不同尺寸手机是否自适应
8、在各种系统、系统版本的不同手机上进行全方面的功能测试,如:使用每一个iOS版本的iPhone上测试“我的银行卡”模块的提现功能
9、基于开发环境和生产环境的不同,检验在各种网络连接下(WiFi、2G/3G/4G/5G等),App的数据和运用是否正确

五、安全性测试

1.软件权限

1、扣费风险:包括短信、拨打电话、连接网络等
2、限制/允许使用手机拍照或录音
3、限制/允许使用手机读取用户数据,手机信息、联系人信息等
4、限制/允许使用手机写入用户数据 
5、没有用户的允许, 应用程序不能预先设定自动启动
6、对App的输入有效性校验、认证、授权、数据加密等方面进行检测 
7、没有用户的允许, 应用程序不能预先设定自动启动
8、手机能控制该APP能否使用Wi-Fi和移动数据

2.数据安全性

1、如果数据库中重要的数据正要被重写,应及时告知用户 
2、在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作。 
3、对密码长度和复杂度的安全要求
4、当将密码或其他的敏感数据输人到应用程序时, 其不会被储存在设备中, 同时密码也不会被解码
5、当应用程序处理明细或其它的敏感数据时,不以明文形式将数据写到其他单独的文件或者临时文件中

六、接口测试

1、测试api网关接口是否请求正常
2、Get,post发送和返回是否请求正常
3、查看请求参数和返回参数结果是否正常
(测试接口工具:mertersphere(开源工具), jmeter,postman)

七、 性能测试

1、 客户端性能测试重点关注:安装卸载时间、启动时间、页面加载时间、主要功能占用的CPU、内存、流量、耗电量等,以及与同类产品相比较是否有优势;
2、运行过程中主要功能占用的CPU、内存、流量等可以借助开源工具emmagee(适用于Android)获取到;
3、 至于服务器端的性能,主要利用接口对服务器施加压力,重点关注响应时间、吞吐量、并发数、事物通过率等,可以用loadrunner、jmeter进行测试,也可以用fiddler Charles抓包来查看域名等是否正常。

八、核心链路

-------核心链路测试

九、测试执行流程

冒烟测试-迭代测试(先功能后性能,回归测试)-发布测试
注:对应测试产出对应测试报告和bug清单,可以把bug提到缺陷管理库里

十、测试报告

1、编写目的
	本测试报告为XXX版本测试报告,目的在于总结测试阶段的测试情况以及分享测试结果,描述系统是否符合用户需求,是否已达到需求文档中预期的功能目标,并对测试质量进行分析。
测试报告参考文档提供给测试人员、开发人员、产品人员、运营人员、和需要阅读本报告的高层管理人员阅读。

2、测试范围
本测试报告是针对<XXX系统需求规格说明书>中规定内容进行测试,包括以下需求功能:
需求大纲(当前这个版本,包含哪些需求点)

3、测试概要
 3.1、进度回归(整个xx项目的测试时间从xx年x月x日开始,到xx年x月x日上线止,期间各阶段工作情况如下)测试时间,测试人员(测试起止时间)
 3.2、测试执行
	此次测试严格按照项目计划和测试计划执行,按时完成了测试计划规定的测试对象的测试。针对测试计划规定的测试策略,在测试执行中都有体现,在测试执行过程中,依据测试计划和测试用例,对系统进行了完整的测试

4、测试环境,测试设备(用到哪些测试收集,客户端环境,浏览器)

5、Bug数据分析(从多个维度分析:bug等级分布,遗留bug分析,bug类型分布。模块bug分布,bug激活次数分

6、测试用例报告(报告用例情况)

7、已知风险、未知风险

8、测试结论(是否达到发布标准,是否可发布)

9、测试总结(从测试角度,对版本存在的问题,提出建议)

十一、上线准备

一.线上测试注意事项

1、如果没有白名单,这个时候是不能随便操作做数据的,测试人员能做的也就是点点,保证按钮、界面正常。如果是业务人员做好数据,测试人员要验证数据的准确性和界面显示无误。
2、如果有白名单,也不能随便操作数据,但是可以在容许的情况下,回归一遍线上测试,保证线上测试无误。
3、准备线上checklist

二.后期维护

1.日常关注客诉和相关反馈,如果有线上bug,可以通过日志,后台奔溃记录来定位问题,之后商讨出修复策略

2.整理该项目测试总结
1、整理该项目遗留,可推广等问题
2、项目流程优化及功能优化等文档整理
3、整理该项目相关文档并总结报告

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值