软件测试APP完整测试作业流程(附流程图),公司级软件测试流程化办公
目录
1. 概述
2. 软件测试流程
3. 软件测试周期人员活动图
4. 总结
1. 概述
1.1 目的
有效的保证软件质量;
有效的制定不同测试类型(软件系统测试、音频主观性测试、Field Trial、专项测试、自动化测试、性
能测试、用户体验测试)的软件测试计划;
按照计划进行测试,发现软件中存在的问题;
对软件中已经解决的问题进行有效的验证;
判定测试过程和问题验证的有效性。
1.2 适用范围
适用范围是参与手机产品软件测试的各测试工程师、测试模块组长、测试 PM。
1.3 执行原则
标准化作业,尊重事实;
测试工程师需要对手机各项功能持有疑问的态度来思考软件;
测试工程师需要主动与项目组的所有成员保持有效的沟通,以便更好地完成测试任务;
尽早发现问题,及时跟踪问题;
1.4 角色和职责
1.4.1 测试部门经理
1. 负责审核测试计划,监督计划的实施过程,确保计划的实施和按计划完成测试任务;
2. 制定、更新和维护软件测试流程;
3. 对发现的部门需要改进的问题提供解决方案;
4. 制定短期、长期的改进措施;进行评审和监督;
5. 监督新员工培训实施情况,对培训结果进行考核
6. 参与项目风险评估
1.4.2 测试 PM
1. 参与软件需求与 UI 评审
2. 编制 STP(软件测试计划),组建测试团队
3. 根据软件测试申请单的要求判定是否接受软件测试版本;达到软件测试标准安排系统测试;对
测试需求进行组内培训。
4.测试任务的分配,保证测试计划的按时完成,保障软件测试质量;测试过程进行跟踪;处理异常情况;定期发送测试报告(每一个软件升级版本)到测试部门经理、开发、各管理人员
5.跟进 BUG 的修改情况,组织 BUG 评审
6.组织项目风险评估
1.4.3 测试功能模块组长
1.保障所有项目所属模块的测试质量
2.参与软件需求评审
3.组织测试工程师编写测试用例以及测试用例的维护,并与测试 PM、开发一起进行用例评审
4.组内成员工作技能的培养与培训,组内成员的业绩考核
5.协助测试 PM 做好人员调配,跟进每个组员的任务进度
6.协助测试 PM 进行 BUG 评审
1.4.4 测试工程师
1. 按照测试计划进行测试的执行,测试用例在编写
2. 测试记录的整理,
3. Bug 的跟踪【包括:提交、验证、关闭 Bug】。
4. 参与 BUG 的评审
5. 定时完成学习计划并提交学习报告给组长
2. 软件测试流程
2.1 软件测试流程图

