功能测试阶段是测试职业生涯的基础阶段,在这段时间内要注意培养测试思维、做事方式、沟通能力、对需求及用户体验的理解把握能力、对于软件开发具体实现的基本理解、对于软件开发整体流程的理解和把握、对一些工具和简单脚本的熟悉使用。
大部分初入测试行业的人有一个误区,就是局限于执行被分配的工作,对于其他的事情漠不关心。这样带来的问题是测试人员对于项目没有把控感、参与感和成就感,对测试该具备的能力掌握较弱,进而怀疑自己的价值。
一般测试流程:需求分析,用例编写,用例评审,提测验证,Bug回归验证,上线与线上回归等来进行测试
1.需求分析,发挥主动性
进行需求评审时,一是要主动评估本次需求的用户体验和实现方式是否合理,如果有疑义及时提出,在开发阶段开始之前,修改需求代价最小,争取达成测试开发产品三方意见一致。二是要明确本次需求的根本目的(这一点最重要),评估对现有功能的影响范围,设计测试方案(粗粒度),评估测试工作量(粗粒度)。
在需求会议上有需求变更或者针对难点进行讨论时,要保持关注,并积极参与讨论。而这部分常常需要重点测试。
需求评审会后,要由产品输出带上最新改动的需求文档,如果产品没有及时输出测试要进行跟进。因为要测试依赖于产品输出的需求文档编写测试用例。
2.用例设计与评审
设计用例这一步不能忽略,即使改动很小,排期很紧,也要至少画出思维导图,比如Xmind,甚至可以是用纸笔列出所有功能点和影响因素,画出因果图。
用例设计尽量做到不遗不漏,同时设计方式应从用户角度出发,优先覆盖和重点验证用户最常执行的路径和最可能遇到的情况。
设计用例需从整体下手,考虑到各方面的影响,而不是仅仅局限于待测功能本身的业务逻辑,比如新增需求是否会对整体稳定性、性能、数据库、其他的功能模块造成影响。用例设计好后,在时间允许的情况下主动联系产品经理、开发进行评审,以便完善用例。若项目排期太紧,部门内部寻找其他同事进行快速评审,以便发现设计遗漏之处。
如果测试工作有依赖项,比如依赖于开发输出定制的测试包,需要布置内网测试环境,需要服务器同事拉取数据等,及时将需求同步给开发同事,以免等到送测才开始准备测试环境,影响测试进度。
3.测试流程及项目进度控制
测试人员的职责比较复杂,大到监控整个项目流程,协调监督各部门工作,做项目经理甚至CTO的工作,小到测试验证需求。
关注排期的必要性:很多时候项目进度是由产品经理或者项目经理把控,但测试人员身为一线工作人员,必须要对整体项目进度保持关注,做到心中有数。需求变更、开发遇到困难导致延期等情况比较常见。需求变更可能会导致开发人员需要重新实现,交付时间延后,也可能导致测试方案需要重新设计,或者测试工作量增多;开发遇到困难导致延期,可能会导致交付时间延后,也可能因为部分功能在实现时比预期要复杂很多,需要重点测试,测试工作量增多。若不关注这些情况的话,很可能会导致实际测试内容和最初需求不符,测试时间被压缩,以至于测试不充分、项目意外延期、测试严重加班等情况。
排期监控:测试对于自己负责的需求要持续关注其进度情况,需求变更或者开发遇到难点延期时,测试要主动评估是否会影响到项目进度,如果会影响,及时对各部门同事进行预警,说明详细情况,以便重新排期或者精简需求(这里需要把握根本需求)。有时会遇到需要短时间内解决的紧急问题,要求快速迭代上线,此时要综合排期要求和bug严重程度决定哪些bug可以带着上线(为了解决更严重的问题,而带着部分没那么严重的问题上线),并在不能决定时及时找领导确认。
任务优先级:对于各项任务的排期保持关注,对于目前的开发进度基本心中有数,当新任务安排过来时,可以更准确的判断每个任务的优先级,以便决定测试任务的排序并通知相关人员。比如低优先级的任务安排过来时,可以通知相关部门同事,当前的测试任务安排,并说明预计任务排期时间。
Bug提交跟进:Bug的提交和跟进要做到详细明确,比如bug的优先级、严重级别、具体操作路径等,如需要新老版本对比测试、竞品对比测试、不同机型或系统兼容测试等验证测试,应主动提供相关信息给开发人员。对于复现成本太高的问题,可以先提交log给开发确认,由开发反馈是否需要执行上述验证测试。提交后要进行跟进,高优先级任务督促解决,已修复问题及时验证关闭。
线上回归及监控:版本正式上线后,要及时进行线上回归测试,并对于用户评价、crash数量等相关反馈进行监控,发现异常后及时定位原因并安排解决。
4.项目总结
总结过程是整个测试过程最容易被忽略的一步,但这一步是优化流程、总结经验最重要的步骤。测试结束后,要以文字形式整理出,本次测试遇到的问题,哪些因素影响了测试的进度,哪些地方比较容易出现问题但之前没有发现过,出现的问题是怎么解决的,之后怎么改进,有没有具有通用性,其他产品也会有的问题,有没有哪些问题之后在开发新功能时也要特别注意。相关问题总结得越多,之后测试时越知道哪些地方需要注意,开发时也会注意规避出现过的问题,对于整体的开发测试流程都有正向提升。
5.做事方式及沟通能力
细心、耐心、责任心
计划
记录
总结
沟通能力:根据每人的性格选择合适的沟通方式,注意语言的艺术,沟通方式要委婉,比如少用反问句,尽量不带个人情绪到工作中
6.能力总结沉淀
测试工具及常用指令:对于常用的测试工具和指令要做到数量掌握,并积极关注新的测试工具,分析每种工具的优缺点,在有新需求时,能选择最合适的测试工具,对于各种工具测试时常见的问题知道出现的原因是什么和怎么解决。
常见问题的了解及预判:常见的开发流程、开发过程中常见的问题、哪个步骤哪个模块经常出现问题、各模块之间怎么工作、一个模块进行修改后会对哪些模块产生什么影响。
技术沉淀:日志查看,部署环境的问题解决方案,测试常见问题的排查,产品实现方式及技术等等
对业务流程的掌握,整个项目把控,快速了解业务并根据需求选择测试方案,引入测试工具提高测试效率,测试过程中遇到的问题的预判和解决办法,这些是测试人员应该具备的硬实力。 文章源自玩技e族-https://www.playezu.com/194112.html