做软件测试工程师需要学啥内容?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了做软件测试工程师需要学啥内容?相关的知识,希望对你有一定的参考价值。
很多人想要学习软件测试却不得其法,分享软件测试学习路线,帮助大家快速入行软件测试。
第一阶段
为软件测试环境配置与管理,你需要熟练掌握在物理机、虚拟机、容器下的快速部署测试环境的方法,完成SVN文件配置服务器搭建、LAMP环境搭建配置管理、Linux内核配置与定制、Docker&K8S搭建部署,获得全栈测试工程师必备技能——测试环境配置管理能力。
第二阶段
为全栈测试数据管理与数据库测试,你要熟练掌握主流数据库管理系统(DBMS)中的数据定义、数据控制与数据操作方法,完成电商平台数据库设计、ERP系统数据库设计两大项目,最终目的是获得在互联网行业与金融行业进行测试时应当具备的数据使用能力与数据操作能力,同时获得在主流数据库中进行数据库测试的能力。
第三阶段
为Web栈测试技术,你要熟练掌握Web前端的必备测试开发方法,要完成垂直领域电商前台项目测试,最终获得简单Web测试开发的能力,具备Web手工测试与Web自动化测试的必备能力。
第四阶段
为全栈通用测试技术,你要熟练掌握全栈测试的测试方法、熟悉软件测试流程,要完成协同办公平台系统测试、电商平台系统测试、教育实践平台系统测试、用友金融平台系统测试,最终掌握全栈测试通用技术的能力,获得全栈测试必备能力。
第五阶段
为测试开发技术,你要熟练掌握面向对象必备开发技术,完成B2B电商平台后台开发项目,最终获得面向对象的初级编程能力,同时具备进阶自动化测试与性能测试的必备能力。
第六阶段
为移动栈测试技术,你要熟练掌握移动端手工测试与自动化测试方法,要完成Android App测试项目,最终获得在移动端进行各项测试的能力,掌握主流移动端自动化测试工具的熟练使用能力。
第七阶段
为Web栈自动化测试技术,你要熟练掌握自动化测试框架构建与自动化测试脚本开发方法,熟练运用主流测试工具完成高效的自动化测试,要完成人力资源管理系统自动化测试,最终获得自动化测试的能力,掌握主流自动化测试工具的熟练使用能力,具有独立完成自动化测试脚本开发的能力。
第八阶段
为高级自动化测试技术,你要熟悉性能测试方法,熟练运用主流测试工具进行接口测试。要完成慕课(MOOC)系统性能测试、跨平台系统接口测试,最终获得性能测试、接口测试的必备能力,掌握性能测试与接口测试的高阶测试技术。
行业前景好:PC软件、互联网软件、手机软件、嵌入式软件、硬件等,都需要测试,只要有软件和硬件,就需要测试,现在市场上专业性强的软件测试工程师又比较稀少,软件测试发展前景好。
参考技术A 第一阶段:基础测试。掌握测试从业者必备的基础技能,能够更加高效的辅助测试工作。第二阶段:编程语言。java和python编程语言,具备最基本的编程思维、 掌握基础的编程技术、结合自动化框架相关技术才能达到企业的用人标准。
第三阶段:web自动化。熟练掌握Selenium框架、UnitTest、Page Object模式、数据驱动和日志收集、可满足企业级的Web自动化测试工作、根据市场反馈数据看、薪资普遍在12000-30000元/月。
第四阶段:App自动化。熟练掌握appium框架、pytest、PO模式、数据驱动和持续集成、可满足企业级的APP自动化测试工作、根据市场反馈数据看、薪资普遍在12000-30000元/月。
第五阶段:接口测试。熟练掌握postman、JMeter、requests、UnitTest、Mock测试和数据库操作、可满足企业级的接口自动化测试工作、根据市场反馈数据看、薪资普遍在12000-30000元/月。
第六阶段:性能测试。熟练掌握性能测试的理论和流程、能够使用Loadrunner开发对应的性能测试脚本、可满足企业级性能测试工作、根据市场反馈数据看、薪资普遍在18000-30000元/月。
第七阶段:数据结构+单元测试+sell脚本。对前几个阶段的总结以及延伸。学习完成后能更好的找到工作。 参考技术B 回答
你好很高兴为你解答问题 软件测试工程师需要具备的技能包含一下四个方面: 1、专业技能:包括测试专业技能、软件编辑技能、网络、操作系统、数据库、中间件等知识。 2、软件技能:包括对软件工程规则的理解、对计算机编程的了解、对操作系统知识的掌握。 3、交流技能:比如将产品测试的技术书写成文件。 4、组织技能:比如在理解技术和产品的基础上,开发出组织方式,对一些问题进行调整,让测试效果和效率更大化。
参考技术C第一阶段——测试环境运维
学习Linux操作系统的基本操作和命令应用,使用Shell脚本在Linux系统中编写基本的Shell程序,学习Docker容器的应用,学习在Linux系统中安装项目运行所需的各种软件。
第二阶段——数据库测试技术
学习MySQL数据库管理软件的应用,学习数据库的创建和删除操作,学习数据表的创建、修改、删除操作,学习数据的增加、修改、删除操作,学习数据的各种查询技术,比如简单查询、条件查询、使用聚合函数进行查询、多表连接查询、子查询等,数据库中的视图、索引等操作技术。
学习流行的非关系型数据库——缓存数据Redis技术,学习Redis中的数据类型,数据表的操作,数据的增加、删除、修改、查询等操作。
第三阶段——Web前端测试开发技术
学习Web前端开发技术中的HTML、H5、CSS和JS技术,学习HTML中各种标签、及其属性,学习表单和表单控件、表单提交的形式,学习CSS样式文件的编写语法和样式的应用;
学习JavaScript基本语法,语句结构,学习JS操作HTML页面的元素,对Web前端技术的开发形成完整的认识。
第四阶段——软件测试应用和项目实战
学习软件测试的基本概念、测试目的,学习测试流程中每一个测试环节,学习测试需求的分析和文档测试、静态测试,学习测试计划的编写和测试方案的制定,为测试工作的进行做好规划和监督;
学习测试用例的设计方法,例如等价类、边界值、场景法、正交实验法,其他测试用例设计,学习测试编写方法,学习测试管理系统——禅道的应用;
学习缺陷的发现和识别原理,学习编写缺陷报告。通过测试实战项目的进行,完成测试报告的总结和书写。学习软件测试和开发的各种过程模型,学习V、W、H、X等测试模型,学习瀑布、迭代、螺旋模型等开发过程模型。
第五阶段——Python自动化测试技术之Python基础
学习Python开发环境的配置,Python程序开发工具Pycharm、VSCode等工具的应用,学习Python中的数据类型和操作,学习编程中的逻辑语句和循环语句;
学习Python中的函数以及函数的4种参数传递方式;学习Python中文件操作和异常操作;学习Python中的面向对象程序设计方式和程序编写;Python中的封装、继承、多态等内容的应用;学习Python的一些算法和相关操作函数。
第六阶段——基于Python的Web端UI自动化测试技术
学习安装和配置、以及使用Selenium,学习使用Selenium IDE进行测试脚本的录制和自动化测试脚本代码的生成;学习使用Selenium的元素定位和识别技术进行HTML元素的识别;学习使用WebDriver的相关技术模块,学习浏览器的各种操作;学习自动化测试框架技术unittest和POM测试项目构建,学习Python自动化发送邮件,学习自动化测试中的参数化技术和断言技术。
第七阶段——移动端APP应用自动化测试技术
学习安装和配置Java的开发环境,学习使用Eclipse进行Java程序的开发;学习Java的基本语法结构,学习Java的数据类型,Java的运算符和语句结构,Java中的数据、字符串,学习Java的面向对象的程序设计,学习编写类,创建对象,学习对象的调用和操作。
学习Android开发环境的搭建和配置,学习Android系统下APP应用程序的基本构成和开发过程,学习Android系统下adb命令的稳定性测试和性能测试、还有Monkey测试的应用。学习使用Appium进行移动APP的自动化测试。
第八阶段——接口和接口自动化测试技术
学习接口的基本知识,学习HTTP协议的请求和响应相关知识;学习接口测试的基本原理和方法,学习接口测试的工具JMeter的应用,学习接口的发送、结果查看,学习jmeter进行接口自动化测试、postman、requests框架技术;学习抓包工具的应用
第九阶段——性能测试技术
学习性能测试的基本概念,性能测试的流程和脚本设计方法,学习性能测试的基本工具Loadrunner的应用,学习参数化和断言的脚本设计,学习IP地址欺骗技术,学习测试场景设计,学习并发测试设计,学习性能测试场景数据分析,学习使用工具进行回归测试,学习使用JMeter进行自动化测试。
参考技术D 需要学习掌握的技能有不少,比如尚脑的学习课程有:SQL Server数据库技术、Oracle数据库技术、JAVA编程、Windows操作系统和网络基础、软件测试基础理论、Linux操作系统及网络环境、质量管理工具禅道和缺陷管理工具JIRA、Jmeter、性能测试工具LR、Selenium、基于Python语言的Web接口开发与自动化测试、手机APP功能测试、手机APP性能测试、手机自动化测试工具、手机APP黑白盒测试、黑客技术于黑客事件渗透测试指南、信息收集与社会工程学等,还是要认真学习实践的。本回答被提问者采纳想学习Linux该学啥
Linux入门并不困难,只要具备Linux基础,读懂Linux的命令格式,大多数的服务架构都是可以按照文档部署出来。当然做Linux开发,如果自己没有学习方向和课程大纲还是比较困难的,个人建议去参加培训学习更有效率,如果报班学习则大概需要4-6个月时间。
学习主要内容有:
1)网络基础与linux系统的管理
2)优化及高可用技能
3)虚拟化与云平台技术
4)开发运维
毕业后可从事的工作有:
1)Linux运维工程师
2)数据库工程师
3)云计算运维工程师
4)自动化运维工程师
5)云计算架构工程师等
互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
参考技术A分五个阶段
1、婴儿 喂你 很慢
第一个月 linux基础
2、儿童 让你动手吃 慢
第二个月 搭建集群50-100台规模(8-10演示)给9天项目完成,述职打分
3、青少年 自己会吃 加快
第三个月 大规模搭建100-2000台集群开发
4、成年 自己会赚 会做 再快
第四个月 数据库(SQL) shell编程 Python基础
5、入职企业,企业IT节奏特别快
第五个月 云计算工程师
1) Linux运维岗位及工作内容
互联网Linux运维工程师是一个融合多学科(网络、系统、开发、数据库、安全、存储等)的综合性技术岗位,甚至还需要沟通、为人处世、培训、销售、管理等非技术能力,这给运维工程师提供了一个广阔的发展空间。
2) Linux运维工程师岗位职责
一般从企业入门到中级Linux运维工程师的工作大致有:挑选IDC机房及带宽、购买物理服务器或云服务、购买及使用CDN服务、搭建部署程序开发及用户的访问系统环境(例如:网站运行环境)、对数据进行备份及恢复、处理网站运行中的各种故障(例如:硬件故障、软件故障、服务故障、数据损坏及丢失等)、对网站的故障进行监控、解决网站运行的潜在安全问题、开发自动化脚本程序提高工作效率、规划网站架构、程序发布流程和规范,制定运维工作制度和规范、配合开发人员部署及调试产品研发需要的测试环境、代码发布等工作需求,公司如果较小可能还会兼职网管、网络工程师、数据库管理员、安全工程师、技术支持等职责。
涉及到的Linux平台上的运维工具有:Linux系统,Linux基础命令,Nginx,Apache,MySQL,PHP,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,OpenVPN,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,,K8S,Mongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,网络基础,Shell/Python开发基础等,除此之外还可能涉及到交换机、路由器、存储、安全、开发等知识。
运维工程师还包括一些低端的岗位,例:网络管理员、监控运维、IDC运维,值班运维
职业发展方向:Linux运维工程师、系统架构师、数据库工程师、运维开发工程师、系统网络安全工程师、运维经理、运维总监
3) Linux中级运维工程师应用软件阶段。
Linux系统,Linux基础命令,Nginx,Apache,MySQL,PHP,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,OpenVPN,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,Mongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,网络基础,Shell/Python开发基础
4)Linux运维架构师岗位职责
运维架构师是运维工程师的高级阶段,并没有明确的岗位界限区分,运维架构师一般来说是除了对运维工程师应用的开源工具熟练掌握之外,更多的是用思想来运维了,即DevOps的落地,各种企业运行过程中的解决方案提出和执行,例如:根据公司的现状可以设计各类运维解决方案的能力:
1、自动化代码上线(SVN/GIT+Jenkins+MVN)解决方案;
2、云计算部署架构及Docker微服务架构方案;
3、服务自动化扩容方案(KVM/OpenStack/Docker+Ansible+Zabbix);
4、10万并发的网站架构、秒杀系统的架构及解决发你个案;
5、多IDC机房互联方案、全网数据备份解决方案、账号统一认证方案;
6、数据库、存储及各重要服务节点的集群和高可用方案。
7、各网络服务的极端优化方案、服务解耦/拆分。
8、运维流程、制度、规范等的建设和推行。
9、沟通能力、培训能力、项目管理、业务需求分析及落地执行力等。
这里仅举几个例子,实际工作中会有更多,运维架构师的工作,其实就是解决企业中的用户访问量不断增大带来的痛点,最终达到高效、优质的为客户提供网站及业务服务。
总的来说:Linux运维架构师更多的是根据企业日益增长的访问量需求,利用若干运维工具组合加上经验思想,形成解决业务需求方案的阶段,当然也不排除对运维工具进行二次开发以及可视化展示运维数据的阶段(开发软件平台),这个阶段涉及的工具会非常多,几乎市面好用的开源工具都在备选之列,在一线城市互联网公司的薪资范围15000-50000/月。
职业方向:高级数据库工程师、运维开发工程师、运维经理、运维总监、技术总监
运维架构师:将多个工具组合,加上思想经验,形成方案,用思想和经验赚钱的阶段。
技术的提升仅是量的积累,思想的提升才是质的飞跃!——老男孩
5)数据库运维工程师
众所周知,数据几乎是所有企业的生命线,所以数据库工程师的地位和薪水一般会比普通运维工程师高一些,主要工作内容就是保证数据库数据的安全以及高效地为用户提供各种服务。工作内容主要有:数据库环境搭建、数据库优化、数据库
参考技术B 可以按照以下思路学习:第一阶段:linux基础入门
Linux基础入门主要包括: Linux硬件基础、Linux发展历史、Linux系统安装、xshell连接、xshell优化、SSH远程连接故障问题排查、L inux基础优化、Linux目录结构知识、Linux文件属性、Linux通配符、正则表达式、Linux系统权限等
第二阶段:linux系统管理进阶
linux系统管理进阶包括:Linux定时任务、Linux用户管理、Linux磁盘与文件系统、Linux三剑客之sed命令等。
第三阶段:Linux Shell基础
Linux Shell基础包括:Shell编程基础、Linux三剑客之awk命令等。
第四阶段:Linux网络基础
第五阶段:Linux网络服务
Linux网络服务包括:集群实战架构开始及环境准备、rsync数据同步服务、Linux全网备份项目、nfs网络存储服务精讲、inotify/sersync实时数据同步/nfs存储实时备份项目等。
第六阶段:Linux重要网络服务
Linux重要网络服务包括:http协议/www服务基础、nginx web介绍及基础实践、nginx web、lnmp环境部署/数据库异机迁移/共享数据异机迁移到NFS系统、nginx负载均衡、keepalived高可用等。
第七阶段:Ansible自动化运维与Zabbix监控
Ansible自动化运维与Zabbix监控包括: SSH服务秘钥认证、ansible批量自动化管理集群、 zabbix监控等。
第九阶段:大规模集群高可用服务(Lvs、Keepalived)
第十阶段:Java Tomcat服务及防火墙Iptables
第十一阶段:MySQL DBA高级应用实践
MySQL DBA高级应用实践包括:MySQL数据库入门基础命令、MySQL数据库进阶备份恢复、MySQL数据库深入事务引擎、MySQL数据库优化SQL语句优化、MySQL数据库集群主从复制/读写分离、MySQL数据库高可用/mha/keepalved等。
第十二阶段:高性能数据库Redis和Memcached课程
第十三阶段:Linux大规模集群架构构建(200台)
第十四阶段:Linux Shell编程企业案例实战
第十五阶段:企业级代码发布上线方案(SVN和Git)
第十六阶段企业级Kvm虚拟化与OpenStack云计算
第十七阶段公有云阿里云8大组件构建集群实战
第十八阶段:Docker技术企业应用实践
第十九阶段:Python自动化入门及进阶
第二十阶段:职业规划与高薪就业指导 参考技术C
linux学习内容
第1阶段:零基础入门
第2阶段:linux系统管理&shell
第3阶段:百万级访问量集群实战
第4阶段:千万级访问量核心集群实战
第5阶段:一切核心技术的底层支持:云计算集群
第6阶段:大数据运维
第7阶段:Python自动化和毕业指导
参考技术D 先学环境搭建,虚拟机或者系统安装。然后学基本命令和目录结构。
再往后就看发展方向了,智能硬件开发的话,要学ARM,数电,模电,C语言。
Linux运维的话就要学服务器配置与维护。要学什么的话,可以找几本书看看,鸟哥Linux和老男孩运维的都不错。网上有PDF的。
以上是关于做软件测试工程师需要学啥内容?的主要内容,如果未能解决你的问题,请参考以下文章