软件技术需要哪些职业能力
一、软件技术需要哪些职业能力
这是我精心收集的资料,有点多,如你真要向测试方向发展请耐心看下去吧!
答: 软件测试真的进入门槛比较低吗?
这是相对而言的,你要有一定的计算机基础和测试基础才行的,不过都挺基础的,说低也行吧。主要包括:
计算机专业技能
计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面:
测试专业技能
现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
软件编程技能
“测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。
软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。
网络、操作系统、数据库、中间件等知识:
与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。
作为一名测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的知识
二、要当Java工程师,需要掌握什么技能?
Java工程师需要掌握的技能还是比较多的。技能傍身才能较好的应对工作,而且不同的Java开发岗位对于面试者的需求也是不一样的。
相关技能可以参考如下:
第一阶段,Java核心基础:
1.深入理解Java面向对象思想
2.掌握开发中常用基础API
3.熟练使用集合框架、IO流、异常
4.能够基于JDK8开发
第二阶段,数据库关键技术
1.掌握最流行关系型数据MySQL常见操作
2.熟练增删改查数据处理
3.掌握Java JDBC、连接池操作
第三阶段,Web网页技术
1.掌握基本的JavaWeb基础知识JSP/Servlet/jQuery等
2.具备基本的B/S结构软件开发能力
3.可以动手开发一个B/S架构的Web项目
第四阶段,开发必备框架&技术
1.掌握SSM框架技术
2.掌握使用Maven进行模块的开发
3.熟悉基本的Linux命令以及Linux服务器的使用
4.掌握高级缓存技术Redis的原理,并熟练使用
第五阶段,互联网高级技术
分布式管理系统、Keepalived+Nginx主备、微服务架构技术、消息中间件技术、MySQL调优、高并发技术、性能优化、内存和GC等
第六阶段,前沿技术&大型企业级项目
edis的原理,并熟练使用
三、从事软件开发和编程需要哪些技能
几种流行编程语言的对比分析
1.VB:是新人开发与系统无关的综合应用程序的首选;容易使用和厂商财力很强是其仅有的两点优势。VB开发效率高,代码执行效率一般,但是入门和学习速度快,有较好的学习氛围和帮助书籍和帮助文档。但是随着微软的.net技术的推广,VB将会逐渐推出历史舞台。
2. PB:是开发大型MIS及各类数据库跨平台应用的首选;从数据库前端工具来讲甚至远远超过了Oracle的Develop系列等专门的工具;从通用语言角度来讲功能也与VB等不相上下;多媒体和网络功能与其他工具相比较弱。
PB最大的优势就是Datawindow技术的成熟和方便,他成为PB与其他数据库开发工具抗衡的资本。同时PB在对JAVA和WEB,以及面向对象方面的发展也可以预见PB将成继续成为数据库系统(特别是MIS系统)开发工具的首选。同时PB的强大帮助文档也为初学者提供了入门基础,PB连接数据库的自由和方面也为PB的提供了方便,同时PB对API的调用以及对报表的处理强大。但是PB的高级编程书籍的缺乏和基础语言PowerScript的普及程度对PB的明天有一定的限制。
3. C++ Builder/Dephi:是唯一一套能够同时适用于开发数据库应用、网络及Web应用、分布式应用、可重用组件、系统软件、驱动程序、多媒体及游戏等所有软件的高效率开发环境;VCL源码基于Object Pascal是C++ Builder 唯一的缺憾,基础语言不够通用和开发系统软件功能不足是Dephi仅有的两点不足。
4. VC:从功能上讲除了跨平台应用外什么都可开发;从开发效率角度讲只局限于开发windows系统应用、可重用组件及驱动程序。 又因为有微软的支持,其自身的基础语言的普及程度高,以及其代码的执行效率高等特性、VC自带强大帮助文档和大量优质教材,VC在数据库开发工具中始终可以稳住阵角。
5. JAVA:适用于开发除了系统软件、驱动程序、高性能实时系统、大规模图像处理以外所有的应用。在一般的管理信息系统中和一般的数据库开发中,很少有人会选择JAVA,一是由于其开发环境的配置较难,已经和数据库连接时较为负责。
VB可视化程序设计语言。全称Visual Basic,它是以Basic语言作为其基本语言的一种可视化编程工具。在中国乃至全世界都曾看到过它的身影,它曾是在中国最为流行的编程工具,到现在还占据着非常重要的地位,对于它的好坏大家都有一定的了解,VB作为一种较早出现的开发程序以其容易学习,开发效率较高,具有完善的帮助系统等优点曾影响了好几代编程人员,但是由于VB不具备跨平台这个特性,从而也决定了VB在未来的软件开发中将会逐渐地退出其历史舞台;它对组件技术的支持是基于COM和ActiveX,对于组件技术不断完善发展的今天,它也显出了它的落后性;同时VB在进行系统底层开发的时候也是相对复杂的,调用API函数需声明,调用不方便,不能进行DDK编程,不可能深入Ring0编程,不能嵌套汇编;而且面向对象的特性差;网络功能和数据库功能也没有非常特出的表现,综上所述,VB作为一种可视化的开发工具由于其本身的局限性,导致了它在未来软件开发中逐步被其他工具所代替
特点:
面向对象
事件驱动
软件的集成式开发
结构化的程序设计语言
强大的数据库访问功能
支持对象的链接与嵌入技术
网络功能
对个应用程序向导
支持动态交换、动态链接技术
联机帮助功能