2.2 流程图解析
立项
对于立项,外研项目与内研项目的进入条件是分开说明的。对于外研项目,立项的条件需要满足如
下条件:
1. 方案商必须提供功能完整和稳定的软件版本,整合了提供的图铃、APK 等资源,以及有效的不
同的 IMEI 、蓝牙地址、 WIFI 地址
2. 方案商提供产品功能需求/设计说明书,并提供真实的硬件检验报告、系统测试报告、外场测试
报告
3. 方案商提供手机相关驱动,抓日志和版本升级的方法或工具
4. 测试样机到位
5. 项目进度表
对于内研项目,立项的条件只需要满足:
1. 测试部收到立项通知,软件产品功能需求/设计说明书都已提供到位
2. 测试样机到位
3. 项目进度表
当立项条件满足时,由测试部门经理指定测试 PM,由测试 PM 组织立项与后续的测试工作。
需求初审
测试 PM 组织各功能模块组长一起对需求进行审阅,完成三个任务:一是对文档进行评审,确认文
档是否符合质量标准以及需求的可行性,如对需求有疑问,或者对需求有建议要求以邮件的形式与需求输出人进行沟通,直到需求定稿;二是确定测试所需样机、SIM 卡、以及人力资源等;三是确定好软件测试策略,并输出《软件测试概要说明》给相关项目人员。《软件测试概要说明》主要包括如下方面:
1. 测试依据
a,软件需求文档
b,软件规格书
c,其他,如参考产品等
2. 测试资源
a,测试人员需求
b,测试样机需求
3. 测试策略
a,采取测试方法
b,采取哪些测试工具以及测试管理工具
c,对测试人员进行培训等
组建测试团队
测试 PM 根据在需求初审过程中各功能模块组长提供的测试人员名单,完成测试团队的组建。
需求分析
团队组建完毕后,测试 PM 组织组员进行需求分析,完成两项任务:一是进行组内需求培训,保证所有组员完全理解需求;二是分配测试用例编写或维护任务,确认测试用例完成日期。请注意:测试用例完成日期必须在软件版本发布测试之前。
测试设计
对于手机而言,测试设计主要包括测试用例的编写与评审。由于常规的测试点的用例都已经具备,这里主要针对新的需求与应用。
测试计划
当所有测试前的准备工作已经完成,测试 PM 就要根据开发时间表以及测试策略制定一个完整的软件测试计划(STP 文档),测试计划的依据主要是项目开发计划和测试需求分析结果。测试计划测试日程计划,主要是把测试分成哪些测试阶段(如单元测试、集成测试、系统测试阶段,外场测试、α、β测试阶段等),每个阶段的工作重点以及投入资源等。
计划赶不上变化,一份计划做的再好,当实际实施的时候就会发现往往很难按照原有计划开展。如在软件开发过程中资源匮乏、人员流动等都会对测试造成一定的影响。所以,这些就要求测试 PM 能够从宏观上来调控了。在变化面前能够做到应对自如、处乱不惊那是最好不过了。
测试执行
测试执行一般分为以下阶段:
确认测试→系统测试→验收测试→产品说明书 check,其中每个阶段还有回归测试验证问题。单元测试、集成测试目前暂无需求,后期项目可根据实际情况添加。
从测试的角度而言,测试执行过程是要考虑量和度的问题,就是指测试的范围与测试的程度的问
题。
从管理的角度而言,在有限的时间内,在人员有限甚至短缺的情况下,要考虑如何分工,如何合理地利用资源来开展测试。当然如下几个问题也需要考虑:
a, 当测试人员测试的执行不到位、敷衍了事时该如何解决?
b, 测试效率问题,怎样提高测试效率?
c, 根据版本的不同采取怎么样的测试策略,是全面测试、自由测试还是针对模块的测试
软件评估
这里评估指软件经过一轮又一轮测试后,确认软件无重大问题或者问题很少的情况下,对准备发布量产的软件进行评估,以确定是否能够投放市场。软件评估会议由软件测试 PM 组织,评估成员一般由软件开发 PM、软件测试 PM、营销人员、部门经理以及研发最高负责人等组成。
测试总结
项目已经发布量产,测试项目组可以通过各种方式对整个测试过程进行总结,可以是做的好的方
面的经验,也可以是不足之处以便后续项目避免。
测试维护
由于测试的不完全性,当软件正式 release 后,用户在使用过程中,难免遇到一些问题,有的甚至是严重性的问题,这就需要修改有关问题,修改后需要再次对软件进行测试、评估、发行。
3. 软件测试周期人员活动图
3.1 活动图

3.2 活动图描述
3.2.1 软件测试准备(S0~S5)
目的
1. 有效的做好测试准备工作,为测试的执行做好前期所需;
2. 按照需求制定好测试策略与测计划;
进入条件
1. 项目正式启动
2. 需求文档已经进行归档
输入
软件开发计划、软件开发时间表、软件产品功能需求/设计说明书等相关需求文档。
作业流程及其管理方法

输出
软件测试概要说明、软件测试计划(STP)、测试用例
3.2.2 测试执行阶段(S6)
3.2.2.1内研项目软件执行阶段流程图

