You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
7.6 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 结束语 如何成为一名优秀的测试工程师?
你好,我是陈磊。
不知不觉中,我们已经相伴一起学完了接口测试的全部课程,我相信,你现在已经能独立完成绝大部分接口测试的工作了。在这最后一节课呢,我不想再和你说接口测试乃至测试框架还应该做什么,而是想来和你聊聊如何成为一名优秀的软件测试工程师。
在前面的课程中,我一直在和你说测试工程师是个技术岗位,不是“点工”。在把我们的课程全部都学完后,你现在是不是深有同感?因为就接口测试这件小事我们都可以学习这么久,从接口是什么、如何开始接口测试开始,到后来的用工具和代码解决测试问题,直到最后的参数数据层的封装、外部解耦服务的使用等等。
在我们课程的留言中,有这样一个问题:“接口测试能力的高低体现在哪里?”其实,评价一个接口测试人员的能力水平,主要就是看他解决问题的能力如何, 这也包括了他技术栈的熟练程度,测试用例方法以及业务知识的掌握程度。在专栏的全部课程中,我们一起经历了接口测试从简单到深入的过程,而这个过程呢,其实也说明了测试工程师在各个阶段应该达到的能力。这样,测试工程师就可以划分为初级测试工程师、中级测试工程师和高级测试工程师。
**初级测试工程师。**他应该懂得接口测试,可以使用接口测试工具完成接口测试任务;他也要有接口测试的思维,能够将这种思维在实际项目中应用落地。
你也许会质疑这个要求:对于一个初级测试工程师,这会不会太难了?但就像我之前说过的,如果你现在去查一些涉及测试工程师的招聘需求,你就可以看到这项要求,现实就是如此,这部分内容也是我在“初级技能篇”中教给你的东西。
**中级测试工程师。**他要能编写测试代码,可以使用一种编程语言完成接口测试任务。
这短短两句话的要求其实需要很多努力。首先是编码的能力,这在很多测试面前是一个难以逾越的鸿沟,但是如果你跨过这个鸿沟,你就会发现后面会一马平川。
其次,能用编程语言模拟测试协议并完成测试,这确实需要你多了解一下对应编程语言的支持库。
最后,也是最难的要求了,你要能把接口测试思维和技术栈结合一起,并遵从以后的内部编码规范,约束开发的脚本,这其实也是我在“综合技能篇”中给你讲的内容。
**高级测试工程师。**他必须有能力封装适合团队的测试框架,并能提供给持续集成、持续交付平台调用。
要保持自己高级测试工程师的段位,你需要不断努力,不断学习和总结,时刻保持作为一个测试框架维护者的心。在这里,测试框架封装主要就是我在“进阶技能篇”中教给你的框架的抽象,参数化的设计,不同接口、不同协议的支持等内容。
**那么如何使自己不断成长为高级测试工程师呢?**
在留言区,我也看到了很多人对测试工作感到迷茫和困惑,有些人困惑于长期的手动功能测试,自己技术上没有提升,有想学习技术的想法却又不知道如何开始学习;还有些人学了一些技术,却不知道如何把这些技术应用到实际项目中,产生了学习和工作之间的分层,不能学以致用。
其实,在工作中有困惑不是一件坏事,这反而说明你是一个在不断成长的人,因为只有发现问题才能去解决问题。
就接口测试来说学习路线就如同我在专栏中讲解的一样从整理输入到使用工具再到封装框架来完成测试任务这其实也是一个技术的实践路线。如果你不知道如何将这些内容和工作结合到一起不妨试试我在一开始说过的Postman这类小工具用它敲开你的接口测试任务大门随着工作的不断深入后续你在写测试脚本和封装框架也就慢慢水到渠成了。所谓的高级测试工程师也就是这样一步步修炼出来的。
与此同时,我也希望你能通过我们这个专栏的学习思路,学会怎么去掌握任何一项陌生的测试技术,因为这些测试工作的内容可能有所不同,但学习的方法和思路却可以是共通的。
我建议你可以通过三步来规划你的学习:
1. 从实际动手开始学习测试技术。你最好还是从一个实际例子出发开始学习这就和大部分编程语言都从Hello World开始一样。直击问题这样才更能激发你的学习兴趣。
2. 不断遇见问题,不断解决问题。你在实际工作中,肯定会遇见很多问题,你一定要一个一个去解决,并不断地从问题中总结可复用的经验,这样就会形成一套你自己独特的学习思路,以及更适合你自己的技术学习方法,更重要的是,这样学习更不容易遗忘。
3. 掌握理论知识。我之所以将理论知识的学习放到最后,是因为当你知道如何用一个测试技术解决问题的时候,再去学习理论,就不会出现由于理论枯燥、记不住而放弃学习这样的情况了。同时,实践后再学习理论,每看到一个知识点你就会有“原来是这样实现的啊”这种感觉,你就很容易理解并记住它了。
所以说到这,你完全可以把接口测试看作是你技术学习的起点,而不是终点。
我也希望我的课程设计对于你未来的技术学习有一些帮助,在工作中,你肯定会遇见各种各样的新问题,你完全不必担心,因为任何一门技术都是由于工作中出现了痛点,接着才会推动整个技术向前发展,你只要时刻关注自己在工作中碰到的具体问题,还有阻塞工作的问题点,然后学习用技术手段解决问题就可以了。
那么如何解决新问题呢?我建议你学会从自己熟悉的内容出发,在自己的技术或者实践经验基础上去解决。就如同在接口测试中,即使你没有理想的接口测试文档,你也能借助自己熟悉的工具完成接口分析,然后逐渐封装出自己的测试框架。并由此慢慢掌握一个你不是很熟悉的解决问题的方法,最后通过不断地实践积累,不断增加你自己测试框架的测试能力,让它也和你一样,不断解决测试中碰到的新问题。
我们一起学习了这么长的时间,但终归是要为我们的课程画上一个句号,现在我希望你思考一下这几个问题:
1. 你最初在留言区立下的目标实现了吗?
2. 你的测试框架的名字是不是已经有了一个实际的测试框架来承载呢?
3. 你掌握接口测试的思维了吗?
4. 你掌握了如何学习一项测试技术的方法,并将它应用到实际工作中了吗?
上面这些问题你只要在心里默默有了答案就好,如果绝大部分问题你都有了肯定答案,那么我要恭喜你并欢迎你走入测试技术的大门,你的未来十分可期。
如果你对接口测试或者其他测试技术还有心得或者问题,那么你要记得,我会一直在留言区等你,这里还有很多和我们一起学习和分享的人,你可以随时回来,和他们分享你的问题和困惑,当然也包括你的成功。
如果这个专栏曾经帮到了你,或正在帮助着你,也欢迎你把它分享给你的朋友和同事,我们一起沟通、探讨。我是陈磊,在前行的路上,记住,你永远也不孤单。