目
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 测试工程师
- 按照测试计划进行测试的执行,测试用例在编写
- 测试记录的整理,
- Bug的跟踪【包括:提交、验证、关闭Bug】。
- 参与BUG的评审
- 定时完成学习计划并提交学习报告给组长
2.软件测试流程
2.1软件测试流程图
2. 2 流程图解析
立项
对于立项,外研项目与内研项目的进入条件是分开说明的。对于外研项目,立项的条件需要满足如下条件:
- 方案商必须提供功能完整和稳定的软件版本,整合了提供的图铃、APK等资源,以及有效的不同的IMEI 、蓝牙地址、 WIFI地址
- 方案商提供产品功能需求/设计说明书,并提供真实的硬件检验报告、系统测试报告、外场测试报告
- 方案商提供手机相关驱动,抓日志和版本升级的方法或工具
- 测试样机到位
- 项目进度表
对于内研项目,立项的条件只需要满足:
- 测试部收到立项通知,软件产品功能需求/设计说明书都已提供到位
- 测试样机到位
- 项目进度表
当立项条件满足时,由测试部门经理指定测试PM,由测试PM组织立项与后续的测试工作。
需求初审
测试PM组织各功能模块组长一起对需求进行审阅,完成三个任务:一是对文档进行评审,确认文档是否符合质量标准以及需求的可行性,如对需求有疑问,或者对需求有建议要求以邮件的形式与需求输出人进行沟通,直到需求定稿;二是确定测试所需样机、SIM卡、以及人力资源等;三是确定好软件测试策略,并输出《软件测试概要说明》给相关项目人员。《软件测试概要说明》主要包括如下方面:
1. 测试依据
a,软件需求文档
b,软件规格书
c,其他,如参考产品等
2. 测试资源
a,测试人员需求
b,测试样机需求
3. 测试策略
a,采取测试方法
b,采取哪些测试工具以及测试管理工具
c,对测试人员进行培训等
组建测试团队
测试PM根据在需求初审过程中各功能模块组长提供的测试人员名单,完成测试团队的组建。
需求分析
团队组建完毕后,测试PM组织组员进行需求分析,完成两项任务:一是进行组内需求培训,保证所有组员完全理解需求;二是分配测试用例编写或维护任务,确认测试用例完成日期。请注意:测试用例完成日期必须在软件版本发布测试之前。
测试设计
对于手机而言,测试设计主要包括测试用例的编写与评审。由于常规的测试点的用例都已经具备,这里主要针对新的需求与应用。
测试计划
当所有测试前的准备工作已经完成,测试PM就要根据开发时间表以及测试策略制定一个完整的软件测试计划(STP文档),测试计划的依据主要是项目开发计划和测试需求分析结果。测试计划测试日程计划,主要是把测试分成哪些测试阶段(如单元测试、集成测试、系统测试阶段,外场测试、α、β测试阶段等),每个阶段的工作重点以及投入资源等。
计划赶不上变化,一份计划做的再好,当实际实施的时候就会发现往往很难按照原有计划开展。如在软件开发过程中资源匮乏、人员流动等都会对测试造成一定的影响。所以,这些就要求测试PM能够从宏观上来调控了。在变化面前能够做到应对自如、处乱不惊那是最好不过了。
测试执行51Testing软件测试网 f7[#E+K&`s/z51Testing软件测试网1H/N Z l k!Md V4H,["x
测试执行一般分为以下阶段:
确认测试→系统测试→验收测试→产品说明书check,其中每个阶段还有回归测试验证问题。单元测试、集成测试目前暂无需求,后期项目可根据实际情况添加。
从测试的角度而言,测试执行过程是要考虑量和度的问题,就是指测试的范围与测试的程度的问题。
从管理的角度而言,在有限的时间内,在人员有限甚至短缺的情况下,要考虑如何分工,如何合理地利用资源来开展测试。当然如下几个问题也需要考虑:
a, 当测试人员测试的执行不到位、敷衍了事时该如何解决?
b, 测试效率问题,怎样提高测试效率?
c, 根据版本的不同采取怎么样的测试策略,是全面测试、自由测试还是针对模块的测试
软件评估
这里评估指软件经过一轮又一轮测试后,确认软件无重大问题或者问题很少的情况下,对准备发布量产的软件进行评估,以确定是否能够投放市场。软件评估会议由软件测试PM组织,评估成员一般由软件开发PM、软件测试PM、营销人员、部门经理以及研发最高负责人等组成。
测试总结
项目已经发布量产,测试项目组可以通过各种方式对整个测试过程进行总结,可以是做的好的方面的经验,也可以是不足之处以便后续项目避免。
测试维护
由于测试的不完全性,当软件正式release后,用户在使用过程中,难免遇到一些问题,有的甚至是严重性的问题,这就需要修改有关问题,修改后需要再次对软件进行测试、评估、发行。
3 软件测试周期人员活动图
3.1 活动图
软件测试全栈专题系列课程https://edu.csdn.net/combo/detail/2221
Jmeter高级性能测试实战https://edu.csdn.net/course/detail/35834
RobotFramework+Jmeter接口自动化测试课程https://edu.csdn.net/course/detail/36152Fiddler接口抓包神器使用教程https://edu.csdn.net/course/detail/32782零基础新手入门软件测试必知必会https://edu.csdn.net/course/detail/32598
3.2 活动图描述
目的
- 有效的做好测试准备工作,为测试的执行做好前期所需;
- 按照需求制定好测试策略与测计划;
进入条件
输入
软件开发计划、软件开发时间表、软件产品功能需求/设计说明书等相关需求文档。
作业流程及其管理方法
No. | 作业过程名 | 作业内容/管理方法 | 作业人 | 输出 |
1. | 立项 | 当立项条件达到,测试部经理指定测试PM,测试PM整理相关资料组织立项动作 | 测试部经理、测试PM | |
2 | 需求初审 | 测试PM组织需求的初审,邀请各模块组长一起对需求进行审读,确认需求的可行性,确认该项目对应的人力、物力资源,确认对应的测试策略 | 测试PM、各功能模块组长 | 软件测试概要说明 |
3 | 组建测试团队与需求分析 | 测试PM根据需求初审会议定下的测试人员,组建测试团队,和模块组长一起对各测试人员进行需求分析与培训,并分配测试用例编写与维护任务 | ||
4 | 测试设计 | 测试工程师依据《Case编写依据》进行TestCase的编写,然后由测试PM制定测试用例的评审计划并按照计划进行评审;(要求开发人员、测试工程师);测试PM要将每次Case的评审结果进行记录,测试部门经理在使用Case前进行评审结果的确认; 测试部门经理确认最终的Testcase和评审记录。 | 测试工程师、测试PM、测试部门经理 | 测试用例 |
Case编写的依据: 软件需求文档;Menutree;UI Spec;极限值表;按键定义表;冲突事件响应表;相关规范和标准; Case 编写基本规则;
参加CASE的评审人员也应该遵循Case编写规则对Case进行评审,并对每次评审要求记录《评审会议记录》; | ||||
5. | 测试计划编写和评审 | 当测试用例完成后,测试PM根据开发计划表制定《STP》;完成后需要组织开发、测试部门经理等相关人员进行评审; 当计划定稿后,测试PM需要严格按照制定的计划安排测试; | 测试PM | STP |
测试计划评审注意事项:
|
输出
软件测试概要说明、软件测试计划(STP)、测试用例
3.2.2 测试执行阶段(S6)
3.2.2.1内研项目软件执行阶段流程图
流程图解析
1.根据整个软件测试执行过程,按时间分成三等分,分别为T1:测试初期、T2:测试中期、T3:测试后期
- T1:测试初期这个阶段,主要执行确认测试、基本功能的测试。确认测试的目标需要确保软件完全符合设计文档。基本功能的测试的重点是执行测试用例,尽可能多的去暴露基本功能的问题,测试的执行方式以执行测试用例为主。同时这个阶段,我们进行一次音频主观性测试,对各音频进行一次摸底测试,得出结论可由软、硬件开发工程师进行分析,确保音频不要因为硬件问题而导致出现不良效果。
- T2:测试中期采用自由测试为主,除了测试基本功能外,还需要重点测试性能、用户体验性测试、兼容性测试、音频主观性测试。其中性能测试可借助于自动化测试工具进行测试。另外这个时期需要外场测试的进入,测试目的是模拟动态环境下用户的使用过程下手机是否稳定。
- T3:测试后期阶段,这个阶段仍然需要执行多遍测试用例以确保基本功能的实现完全没有问题。
- 系统测试分为三个阶段,并不是单纯的时间三等分,而是每个时间段都需要达到测试目标。若没有达到测试目标,测试PM需要及时调节计划,并组织分析问题,避免因为测试不到位的原因导致项目延期。
3.2.2.2外研项目软件执行阶段流程图
流程图解析
1. 对于外研项目,我们只做验收测试,正常情况下我们只接受三个版本的验收测试。
2. 第一个版本期间需要执行文档确认测试确保手机功能完全符合设计文档,然后执行测试用例。由于验收版本的周期并不是很长,因此在第一个版本就需要进行外场测试和音频主观性测试,发现的问题需要责成方案商在第二个版本前修复。
3. 第二个版本,采用自由测试为主,让测试工程师自由发挥自己的思维去进行测试。同时这个阶段需要完成兼容性测试、自动化测试、性能测试。如果在第一个版本外场测试与音频主观性测试发现问题,也需要在这个版本进行回归验证。
4. 第三个版本,仍然需要执行测试用例,最终确保手机基本功能。
3.2.2.2软件测试执行阶段人员活动图
活动图
软件测试全栈专题系列课程https://edu.csdn.net/combo/detail/2221Jmeter高级性能测试实战https://edu.csdn.net/course/detail/35834RobotFramework+Jmeter接口自动化测试课程https://edu.csdn.net/course/detail/36152Fiddler接口抓包神器使用教程https://edu.csdn.net/course/detail/32782零基础新手入门软件测试必知必会https://edu.csdn.net/course/detail/32598
活动图描述
目的
- 有效的制定系统测试的软件测试计划;
- 按照计划进行测试,发现软件中的存在的问题(包括:界面、需求、功能、兼容性、性能等方面问题)。
- 对软件中已经解决的问题进行有效的验证;
- 判定测试过程和问题验证的有效性;
进入条件
- 完成系统测试计划和系统测试用例;
- 测试工程师领用了测试样机和相关的测试资源。
- 已确认软件测试申请、软件版本和Release Note。
- 软件测试计划和软件测试用例。
- 软件版本;
作业流程及其管理方法
NO | 作业过程名 | 作业内容 / 管理方法 | 作业人 | 输出结果 |
1 | 测试任务安排 | 测试PM获得软件版本后,确认后根据测试目的制定版本测试计划; 测试计划完成后,向组内成员介绍项目基本情况、测试时间安排等 | 测试PM | 每个新版本软件测试计划 |
2 | 系统测试 | 测试PM接收到软件测试申请并确认软件在发布时已提供相关信息后,安排测试工程师依据测试用例进行系统测试或进行自由测试; 在系统测试阶段,项目的第一轮和最后一轮测试必须至少执行一个完整的周期。包括过一遍完整的case; 在量产前要针对《用户说明书》检查; | 测试PM 各功能模块组长 测试工程师 | 测试报告 |
3 | 验证测试 | 每个版本对以前已修改的BUG进行验证,若确认已经修改,可执行关闭操作。 | 测试工程师 | |
4 | 性能测试 | 测试PM安排工程师,按照《性能测试用例》进行测试,主要采用与对比机对比测试得出体验结果; | 测试工程师 | 用户体验测试报告 |
5 | 音频主观测试 | 测试PM安排工程师,按照《音频主观性测试用例》进行MP3音质、通话音质、FM音质等其他音质的验证测试 | 测试工程师 | 音频主观性测试报告 |
6 | 兼容性测试 | 测试PM安排工程师,按照《兼容性测试用例》进行对不同型号的蓝牙耳机、蓝牙适配器、SD卡以及不同厂商、运营商的SIM卡进行验证测试 | 测试工程师 | 兼容性测试报告 |
7 | 外场测试 | 测试PM需根据项目平台以往项目的Field Trial情况、客户销售区域情况等,确认Field Trial地区;Field Trial要是考虑进行静态和动态测试;本地主要完成市区、郊区的动态、弱信号、和高速测试,外地动态测试以市区测试为主,有特殊需求时再考虑增加; 测试用例要求为模拟客户操作能再现客户发现的问题; 必要时,开发工程师参与测试; Field Trial过程中,发现问题也需要录入bugfree中,同时要求进行log信息的跟踪;并将log信息提供开发进行问题的确认; | 场测工程师 | 场测计划 场测报告 |
输出
每个新版本软件测试计划(Cycle)、测试报告(Cycle)、用户体验测试报告、音频主观性测试报告、兼容性测试报告、场测计划、场测报告
3.2.3测试扫尾工作(S7~S9)
目的
-
- 根据测试结果,组织软件评估,评断软件是否可发布量产标准
- 做好测试总结,积累好的经验,去除不好的东西
进入条件
- 完成了测试执行阶段,产品申请量产
作业流程及其管理方法
NO | 作业过程名 | 作业内容 / 管理方法 | 作业人 | 输出结果 |
1 | 软件评估 | 量产前,测试PM书写软件评估报告并组织软件评估会议,邀请测试部门经理、开发PM、项目经理等管理人员组织软件评估会议,最终由项目经理确认软件是否能够发布量产。 | 项目经理 测试部门经理 测试PM 各功能模块组长 软件开发PM等 | 评估结果 发布量产 |
2 | 测试总结 | 测试PM组织测试项目组进行总结性会议,总结测试经验 | 测试PM 测试工程师 | |
3 | 维护测试 | 当收到用户反馈的严重性问题,测试PM组织测试工程师验证并提交问题到bugfree跟踪; 开发人员重新集成版本修改问题,测试PM验证后并组织一次全面的测试确保版本 | 测试PM 测试工程师 | 测试报告 |
- 结语
软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。测试流程制定的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件测试任务。避免不足的测试使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。然而一个规范实用的流程,往往可以改善软件测试的效率。流程的制定为测试计划的制定、测试过程的执行提供了文档性的帮助。让每一个测试PM、测试组长、测试工程师很清晰的明白,软件测试周期中每个时段该去怎么做。
该流程的制定不是一成不变,在执行过程中若发现有不足之处,我们将更新此文档,直到完全适用于我们的作业流程。
零基础新手入门软件测试必知必会https://edu.csdn.net/course/detail/32598
Jmeter高级性能测试实战https://edu.csdn.net/course/detail/35834
软件测试全栈专题系列课程https://edu.csdn.net/combo/detail/2221RobotFramework+Jmeter接口自动化测试课程https://edu.csdn.net/course/detail/36152Fiddler接口抓包神器使用教程https://edu.csdn.net/course/detail/32782