查看原文
其他

抛砖引玉,讨论如何更好地为测试而学

Test Ninja 软件质量报道 2022-06-03


从事IT行业工作的人都清楚“学习是最重要的能力”,而且要保持终身学习、终身成长,才不会产生35岁的严重危机感,也不至于被这个快速发展的社会所抛弃。

如果是从事软件测试的同学,这种职业的危机感感觉更强烈( DevOps兴起意味着专职测试人员消失?),所以不少测试同学热爱学习,寻求各种机会学习,参加各种沙龙、在线公开课,购买各种课程和图书,不断练习Python、Java、Go等编程,熟悉各种测试工具,努力让自己无所不能,成为一名全栈型测试工程师

学习,其实是有方法的,从早期的行为心理学研究开始,逐步深入到认知心理学、建构主义、连接主义等各种研究,学习方法不断推陈出新,但其中最重要的还是要有积极的态度、良好的思维方式,会反思、不断练习和总结,实践出真知,学以致用,将所学的东西转换成自己的经验和能力的一部分。

回到测试领域,又如何更好地为测试而学呢?

首先,需要加强思维技能(Thinking Skills)的训练,思维方式决定了自己的学习能力和测试行为,而人的思维能力是可以通过训练来提升的。思维训练的结果,可以让你具有更广阔的视野,对问题有更深层次的理解,提升认知,找到更多或更好的解决问题的方法。
 
为了做好测试工作,我们需要具备哪些思维能力呢?我认为主要有:成长性思维系统性思维(结构化思维)、创造性思维(包含发散性思维、逆向思维等)、批判性思维用户思维。这方面的训练,本公众号之前有很多文章已经触及到了,如:
 
还有同学说我绘制的“ 软件测试全景图 ”是系统性思维的最佳呈现,因为它全面系统地展示了什么是软件测试,也代表了我对软件测试的看法。

测试思维训练算软技能,大家也许更关注“硬技能”的学习,可以立竿见影,很快产生效果,更好应对面试和工作上的挑战。甚至有人说,你可以不懂测试,但是不能不懂测试自动化这话肯定不对但多少说出了当前的行业现实:重测试开发、轻手工测试。但也不能否定测试自动化的重要性,今天大家更关注敏捷、更关注持续集成/持续交付(CI/CD),而自动化测试是它们的基础,所以对于测试人员的自动化技能要求很高。

测试自动化能力的培养主要靠自己多练习、多实践,循序渐进。例如,可以先学会搭建和使用测试工具一般来说,官网上的资料已经够详尽完备,学习用 Python、Java 等语言编写测试脚本(这方面资料就更不缺),再学习测试工具和测试框架的开发和优化,以及完成自动化测试和持续集成环境的集成。如果带团队,还需要负责制定和实施整个团队的自动化测试策略。

学习,除了自学、在工作/实践中学之外还要走出去,参加会议、沙龙,这样可以结识更多的测试同行及相关领域的专家,通过和他们交流,检验自己的思考和认知,同时提升自己的认知水平,获得更多的新思想和新知识。另外,也可以从国外测试大咖的博客中吸取营养。例如,我在 2013 年 CSDN 的博客里发表了一篇文章,总结了“软件测试 Top 120 Blog”,这里我重点推荐几个敏捷测试相关的博客
  • Michael Bolton 的博客:Michael 和 James Bach 共同开发了快速软件测试的测试方法,他的博客主要介绍了上下文驱动、探索式测试等内容。
  • James Bach 的博客:主要也介绍了上下文驱动、探索式测试等内容。
  • Lisa Crispin 的博客:第 5 讲讨论的两本敏捷测试作者之一,有关敏捷测试的内容比较多。
  • Lisa 和 Janet Gregory 还有一个关于敏捷测试的共同博客,我就是在这里找到了她们对敏捷测试的定义。
  • Alan Page 的博客:Alan 是《微软软件测试之道》的主要作者,和 Brent Jensen 共同提出了现代测试的七个原则。
 
测试的学习,也不要局限于测试,不要局限于和测试相关的软件质量、敏捷开发、持续交付及 DevOps 等,需要扩展到产品设计、数学、心理学、社会学、哲学等。在 她们才是这个时代的女神:以亲身体验谈女性职业成长和女性领导力 文章中介绍的女神们,她们推荐的书,没有一本是软件测试的书,甚至没有一本IT图书。

如何更好地为测试而学,还要了解各种测试能力逐步上升的通道大厂的职业发展路径所需的各种技能,循序渐进,逐步提升自己,因为冰冻非一日之寒,能力的提升也是一个快速迭代的过程。你不妨先可以看看 软件测试能力图谱 , 后续可以分享大厂的职业通道需的各种技能。


最后,推荐一个精彩活动

  • 先在本文后面留言,分享你的学习方法;
  • 转发该文章,让朋友在你留言上点赞,支持你的观点;
  • 截止2020年4月7日晚上22点,留言点赞前6位,免费获得价值98元的《高效敏捷测试49讲》专栏优听课券。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存