流程图解析
根据整个软件测试执行过程,按时间分成三等分,分别为T1:测试初期、T2:测试中期、T3:测试后期
- T1:测试初期这个阶段,主要执行确认测试、基本功能的测试。确认测试的目标需要确保软件完全符合设计文档。基本功能的测试的重点是执行测试用例,尽可能多的去暴露基本功能的问题,测试的执行方式以执行测试用例为主。同时这个阶段,我们进行一次音频主观性测试,对各音频进行一次摸底测试,得出结论可由软、硬件开发工程师进行分析,确保音频不要因为硬件问题而导致出现不良效果。
- T2:测试中期采用自由测试为主,除了测试基本功能外,还需要重点测试性能、用户体验性测试、兼容性测试、音频主观性测试。其中性能测试可借助于自动化测试工具进行测试。另外这个时期需要外场测试的进入,测试目的是模拟动态环境下用户的使用过程下手机是否稳定。
- T3:测试后期阶段,这个阶段仍然需要执行多遍测试用例以确保基本功能的实现完全没有问题。
- 系统测试分为三个阶段,并不是单纯的时间三等分,而是每个时间段都需要达到测试目标。若没有达到测试目标,测试PM需要及时调节计划,并组织分析问题,避免因为测试不到位的原因导致项目延期。
3.2.2.2外研项目软件执行阶段流程图

流程图解析
- 1. 对于外研项目,我们只做验收测试,正常情况下我们只接受三个版本的验收测试。
- 2. 第一个版本期间需要执行文档确认测试确保手机功能完全符合设计文档,然后执行测试用例。由于验收版本的周期并不是很长,因此在第一个版本就需要进行外场测试和音频主观性测试,发现的问题需要责成方案商在第二个版本前修复。
- 3. 第二个版本,采用自由测试为主,让测试工程师自由发挥自己的思维去进行测试。同时这个阶段需要完成兼容性测试、自动化测试、性能测试。如果在第一个版本外场测试与音频主观性测试发现问题,也需要在这个版本进行回归验证。
- 4. 第三个版本,仍然需要执行测试用例,最终确保手机基本功能。
3.2.2.2软件测试执行阶段人员活动图

活动图描述
目的
- 有效的制定系统测试的软件测试计划;
- 按照计划进行测试,发现软件中的存在的问题(包括:界面、需求、功能、兼容性、性能等方面问题)。
- 对软件中已经解决的问题进行有效的验证;
- 判定测试过程和问题验证的有效性;
进入条件
- 完成系统测试计划和系统测试用例;
- 测试工程师领用了测试样机和相关的测试资源。
- 已确认软件测试申请、软件版本和Release Note。
输入
- 软件测试计划和软件测试用例。
- 软件版本;
作业流程及其管理方法

输出
每个新版本软件测试计划(Cycle)、测试报告(Cycle)、用户体验测试报告、音频主观性测试报告、兼容性测试报告、场测计划、场测报告
3.2.3测试扫尾工作(S7~S9)
目的
-
- 根据测试结果,组织软件评估,评断软件是否可发布量产标准
- 做好测试总结,积累好的经验,去除不好的东西
进入条件
- 完成了测试执行阶段,产品申请量产
作业流程及其管理方法

