学习软件测试需要学什么技术以及具体岗位划分
推荐答案
同学,您好!如果说开发的任务是盖房子,那么测试的任务就是综合验证房子的材料、设计图纸(文件)、外观、抗震性、舒适度等,并得到一份“质检报告”。下面主要介绍学习软件测试需要学什么技术以及具体岗位划分。
学习软件测试需要学习哪些技术?
1、开发能力:JAVA(集合、泛型、基础知识、调试、代码阅读)、JavaScriptCSSHTML(基础知识,可以结合知识实现项目)、Python(基础知识);
2、框架:SpringBoot、SpringMVC; 浏览器;
3、开发成果:可独立开发JAVAWEB后台系统、前端项目、管理系统;
4.兴趣爱好:机器学习(了解常见的机器学习知识和算法原理,简单的机器学习实现);
5、计算机网络知识:TCPIP协议(HTTP、DNS);
6、操作系统:LINUX服务器常用命令、服务器硬件指标分析、shell编程基础;
7、中间件:TOMCAT、NGINX(负载均衡,结合keepalive高可用架构)、Mycat(分表分库)、Redis、Zookeeper;
8、数据库:OracleMySQL,复杂查询;
9、测试工具:JMeter、Postman等;
10、版本管理:GIT、SVN;
11、调度工具:JENKINS(理解);
12、大数据:Hadoop(理解架构)、Hive。
测试岗位的具体划分
1.功能测试工程师
功能测试的重点是测试用例的设计。测试用例的设计取决于测试人员对产品需求的理解; 对产品需求的理解取决于测试人员对业务的“接受”。这也是功能测试开发经常遇到“瓶颈”的原因。 太多的项目只是反复学习不同的业务; 因此,功能测试工程师往往需要具备一定的测试管理能力,掌握一定的测试策略,开发渠道一般是管理方向。
2.性能测试工程师
产品实际上是指产品的功能和质量两个方面。 功能是竞争力的首要要素。当用户购买一个产品时,他首先购买的是它的功能,即实现它所需要的某种行为的能力。质量是指产品在使用期内实现其功能和维持其功能的程度。 质量可以定义为“功能的实现程度和耐久性的度量”。
性能测试往往要求测试工程师不仅要具备产品的基本功能和业务知识,还要对产品“身处”(部署)的环境有一定的了解。 这就需要性能测试工程师掌握一定的系统知识,比如服务器硬件知识(CPU、MEM、NETWORK、IO)、数据库(ORACLE、MYSQL)、中间件(TOMCAT、NGINX)、操作系统等知识。
3、自动化测试工程师
反复的手工测试势必会让测试人员开始思考人生。几乎每个测试人员在工作中都会遇到一些重复性高、必须要做的工作,比如回归测试、冒烟测试等; 可以从变化不大的工作中解放出来; 比如web自动化测试,可以通过selenium编写测试脚本,编写一次后,可以在变化不大的任务中反复使用。
4.测试开发工程师
测试开发岗位的目的是为了让测试工程师更高效、更快速地进行测试工作; 测试开发岗位一般都需要一定的开发能力,其中解决问题的能力尤为重要。比如我们项目组的测试开发小伙伴经常开发一些脚本自动生成工具供我们使用,直接提高了我们的测试效率,间接缩短了测试周期,可以更好更快的把产品交付给客户。
学习软件测试需要学什么技术?以上知识都在工作中得到了体现和应用。当然,有些测试工作可能不需要掌握,也仅限于“使用”。