前言-----

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

测试准备阶段

一.测试需求文档

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)整理该项目相关文档并总结报告

史上最全测试流程详解----超详细相关推荐

  1. 史上最全数据库中间件详解

    导读:本文详细介绍了中间件,主要从数据库拆分过程及挑战.主流数据库中间件设计方案.读写分离核心要点.分库分表核心要点展开说明. 1. 数据库拆分过程及挑战 垂直拆分.读写分离.分库分表(水平拆分).每 ...

  2. 史上最全 JVM 大全详解、java 程序员细节到极致的一次,魔鬼

    前言 作为 Java 的从业者,在找工作的时候,一定会被问及关于 JVM 相关的知识. JVM 知识的掌握程度,在很多面试官眼里是候选人技术深度的一个重要评判标准.而大多数人可能没有对 JVM 的实际 ...

  3. 史上最全 JVM 大全详解!java 程序员细节到极致的一次,魔鬼

    前言 作为 Java 的从业者,在找工作的时候,一定会被问及关于 JVM 相关的知识. JVM 知识的掌握程度,在很多面试官眼里是候选人技术深度的一个重要评判标准.而大多数人可能没有对 JVM 的实际 ...

  4. 史上最全讲解:Spring详解

    Spring第一天 高级课程安排 阶段一 ​ SSM框架(Spring SpringMVC MyBatis) ​ FreeMaker模板引擎 ​ EasyUI框架 ​ CRM项目(后台管理项目) 阶段 ...

  5. 接地脚是什么意思_史上最全的接地系统详解,值得收藏

    接地一直是很多弱电朋友的难点,主要还是做接地的工程不多,这方面一直陆陆续续的朋友在讨论过,那么今天我们一起来对接地进行详细了解. 有人问:为什么回路电流走零线不走地线,而漏电流走地线不走零线,零线地线 ...

  6. java二叉树原理_史上最全二叉树遍历详解(Java实现,原理相同)

    二叉树遍历方法合集: 最近在LeetCode力扣上刷数据结构的二叉树合集,遇到的二叉树遍历方法,于是想理解透彻.本文讲解了二叉树遍历的四种方法,前.中.后序遍历. 对应题目: 94.二叉树的中序遍历 ...

  7. 史上最全1000字详解计算机网络必备知识--因特网笔记整理,附上10张精美配图!

    计算机网络概述 已同步微信公众号:乐享Coding,期待你的关注! 「网络」(Network)由若干结点(Node)和连接这些结点的链路(Link)组成. 多个网络可以通过路由器互连起来,这样就构成了 ...

  8. 史上最全IO模型详解

    操作系统 在介绍IO模型之前,先要介绍内核态和用户态.在操作系统中,因为有些操作指令是不能开放给用户的,比如读取磁盘,清除内存,读写网卡数据.这样用户态程序不能随便操作内核地址,即使用户程序崩溃了,对 ...

  9. “史上最全”Spring Boot详解!java程序员细节到极致的一次,魔鬼

    这本书的灵感 当时公司的技术栈全面转入Spring Boot体系,源于本书作者在公司的一次分享会上的分享.当时作者用了不到10分钟就使用Spring Boot轻松制作了一个功能完整的数据增加.删除.修 ...

最新文章

  1. 【Android 安装包优化】Android 中使用 7zr 可执行程序 压缩文件
  2. 李宏毅线性代数笔记13:SVD分解
  3. eclipse python_【Python基础】Python基础语法
  4. 承担集团数万应用、研发人员日常工作,阿里持续交付平台的设计、迭代之道...
  5. Android测试中被测应用挂了怎么办?
  6. MDK寄存器地址映射分析
  7. 炉石传说服务器维护有补偿吗,炉石传说维护公告全文及具体补偿方案 炉石数据回档怎么补偿?...
  8. 速记 封装案例 银行取款功能 1210
  9. 计算机一级考试第一套题电子表格,计算机等级考试一级上机试题(第一套)
  10. 电脑联网了但不能上网_电脑联网不能用,求助
  11. 全球排名前50网站使用的开发语言及系统平台
  12. c语言课程设计酒店管理系统实验报告 免费下载,C语言酒店管理系统设计
  13. Jmeter在Linux下的运行测试
  14. [Chatter] : 以形写神
  15. C语言字符类型输入方式选择
  16. 1253: 统计字符出现的频度
  17. 用ASP.NET实现简单的超市管理系统-登录页面
  18. CentOS7中如何输入中文?
  19. 22年消防继续教育题库
  20. VS2017 + Win10 下的 OpenCPN 5.0.0 编译过程小结

热门文章

  1. C语言编程输出象棋棋盘
  2. 推荐10个在线logo设计网站
  3. 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  4. npm internal/modules/cjs/loader.js:883 throw err; ^ Error: Cannot find module ‘code-point-at‘ Requir
  5. (收藏)刘德华获奖全记录“经典”
  6. RSI的交易系统以及用rsi指标进行探势
  7. 数据挖掘项目---电力窃漏电用户自动识别
  8. 传说中的王八蛋~~~
  9. 20.Odoo产品分析 (三) – 人力资源板块(1) – 员工目录(1)
  10. js和cs的值相互传递和函数的相互调用