我们某个时候都曾是新手,可还记得刚开始作为一名测试员,你是否接受过培训,它有助于您在测试职业中走上正确的道路吗?您是否被测试深深地吸引了,根本没有接受任何培训,只想继续下去?
多年来,我多次听到一句话“没有人教你如何进行测试,我不得不这么做”。也许您会在那种环境中茁壮成长,很多人都这样。但是,也许您会感到有些迷失,没人支持,不确定你应该做什么,为什么要那样做。即使是经验丰富的测试人员在新的岗位上也会有这种感觉。
当新测试人员加入团队时,我们有责任培训他们。在确定某人可能需要什么样的培训时,要知道从哪里开始可能会很棘手。这取决于个人,背景以及您可以利用的资源。也许有一个结构化的入职和培训计划,让新员工对公司和他们的新角色有一个很好的了解,但如果不是这样,你需要提供足够的指导和反馈,帮助他们发展重要的技能。
那么,在培训新人时您会想到哪些重要的事情?您如何帮助新的团队成员避免感到不知所措?您如何赋予他们信心,使他们走上正确的道路?
了解他们的背景
首先,确保你对新人有所了解!如果你参与了招聘过程,那你已经掌握了这些信息。
- 他们对任何角色都完全陌生吗?例如,应届毕业生或实习生?
- 他们以前有过测试经验吗?
- 他们是否担任过其他技术角色,例如开发人员或支持职位?
- 他们掌握领域知识吗?
- 他们喜欢或讨厌做什么样的测试?
- 了解他们加入团队的原因和职业目标。
了解这些问题的答案可以帮助你提供正确的水平的培训,并确定需要何种程度的监督。你在训练某人如何成为一名测试人员吗?还是基于他们现有的测试经验来适应他们的新角色?
探索产品
让新人尽快接触该产品是学习它的一个很好的开始。鼓励他们提出问题,以便他们建立理解。
- 分配时间让新人进行初步的探索性工作,以勾勒出产品的主要功能。在探索结束后,他们应该对可以在何处更改信息,潜在风险区域以及产品如何与其他系统交互有所了解。请他们向您解释他们发现了什么。
- 如果有产品文档,入门指南,产品帮助文件,内部Wiki或知识库,其中包含各种有用的产品信息,确保新人知道如何访问它。
- 如果产品需要安装或配置,或者需要从头开始搭建测试环境,请他们完成此过程。它可以帮助他们了解产品的不同组成部分以及它们如何组合在一起。他们可以利用这些知识来开发自己的产品模型,以帮助他们进行测试。
- 提供有关如何访问该产品可能包含的任何日志文件的详细信息。
- 产品演示将帮助他们了解如何使用该产品。
- 即将发布的产品概述和目标可以帮助新人了解软件的发展方向和公司愿景。
- 分享有关您的产品和团队经历过的成功和失败的故事。它确实可以帮助新测试人员避免不必要的工作或失误。
让他们像测试员一样思考
学习如何测试并熟悉产品的最佳方法是进行一些测试。为新的测试人员分配测试用例列表可能很诱人,但这可能无助于他们学习如何探索和质疑产品。许多优秀的测试人员都有一颗好奇心,这使他们问:“我想知道如果...会发生什么呢?”,而缺乏经验的团队成员需要被鼓励去开发这一点,并确保在所有阶段都提供积极的反馈和建设性的批评。
- 为他们分配产品的现有功能,以便在您知道存在问题的地方进行测试。阐明他们如何使用测试章程来集中精力进行工作,并要求他们记录所做的测试。如果他们发现了一些问题,但遗漏了一些,则建议他们如何生成其他测试思路,使他们能够发现这些bug。
- 当他们发现一个bug时,要求他们重现问题并进行调查。他们是否发现了发生这种情况的环境?他们是否可以对导致问题的原因进行假设,加以分离,然后提炼出他们所掌握的信息?
- 要求他们针对发现的一个或多个问题写一份bug报告。从你的bug跟踪系统中举出你认为是一个好的bug报告的例子。当然,要确保这个bug首次被发现。
- 要求他们创建一个思维导图,展示他们如何测试一个功能。他们只关注功能吗?他们是否考虑性能?安全?可用性?他们是否执行低于UI级别的测试?他们建议采用什么工具吗?
- 安排新人与团队其他成员进行配对测试。无论测试人员有多少经验,他们都可以从中学习。
- 当他们开始测试新功能时,请查看他们所做的测试。确保他们不仅仅是确认验收标准或要求。
- 向他们分配bug修复后的程序以进行重新测试,并请他们解释如何测试这些bug。他们是否只关注所描述的步骤还是围绕问题进行探索?
- 解释什么是先知和启发式方法,以及这些将如何帮助他们。
开始积累技术知识
您的团队可能会使用各种技术来测试产品,我所说的技术不仅仅是指编写自动检查,尽管这些检查可能很重要。作为测试人员,我们可能会用到很多不同的技术,想想其他的一些吧。
您使用哪些工具来辅助测试?如浏览器工具,附加组件,代理或系统工具。如果你的新测试人员还不知道的话,让他们花点时间去了解它们以及它们是如何工作的。分享它们在您的环境中的使用方式以及它们支持测试工作的原因。演示任何重要的工具以及如何使用它们来确保在测试期间收集到足够的信息。
您可能还需要考虑以下因素:
- 数据库-确保他们知道如何查看或操作您可能在测试中使用的任何数据库中的信息。
- API测试-如果您的新测试人员尚未在没有UI的情况下进行测试,则他们需要知道如何浏览API和解释响应。
- 安全性-在所有应用程序类型中都是一个重要的考虑因素。这里需要使用什么技术?OWASP为不熟悉web应用程序安全的人提供了一些很好的资源。
- 性能-产品的性能要求是什么?如何进行测试?
- 编程-自动检查是当务之急,请提供资源以帮助他们开始使用必要的编程语言。
- 自动化框架-如果他们有编程经验,串讲下您的框架是如何组合在一起的。要求他们与另一位测试人员配对以创建一些自动检查并执行。
那些重要的流程
我们使用的流程可能会对项目的结果产生巨大的影响,因此新人必须了解他们应该如何工作。以下是您可能需要考虑的一些事项:
- 让他们尽快参加团队会议或冲刺仪式,他们将了解团队成员,他们的不同角色以及大家的合作方式。
- 确保他们了解这些会议的目的,也许他们是敏捷方法的新手,可能会站在那儿想知道“为什么我们需要这样做?”
- 让他们花一些时间与开发人员坐在一起,以便他们可以看到他们在做什么。他们编写单元测试吗?测试人员对此过程有贡献吗?
- 自动化检查在测试过程中适合什么地方?
- 您可以使用持续集成,解释这个过程及其好处。
- 您的团队必须遵守哪些标准或法规?
- 团队如何确定bug的优先级?是测试人员的责任还是整个团队的活动?
- 如何记录测试?提供你的团队如何做到这一点的例子,并就他们记录的测试给出反馈。
作为测试人员,我们一直在寻找新的工作方式,当一个有新见解的新人加入团队时,他们经常会提出一些问题,这些问题可以使我们重新评估我们的流程,甚至带来改进。在我参与培训新测试人员的地方,我确保让他们知道,他们不应该害怕提出新的工作方式,以及参加回顾会议等如何促进这一工作。
测试小酋(2021-01-14 11:02:36)
@秋枫幕霞惋红曲 只有多投简历,不妨在51job、猎聘、拉勾都投下,平时有时间就继续深入学习测试知识和技能。急不来,当前市场不景气,我们能做的就是,做好准备牢牢抓住每一个机会。