怎么由功能测试转到自动化测试或者性能测试,自动化测试和性能测试两个方向哪个更好一些?
关于怎么转自动化测试和性能测试可以看看我的这两个live,当前自动化测试主要领域是介面测试自动化、app端图形界面自动化、web端图形界面自动化,建议三者选介面测试。
手工测试如何转向自动化测试?www.zhihu.com性能测试入门?www.zhihu.com要说哪个方向好:
介面测试是基础,
性能测试需求小,
介面测试入门易,
性能测试深度高,
介面测试应用广,
性能也要调介面,
介面也要看性能,
要是你在大公司,
性能测试专职岗,
要是你在小公司,
介面性能都要搞,
要说到底哪个好,
新人还得搞介面。
自动化测试和性能测试,这两个都挺好的。
两者对比的话,性能测试的难度要稍微大一点,但是性能测试是一个刚需岗位,毕竟性能测试是必需的,所以选择性能测试的话,市场需求是很大的。
再来看自动化测试,自动化测试范围比较大,不像性能测试,就是一个专项岗位,那么自动化测试分为App自动化(最近也是非常火热)、web自动化、介面测试等等。
选择自动化测试的话,测试工具也就变得非常重要了,那些主流的测试工具、资料库这些都需要去学习。
还是开头那句话,这两个都挺好的。
最后来一波,不管选择哪个方向,这里都有相关的视频学习资料,欢迎来撩啊。
客观的讲,手工测试转自动化测试难度不高,本质上是测试手段、方式的改变,并不是职业方向的转变。可以进一步引发出「软体手工测试如何转测试开发」的问题。
自动化测试也是功能测试的一种,只不过使用的工具和测试方式略有不同。
关于测试手段、方式的转变。现有的开源的、收费的工具非常多,无论开展UI、介面等自动化的学习成本不高,难度自然也相对比较简单。推荐了解下robot framework友好的支持了关键字驱动和数据驱动,可以满足不同测试对象的自动化开展,复杂场景的介面依赖也有很好的支持方式。这里特别说明一下,自动化测试的开展需要考虑在什么阶段以什么样的方式去做。比如在模块测试阶段或者功能不稳定的时候及早开展自动化会发现,随著功能的调整,自动化的维护成本过高,体验很差,等等。不要为了自动化而自动化,而是为了实现一套解决方案来解决某种问题而开展某种自动化,肯定是解决某些测试过程中的问题而引入自动化测试。
关于职业方向的转变。似乎不是仅仅掌握几个工具、写几个脚本来衡量的。
首先测试转测试开发,客观讲难度适中,比高考、考研投入、难度都低很多。测试与测试开发的核心工作都是保障软体产品的质量。测试转测试开发,比直接做测试开发有一定优势——对测试的理解和认识更深刻,有基础测试手段、测试流程有实际的应用经验。(有些测试开发更偏向于开发——基于既定测试需求的功能实现,易忽略测试场景、用户需求、测试流程等因素,使得开发出来的工具、框架、平台并不能很好的支撑手工测试,甚至会引入过多维护成本)。
其次关于测试开发本身必须要掌握的有哪些?根据很多公司的招聘信息中的岗位职责要求,我们也可以略知一二,其中刚需有:
- 掌握一门或多门的语言编码能力,推荐Python、Java。可以自学,网上教程非常多,多月多做,学以致用。
- 掌握一些测试工具,比如selenium、postman、robot framework,jmeter等等,先了解再考虑优先掌握哪些。
欢迎大家关注@Tester 与我的公众号:程序员一凡,为了追上曾经被给予厚望的自己,加油。
从功能到转到性能和自动化测试:
首先自己先考虑这两个方向的发展前景,还有就是自己在这个两个方面,那个测试自己接受能力更强。就从那个方面入手。
从大的方面上来看,性能测试的适用范围更加广泛。
因为基本上每个软体项目,在立项时都会有dao性能方面的要求。大部分情况下,也都是应该要做性能测试的。
当然功能测试更是不可缺少,但这一部分,更多的是以人工测试的方式来实施的。
因为自动化测试工具有其局限性。
这个局限性,不仅是指工具能不能做到的问题(我承认,现在一些专业的自动化测试工具已经做得应用范围很广了)。其实更多的是指工具实施起来值不值得的问题。换句话说,就是实施自动化测试的成本收益比,在大部分的场合,反而低于人工测试。详细原因不多说了,有兴趣自己去读一读软体测试的书,在谈到自动化测试时对此都有论述。
必须认识到测试是一项复杂的活动,并且手动测试永远无法用自动化全面替代。
有这个基础,下一步就是如何成为优秀自动化测试工程师的7个步骤。
- 自动化什么?
数据准备
如果您想自动化数据准备工作,请尝试了解资料库,常用到的「mysql」和「redis」等。 学习语言能力,我建议使用Python、Groovy或者java,这几种比较流行,当然您也选择其他编程语言。 尝试将您每天手动进行的一些数据准备工作自动化。
API测试
如果您想自动化API测试,可以学习如何使用「SOAP UI」 。深入了解「SOAP UI」的基础功能和脚本编写。或者尝试使用「Chrome」插件「Postman」,它非常简单,功能也足够满足测试需求。您可以在「postman」中使用「JavaScript」 编写各种各样的脚本,因此学习基本的「JavaScript」在使用「PostMan」中会让您如虎添翼。
Web应用程序测试
了解「HTML」的基础知识,以便可以定位元素。了解「HTML」之后,请学习「XPATH」。了解「CSS」的基础知识,以便您可以使用「CSS选择器」。
选择一种自动化框架,大多数人选择使用Selenium自动化测试以及基于
Selenium
的测试框架 + 一种编程语言(「Java
「或」Python
」)。Selenium
本身不会提供出色的报告功能,这点需要结合其他工具和框架,Selenium
以模拟用户操作行为测试「Web」页面。如何开始
- 学习最合适的编程语言基础,例如:如何学习Java基础
- 选择合适的应用程序的测试框架。
- 学习被测对象的基础知识。
- 选择一项重复性较高的日常任务。
- 使用选定的框架自动化任务。
如果你做完了足够的练习,那么接下来你可能需要的是一份针对整个项目的任务或者一份自动化的工作。祝你顺利!
FunTester:如何从手动测试转到自动化测试?zhuanlan.zhihu.com
推荐阅读: