前言-----

对于测试流程基本很多做过测试的大牛,小哥哥,小姐姐都能说出个十之八九,但是对于细节,可能还需要一些整理文件,这不,我整理了一些测试的全部流程,希望能给大家带来帮助,有不妥的地方,请大家指正。

测试准备阶段

 一.测试需求文档

1. 产品需求文档、产品原型图、接口说明文档以及设计说明文档等应齐全

---重点:需求文档分析
 了解熟悉业务,分析需求测试点

(1)确认功能(业务功能,辅助功能,数据约束,易用性需求,编辑约束,参数需求,权限需求,性能约束)

(2)场景分析(考虑场景调用者和系统内部各个场景之间联系)

(3)挖掘隐性需求(常用业务流程以及各分支)

二.测试计划

1.编写目的
此文档根据项目需求文档,制定测试策略、评估测试风险,确定所需的资源,并对测试的工作量进行估计,进行人员和进度安排,并且列出测试项目的可交付元素。
2.参考文档
详细设计文档,设计原型
3.测试概要
(1)测试目标
通过测试,达到以下目标:
测试已实现的产品是否达到设计的要求,包括:各个功能点是否以实现,业务流程是否正确。
产品规定的操作和系统运行稳定。
Bug数和缺陷率控制在可接收的范围之内,遗留BUG一般不超过所有BUG的10%
(2)测试范围
列出测试最终需要交付的功能模块列表
(3)测试人力资源
(4)测试环境:服务器环境,终端环境,网络环境
(5)bug管理工具
4.测试规范
开始测试标准:代码编译通过,软件可以争取安装运行,实现功能与产品设计出人,冒烟测试通过
中断测试标准:安装无法正确完成,程序代码编译不通过,系统服务异常,发现阻塞功能的bug
5.bug规范
致命,严重,一般,建议
6.测试策略
冒烟测试:依据开发提测时间变动
第一轮功能测试:执行测试用例,包括边界值测试,兼容性测试,易用性测试,用户界面测试,安全性测试
第二轮功能测试:bug复测及功能验证
回归测试:全面回归测试
性能测试:需确认具体性能测试方案和工具
发布测试
测试报告总结
7.测试风险
测试本身(测试时间/测试技术/开发进度延误/难以修复缺陷/其它原因)
8.测试输出文档
测试计划
测试用例
测试bug单
测试报告


三.测试用例

测试需求分析和业务流程分析

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

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

测试阶段

一.测试执行

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

二.执行测试用例
根据测试用例优先级来执行测试用例

-----测试关注点

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

(1)、观察APP的用户界面(如菜单、对话框、窗口和其它可规控件)是否符合UI稿

(2)、不同的连接页面之间导航链接是否有效,是否跳转是否正确

(3)、旋转手机,确保程序不退出,页面排版无异常

(5)、输入框说明文字的内容与产品需求一致

(6)、某页无数据时、断网时、有网但接口异常时的状态页是否和UI一致

2. 功能测试时主要依据编写的功能测试用例进行软件功能的测试

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

(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)、卸载是否支持取消功能,单击取消后软件卸载的情况

4. 兼容性及适配测试

  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的数据和运用是否正确

5. 安全性测试
1.软件权限 

1扣费风险:包括短信、拨打电话、连接网络等

2限制/允许使用手机拍照或录音

3限制/允许使用手机读取用户数据,手机信息、联系人信息等

4限制/允许使用手机写入用户数据 

5没有用户的允许, 应用程序不能预先设定自动启动

6对App的输入有效性校验、认证、授权、数据加密等方面进行检测 

7没有用户的允许, 应用程序不能预先设定自动启动

8手机能控制该APP能否使用Wi-Fi和移动数据

2.数据安全性 

1如果数据库中重要的数据正要被重写,应及时告知用户 

2在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作。 

3对密码长度和复杂度的安全要求

4当将密码或其他的敏感数据输人到应用程序时, 其不会被储存在设备中, 同时密码也不会被解码

5当应用程序处理明细或其它的敏感数据时,不以明文形式将数据写到其他单独的文件或者临时文件中

6. 接口测试

1)测试api网关接口是否请求正常

(2)Get,post发送和返回是否请求正常

(3)查看请求参数和返回参数结果是否正常

(测试接口工具:APIpost jmeter)

7. 性能测试

(1) 客户端性能测试重点关注:安装卸载时间、启动时间、页面加载时间、主要功能占用的CPU、内存、流量、耗电量等,以及与同类产品相比较是否有优势;

2) 运行过程中主要功能占用的CPU、内存、流量等可以借助开源工具emmagee(适用于Android)获取到;

(4) 至于服务器端的性能,主要利用接口对服务器施加压力,重点关注响应时间、吞吐量、并发数、事物通过率等,可以loadrunner、jmeter进行测试,也可以用fiddler Charles抓包来查看域名等是否正常。

8. 核心链路

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

三.测试执行流程

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

四.测试报告


测试结论(是否达到发布标准,是否可发布)
测试时间,测试人员(测试起止时间)
测试环境,测试设备(用到哪些测试收集,客户端环境,浏览器)
需求大纲(当前这个版本,包含哪些需求点)

测试用例报告(报告用例情况)
Bug数据分析(从多个维度分析:bug等级分布,遗留bug分析,bug类型分布。模块bug分布,bug激活次数分析)

已知风险、未知风险
测试总结(从测试角度,对版本存在的问题,提出建议)

线上阶段

        

 一.线上测试注意事项

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

 二.后期维护

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

2.整理该项目测试总结

(1)整理该项目遗留,可推广等问题

(2)项目流程优化及功能优化等文档整理

(3)整理该项目相关文档并总结报告

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