经营成功的测试职业生涯
关于测试人员的职业规划,这是一个值得每位测试人员,无论新手还是老手,都需要深思的问题。对于测试人员来说,未来的道路在哪里?如何达到卓越?尽管这个问题似乎有些功利和发散,但从整个行业的角度来看,新人占据了绝大多数,因此一盏明灯般的指引显得尤为重要。
James Whittaker在《探索式软件测试》一书中,将测试职业发展的道路比作攀登一座山峰。他通过生动的实例讲述了测试人员在各个职业发展阶段应该做什么。作者在阅读这本书后产生了强烈的共鸣。
关于James A. Whittaker是如何开始他的测试职业生涯的,他在田纳西大学读研究生时完成了从软件开发人员到软件测试人员的转型。这个转变并非他的初衷,而是由于一次意外的会议缺席导致的。他因此开始了测试之旅,逐渐发现测试是他所拥有的那份具有创造性和技术挑战性的快乐职业。而这一职业道路的选择,最终带来了几十篇关于测试的论文、无数的工具、五本书以及无尽的快乐工作时间。但并非所有人都适合这样的职业道路。
在软件测试领域,似乎时间已经停滞。我们在21世纪使用的测试方法和上个世纪几乎相同。过去的测试知识仍然具有价值,而一些早期的测试人员如果穿越时空到今天,他们的技巧仍然能够应对现代软件的测试。对于开发人员来说,情况却不同,他们过去的技术已经过时。测试入门容易,精通难。大多数人都能够学得有模有样,但真正掌握高级技术却需要时间和努力。这就是那座需要翻越的山峰。对于每个人来说,这座山是可以通行的,但如何攀登则需要探索和努力。
在攀登测试职业的山峰时,每个人都需要做好准备。最好的建议是要思考每一个项目的两个部分:一部分是确保当前项目的成功,另一部分是学习如何为下一个项目做得更好。这被称为“测试今天的项目,准备明天的项目”。如果你能在每个项目中平衡这两部分,那么你就能持续进步,逐步攀登测试职业的山峰。在这个过程中,每个人都需要不断地学习、探索和实践,才能成为真正的测试专家。这是一条充满挑战的道路,但只要你坚持不懈,就一定能攀上那座山峰,实现自己的职业目标。迈向测试之巅:重复、技术与漏洞
随着每一个项目的参与,你都在逐渐成长为更优秀的测试人员。现在,让我们关注下一个项目的准备,需要注意三大核心要素:重复、技术和漏洞。
重复的智慧
测试工作中,很多任务都是重复的。我遇到过许多初学者,他们在单调的任务上花费了大量的时间,如设置测试机器、配置环境等。这些重复工作占据了你宝贵的时间,导致真正用于软件测试的时间少得可怜。重复并不可怕,可怕的是我们没有意识到它的存在,或者质疑其是否为一个问题。测试自动化是解决重复劳动的关键,这也是我们后续会深入探讨的主题。
技术的洞察
作为测试人员,我们经常分析软件的失效原因。在分析缺陷时,我们不仅从开发人员的失败中学习如何编写可靠代码,还分析那些被我们忽略的缺陷。客户报告的每一个缺陷都是我们的流程存在问题、测试知识尚待完善的信号。每一个找到的缺陷都说明我们的测试流程正在有效运转,这是一次成功。我们要紧紧抓住这些机会,使成功不断重复。就像运动队观看比赛录像,分析每一个动作一样,我们也要反思我们的测试方法,分析哪些技术帮助我们找到缺陷,能否创建一种方法来找到更多这类缺陷。软件的哪些症状可以提示存在缺陷?如何从这些症状中获得更多的警示?理解我们成功的原因至关重要,这样我们才能复制成功。这背后的一系列测试技术、建议和工具,都是提高未来工作效率的保证。
漏洞的挑战
测试人员最终会变得擅长寻找缺陷,但要达到顶尖水平,我们必须更快、更有效率。我们需要一种本身不含缺陷的缺陷查找技术。就像审视自己的测试流程也需要发挥寻找缺陷的能力一样,我们必须用同样的流程来寻找我们自己的测试流程中的缺陷。自问:我的测试流程是否有问题?是否存在障碍阻碍我提高效率?你必须不断寻找更好的方法,确定那些限制能力、阻碍前进的东西。优化自己的测试流程会帮助你在测试的山峰上快速攀登,增加成为专家的机会。
站在测试山峰的巅峰上是一个美好的地方。如果你已经成功登顶,恭喜你!但真正的目标在于利用你的洞察力和专业知识帮助团队成员也成为优秀的测试人员。登顶不仅是个人成就,更是团队成就。在攀登的过程中,我们会使用各种工具来提高效率。但工具只是手段,真正重要的是掌握“信息”。信息是攀登的关键,是超越顶峰的导航灯塔。只有掌握了真正有用的信息,我们才能在测试的道路上走得更远,帮助更多的团队成员一同走向成功。随着科技的飞速发展,测试人员在获取和处理信息方面变得异常依赖工具。真正决定成功的关键因素,并非工具本身,而是信息和如何利用这些信息的策略。对于攀登测试高峰的测试人员来说,掌握并理解特定类型的信息至关重要。接下来,我将探讨两种对测试至关重要的信息类型:来自应用程序的信息和来自先前测试的信息。
关于应用程序的信息,涵盖了诸多方面,如需求、结构、代码以及运行时信息等。测试人员在编写和执行测试用例时,必须将这些信息纳入考量。测试人员掌握的信息越多,他们的测试工作就越偏向于工程化而非随机猜测。例如,在微软的游戏测试组织(GTO)中,测试人员与开发人员紧密合作,利用特定的信息控制板来揭示游戏中的隐藏内容。这样,测试人员可以预知怪物的位置、物品的藏匿地点等,几乎拥有掌控游戏的能力。这种对信息的有效利用使他们能够更快、更精准地测试。
来自测试的信息意味着测试人员必须关注测试过程中的每一个细节,并运用这些信息来指导未来的测试工作。这包括了解测试与需求之间的结合程度、何时特定需求已获得足够的测试验证等。成熟的测试人员不仅使用代码覆盖率来影响未来的测试,而且能够理解当代码更新或缺陷被修复时哪些测试会受到冲击。在微软的一个团队中,通过使用代码改动量和代码覆盖率来指导测试,使得在代码实际变动时,只重新运行受影响的测试,大大提高了效率。
当你成功攀登到测试山峰的顶峰时,你已经具备了卓越的能力,相当于团队中所有人能力的总和。但我必须强调,无论你感觉自己多么出色,都不应试图超越整个团队。当你的视线移至下山之路时,应聚焦于如何帮助团队其他成员进步。这意味着将重心从单纯的测试转移到创新上,观察、洞察、找到瓶颈并改进整个团队的工作方式。你的角色逐渐转变为帮助他人成功攀越这座高峰的引路人。虽然可能没有引人注目的头衔如“测试架构师”,但你仍然可以为团队的成功做出贡献。不论角色名称如何,最重要的是确保更多的人能够成功攀登至顶峰的另一侧。这样的转变和贡献将是你走向专家之路的明证。
文章从网络整理,文章内容不代表本站观点,转账请注明【蓑衣网】