4. 总结
软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。测试流程制定的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件测试任务。避免不足的测试使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。然而一个规范实用的流程,往往可以改善软件测试的效率。流程的制定为测试计划的制定、测试过程的执行提供了文档性的帮助。让每一个测试PM、测试组长、测试工程师很清晰的明白,软件测试周期中每个时段该去怎么做。
该流程的制定不是一成不变,在执行过程中若发现有不足之处,我们将更新此文档,直到完全适用于我们的作业流程。
相关文章:
软件测试APP完整测试作业流程(附流程图),公司级软件测试流程化办公
目录 1. 概述 2. 软件测试流程 3. 软件测试周期人员活动图 4. 总结 1. 概述 1.1 目的 有效的保证软件质量; 有效的制定不同测试类型(软件系统测试、音频主观性测试、Field Trial、专项测试、自动化测试、性 能测试、用户体验测试)的软件…...
搭建交换机模拟环境及SSH连接,华为NSP软件入门使用教程
搭建交换机模拟环境及SSH连接,华为NSP软件入门使用教程 如果你是通过搜索搜到了这篇文章,那么一定是工作或者学习中需要用交换机,但是又没物理机测试学习,所以需要搭建本地的虚拟环境学习。 这篇文章是我进行交换机命令入门学习写…...
mineadmin 快速安装部署(docker环境)
前提条件:已安装docker 一、下载dnmp环境包 github地址:https://github.com/tomorrow-sky/dnmp gitee地址: https://gitee.com/chenjianchuan/dnmp 二、看一下dnmp包目录结构 三、打开docker-compose.yml 文件,将不需要…...
【力扣刷题练习】93. 复原 IP 地址
题目描述: 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011…...
linux查看文件内容cat,less,vi,vim
学习记录 目录 catlessvi vim cat 输出 FILE 文件的全部内容 $ cat [OPTION] FILE示例 输出 file.txt 的全部内容 $ cat file.txt查看 file1.txt 与 file2.txt 连接后的内容 $ cat file1.txt file2.txt为什么名字叫 cat? 当然和猫咪没有关系。 cat 这里是 co…...
【恒源智享云】conda虚拟环境的操作指令
conda虚拟环境的操作指令 由于虚拟环境经常会用到,但是我总忘记,所以写个博客,留作自用。 在恒源智享云上,可以直接在终端界面输入指令,例如: 查看已经存在的虚拟环境列表 conda env list查看当前虚拟…...
Flask python 开发篇:项目布局
一、背景简介 Flask应用程序可以像单个文件一样简单。就像上一篇简单实现一个接口一样,所有的东西都在一个python文件内; 然而,当项目越来越大的时候,把所有代码放在单个文件中就有点不堪重负了。 Python 项目使用 包 来管理代码…...
docker 部署prometheus+grafana
首先进行部署docker 配置阿里云依赖: curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 配置centos 7的镜像源 yum install -y yum-utils device-mapper-persistent-data lvm2 # 安装一些后期或需要的的一下依…...
RNN实战
本主要是利用RNN做多分类任务,在熟悉RNN训练的过程中,我们可以理解 1)超参数 batch_size和pad_size对训练过程的影响。 2)文本处理过程中是如何将文本的文字表示转化为向量表示 3)RNN梯度消失和序列长度的关系 4&#…...
从GPT入门,到R语言基础与作图、回归模型分析、混合效应模型、多元统计分析及结构方程模型、Meta分析、随机森林模型及贝叶斯回归分析综合应用等专题及实战案例
目录 专题一 GPT及大语言模型简介及使用入门 专题二 GPT与R语言基础与作图(ggplot2) 专题三 GPT与R语言回归模型(lm&glm) 专题四 GPT与混合效应模型(lmm&glmm) 专题五 GPT与多元统计分析&…...
【Android】数据安全(一) —— Sqlite加密
目录 SQLCipherSQLiteCrypt其它 SQLCipher SQLCipher 是 SQLite 数据库的的开源扩展,使用了 256 位 AES 加密,支持跨平台、零配置、数据100%加密、加密开销低至 5 -15%、占用空间小、性能出色等优点,因此非常适合保护嵌入式应用程序数据库&a…...
云原生周刊:Helm Charts 深入探究 | 2024.3.11
开源项目推荐 Glasskube Glasskube 提供了一个用于 Kubernetes 的缺失的包管理器。它具有图形用户界面(GUI)和命令行界面(CLI)。Glasskube 包是具备依赖感知、GitOps 准备和可以通过中央公共包仓库自动更新的特性。 imgpkg imgpkg(发音为:"imag…...
【C++初阶】第六站 : 模板初阶
前言: 本章知识点:泛型编程、函数模板、类模板 专栏: C初阶 目录 泛型编程 函数模板 1.函数模板概念 2.函数模板格式 3.函数模板的原理 4.函数模板的实例化 5.模板参数的匹配原则 类模板 类模板的定义格式 类模板的实例化 泛型编程 如何实现一…...
训练保存模型checkpoint时报错SyntaxError: invalid syntax
在使用pytorch训练保存checkpoint时,出现如下报错: rootautodl-container-745411b452-c5cebfed:~/kvasir-seg-main# python train_transunet.py --loss_function"IoULoss" --training_augmentation0File "train_transunet.py", lin…...
虚拟机中安装Win98
文章目录 一、下载Win98二、制作可启动光盘三、VMware中安装Win98四、Qemu中安装Win981. Qemu的安装2. 安装Win98 Win98是微软于1998年发布的16位与32位混合的操作系统,也是一代经典的操作系统,期间出现了不少经典的软件与游戏,还是值得怀念的…...
《C++游戏编程入门》第4章 标准模板库: Hangman
《C游戏编程入门》第4章 标准模板库: Hangman 4.1 标准模板库4.2 vector04.heros_inventory2.cpp 4.3 使用迭代器04.heros_inventory3.cpp 4.4 使用算法04.high_scores.cpp 4.5 理解向量性能4.6 其他STL容器4.7 Hangman简介04.hangman.cpp 4.1 标准模板库 Standard Template L…...
Linux最小系统安装无法查看IP地址
1,出现原因 服务器重启完成之后,我们可以通过linux的指令 ip addr 来查询Linux系统的IP地址,具体信息如下: 从图中我们可以看到,并没有获取到linux系统的IP地址,这是为什么呢?这是由于启动服务器时未加载网…...
分享个好用的GPT网站
目录 一、背景 二、功能描述 1、写代码 2、联网查询 3、AI绘图 一、背景 我现在的开发工作都依靠ChatGPT,效率提升了好几倍。这样一来,我有更多时间来摸鱼,真是嘎嘎香~ ⭐⭐⭐点击直达 ⭐⭐⭐ 二、功能描述 1、写代码 import java.ut…...
hyperf 二十六 数据迁移 二
教程:Hyperf 参考文章hyperf 二十五 数据迁移 一-CSDN博客 根据之前写的数据迁移的文章,已经说明Hyperf\Database\Schema\Schema::create()实际运行Hyperf\Database\Schema\Grammars\MySqlGrammar::compileCreate()生成的sql字符串。 文档所谓"在…...
linux下如何hook第三方播放器的视频数据?
背景 作为显卡生产商,当用户使用我们的显卡硬解码播放视频时,如果出现比如花屏等问题,为了快速确定问题原因,我们需要一个工具来帮助判断出问题是出在原始视频端,亦或者是应用程序端,亦或者是显卡端。因此我们需要一种方法,来对目标播放器程序进行监控,并捕获到视频源的…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...
基于Uniapp的HarmonyOS 5.0体育应用开发攻略
一、技术架构设计 1.混合开发框架选型 (1)使用Uniapp 3.8版本支持ArkTS编译 (2)通过uni-harmony插件调用原生能力 (3)分层架构设计: graph TDA[UI层] -->|Vue语法| B(Uniapp框架)B --&g…...
基于微信小程序的作业管理系统源码数据库文档
作业管理系统 摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和微信小程序来完成对系统的…...
HarmonyOS Next 弹窗系列教程(3)
HarmonyOS Next 弹窗系列教程(3) 选择器弹窗 (PickerDialog) 介绍 选择器弹窗通常用于在用户进行某些操作(如点击按钮)时显示特定的信息或选项。让用户可以进行选择提供的固定的内容。 以下内容都属于选择器弹窗: …...
vue-14(使用 ‘router.push‘ 和 ‘router.replace‘ 进行编程导航)
使用 ‘router.push’ 和 ‘router.replace’ 进行编程导航 编程导航是使用 Vue Router 构建动态和交互式 Web 应用程序的一个重要方面。它允许您根据应用程序逻辑、用户作或特定条件控制用户的导航流。您可以使用 router.push 和 router.replace 方法以编程方式导航到不同的路…...
