或许还有一些人认为软件测试的门槛很低,低到任何人都可以做,随便点点就可以了。这里需要澄清一下,不管哪一类测试岗位,如果做深做精都需要下功夫,只是精通的方向不同。试问一下如果让一个什么都不懂、一点业务基础都没有的人去做测试,能测出来问题吗?不要忽略你的业务知识储备,你的业务知识储备能让你成为不可替代的行业专家。
同样地,想掌握或做好自动化测试也不是那么容易的,下面笔者根据自身经验,针对如何做好自动化测试需要哪些关键能力给出几点建议,算是对仍处在迷茫阶段不知如何提升自动化测试能力同学的一些参考指引。
1) 编码开发能力
需要掌握一门开发语言,如 Java、Python、Ruby、C#。对于任何一个优秀的测试工程师来说,编码能力是必备的技能。如何提升自己的编码能力?没有什么捷径,就是要多练习、多总结,练习是真正的动手去做而不是看。
现实中有很多人都存在一个问题,平时很主动地参加一些线下培训课程、在线听免费公开课,听起来感觉很简单,不以为然,但当自己下课后练习时却出现各种问题,很简单的知识点要练一天,所以一定要多练习,每次犯过的错误也都要及时总结。
2) 熟悉被测系统
对自己的测试系统要足够熟悉,比如你要测试 Web 系统,就要学习了解 JavaScript、CSS、HTML、XPath 相关知识。如果你要测试移动端系统,就得具备 Android 开发基础和 iOS 开发基础。如果你要测试 C/S 系统,就要熟悉 TCP、IP 等协议。总之,一切脱离业务的自动化测试都是“耍流氓”,需要从多方面尽可能去熟悉自己的被测系统。
3) 掌握一套自动化测试框架/工具
这里提到的掌握测试框架或工具不仅局限于会使用,还要去学习理解自动化测试框架本身的设计思路,以及解决问题的方法。推荐刚开始接触自动化测试的人,可以多从开源的测试框架入手,多阅读框架源码,理解框架的实现。常见的开源自动化测试框架有 Selenium、Appium、Robot Framework 等。
4) 善于学习,达到知其然必知其所以然
IT 行业变化太快,每隔一段时间就会出现一些新兴的东西,原来很火的东西也会逐渐没落,谁也无法预测。就如同曾经 QTP 很火、曾经 Selenium 也很火,现在 Appium 很火。软件行业从桌面软件到 Web 端,又从 Web 端迁移到移动端,谁也不知道下一个是什么。
而我们作为软件行业的从业者,不能因为那些很火的东西不火了而让自己没落,一个人最核心的能力就是学习能力,如果你善于学习,就不必担心这些变迁,因为你可以毫无压力地迁移。
5) 逻辑思维能力
有了编码能力之后就能做好自动化测试了吗?显然不能,因为自动化测试最终希望建立一个框架或者平台,这是一个大工程,一定要有较强的逻辑思维能力和设计能力才行。就好比,你会焊接技术但不代表你会设计汽车。
所以自动化测试真正的难点在于设计思想,只有当你具备总体框架设计的思维能力,才能利用所学的语言去实现。一点经验都没有的朋友做起来确实会比较吃力,所以培养技术能力和逻辑思维能力之后再学自动化测试会事半功倍。
知识小结
不要迷恋自动化测试工具,要学好开发语言。当你把编程学好后,知道功能是如何开发出来的,很多测试问题自然就通了。理论上不管你写的是单元测试自动化、接口测试自动化,还是 UI 测试自动化,都属于开发行为,只是带着测试的思维在写测试代码而已。
代码要多写,写得多了,自然思想就来了,代码结构的设计能力也来了。具体该学哪个语言呢?目前主流的开发语言都行,你们开发用 Java,你就可以学 Java;你们开发用 Python,你就可以学 Python。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取