软件工程(软件测试) 是什么?
1、基本理论具有扎实的计算机专业知识,作为一名测试工程师,不能仅仅从使用者的角度来测试软件产品,而且还要从技术的角度来设计测试用例,这里所说的技术包括基础的与专业的,基础方面应需要学习过以下的课程:软件技术基础、C语言、面向对象设计、C++、数据库理论、计算机网络技术、软件工程、数据结构与算法、离散数学等;专业方面应掌握:软件测试技术概论、测试管理、测试工具、软件质量管理、CMM、RUP等等。
软件工程理由能够从事软件一切工作最基本的前提,是软件工程最基本的素质,这要求软件工程师必须精通高等数学、离散数学、电子学、编程语言、数据结构等课程。
软件本地化技术与软件国际化技术紧密相关,软件本地化又具有软件工程技术的通用特征,所以,有必要了解这些基础专业知识。
1)软件本地化/国际化的基本知识,包括:软件本地化/国际化的概念,软件本地化的作用,发展历史和行业前景等。
这些知识可以加深对该行业的认识,增加工作的主动性。
2)软件本地化工程的基础知识,包括软件本地化的一般工作流程,软件本地化资源文件的类型、作用和处理过程,计算机字符编码的知识,包括Unicode和双字节字符集(DBCS)知识,软件的图形用户界面(GUI)的类型和作用等。
2、基础技能包括熟练的计算机基础知识和良好的语言技能:1)装和配置常用操作系统知识软件本地化过程可能会在多种操作系统上执行,例如,经常需要在多个操作系统中对本地化软件进行测试。
熟练安装和配置常用操作系统是基本要求。
例如,操作系统Windows,Unix,Linux,Solaris。
2)计算机网络基础知识为了便于资源共享,需要在计算机网络环境下完成。
此外在与客户的交流过程中也需要因特网技术。
例如,下载软件本地化指导文档和其他相关文件,提交工作任务,测试某些软件功能。
因此,需要了解局域网和因特网基础知识,通信软件的使用和常用通信协议的基本知识。
3)通用软件的使用知识软件本地化需要使用多种软件工具,例如常用办公软件,包括字处理软件,表格处理、数据库管理和邮件管理软件等。
熟练安装和使用这些通用软件,可以提高工作效率和质量。
4) 良好的语言技能软件本地化是与语言密切相关的技术,涉及多种语言理解、表达和转换的多方面知识。
软件开发商提供的文档以英文为主,良好的阅读理解能力和基本的英语写作基础是从事本软件地化工作的基础技能。
如果与软件开发商直接联系,还需要英语听说表达能力。
3、 基础专业知识主要要是技术能力,如软件工程师需要1)编码能力:基础软件工程师的一个重要职责是把用户的需求功能用某种计算机语言予以实现。
编码能力直接决定了项目开发的效率。
这就要求软件工程师至少精通一门编程语言,比如当前国内企业常用的C/C++、VB和国际上最流行的Java语言,熟悉它的基本语法、技术特点和API(应用程序接口)。
2) 认识和运用数据库的能力信息是以数据为中心的,因此与数据库的交互在所有软件中都是必不可少的,了解数据库操作和编程是软件工程师需要具备的基本素质之一。
目前常用的数据库软件有甲骨文公司的Oracle数据库和微软公司的SQLServer等。
3)具有一定的编程经验测试工程师有时候需要对源码进行检查,有时候也会从程序结构的角度来测试软件,有时候需要写一些自动测试的工具软件,有时候需要写测试脚本,显而易见,会写简单代码,能读懂源码对测试人员来说是必须的,而且如果有一定的编程经验,可以帮助你对软件开发过程有较深入的理解,从编程人员的角度来正确地评价;但这一点在国内大部分公司里面是很难实现的,因为这意味着测试人员的salary要高于开发人员,很多BOSS会想不通的,而且也没那么高的觉悟。
4)具有软件工程的概念基础软件工程师处于软件企业人才金字塔的底层,是整个人才结构的基础,虽然他们从事的工作相对于系统分析师和高级程序员要单纯一些,但是他们是整个软件工程中重要的一环,因此,基础软件工程师同样要具有软件工程的概念。
从项目需求分析开始到安装调试完毕,基础软件工程师都必须能清楚地理解和把握这些过程,并能胜任各种环节的具体工作,这样的能力正好符合了当前企业对基础软件工程师的全面要求。
软件工程一般要学什么
大一学c语言,c+++,java ,还有数据结构 数字逻辑,汇编语言 第一学期:高等数学,计算机基础 第二学期:高等数学,C语言程序设计,逻辑电路与逻辑设计,线性代数 第三学期:离散数学,概率与数理统计 第四学期:计算机组成原理,数据结构,软件工程 第五学期:计算方法,操作系统,汇编语言 人工智能/JAVA语言 第六学期:算法分析与设计,数据库原理,编译原理 计算机网络/代数结构与组合数学 实时系统技术/Unix系统/软件构件技术/软件测试与维护 第七学期:软件项目管理,面向对象系统分析与统计 计算机图形学/信息检索与利用 电子商务/数据仓库与数据挖掘/软件过程能力评估/软件质量控制
什么是软件工程?
计算机工程从电子工程学科中分离出来,旨在研究计算机硬件的相关工程问题,而软件工程从计算机科学中的一个学科方向发展成为与之并重的一门独立学科,重点研究如何以系统的、可控的、高效的方式开发和维护高质量软件的问题。
1.软件工程的定义软件工程学科诞生后,人们为软件工程给出了不同的定义,例如最早的定义是由F.L. Bauer给出的,即“软件工程是为了经济地获得能够在实际机器上高效运行的、可靠的软件而建立和应用一系列坚实的软件工程原则”。
而美国梅隆卡耐基大学软件工程研究所(SEI)给出的定义则是软件工程是以工程的形式应用计算机科学和数学原理,从而经济有效地解决软件问题。
但目前普遍使用的软件工程定义是由IEEE给出的,即软件工程是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护。
软件工程概念实际存在两层含义,从狭义概念看,软件工程着重体现在软件过程中所采用的工程方法和管理体系,例如,引入成本核算、质量管理和项目管理等,即将软件产品开发看作是一项工程项目所需要的系统工程学和管理学。
从广义概念看,软件工程涵盖了软件生命周期中所有的工程方法、技术和工具,包括需求工程、设计、编程、测试和维护的全部内容,即完成一个软件产品所必备的思想、理论、方法、技术和工具。
2.软件工程的内涵软件工程学科包含为完成软件需求、设计、构建、测试和维护所需的知识、方法和工具。
软件工程不局限在理论之上,更重要在实践上,能够帮助软件组织协调团队、运用有限的资源,遵守已定义的软件工程规范,通过一系列可复用的、有效的方法,在规定的时间内达到预先设定的目标。
针对软件工程的实施,无论是采用什么样的方法和工具,先进的软件工程思想始终是最重要的。
只有在正确的工程思想指导下,才能制定正确的技术路线,才能正确地运用方法和工具达到软件工程或项目管理的既定目标。
3.软件工程是一门交叉性学科软件工程是一门交叉性的工程学科,它是将计算机科学、数学、工程学和管理学等基本原理应用于软件的开发与维护中,其重点在于大型软件的分析与评价、规格说明、设计和演化,同时涉及管理、质量、创新、标准、个人技能、团队协作和专业实践等。
从这个意义上看,软件工程可以看作由下列3部分组成。
计算机科学和数学用于构造软件的模型与算法;工程科学用于制定规范、设计范型、评估成本以及确定权衡等;管理科学用于计划、资源、质量、成本等管理。
例如,计算机辅助软件工程(Computer Aided Software Engineering,CASE)是一组工具和方法的集合,可以辅助软件生命周期各阶段进行的软件开发活动。
CASE吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。
这个例子也体现了这一点——软件工程是学科交叉的、集成和综合的领域。
4.软件工程学科范围如果从知识领域看,软件工程学科是以软件方法和技术为核心,涉及计算机的硬件体系、系统基础平台等相关领域,同时还要涉及一些应用领域和通用的管理学科、组织行为学科。
例如,通过应用领域的知识帮助我们理解用户的需求,从而可以根据需求来设计软件的功能。
在软件工程中必然要涉及组织中应用系统的部署和配置所面临的实际问题,同时又必须不断促进知识的更新和理论的创新。
为了真正解决实际问题,需要在理论和应用上获得最佳平衡。
先进、成熟的软件工程思想有哪些? 代码评审的最佳实践
软件工程(软件测试)专业怎么样?? 这个都学什么啊? 难吗?? 前...
劝你不要在学校学软件测试,在中国软件测试专业只有少量的学校开设这个专业(都开设不久,没经验,很不专业)。
软件测试是最近几年才兴起的新兴行业,社会上的培训学校已经有很多家也还不错,至少比学校好,毕尽人家做培训这么久了,但最好还是到软件测试公司实习。
做培训的也有很多通病,比如知识陈旧,模拟练习不够真实,学费贵学期长(赚钱嘛)。
真想学测试,建议先在学校学完开发后,再去一家软件测试公司实习学习测试。
有编程功底的测试工程师职业发展更快更好。
学的时间又短,内容也少,一点都不难。
前景嘛自己上网查,不多解释。
软件工程测试用例包括哪些
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。
典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。
同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。
这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。
研究领域有:软件架构、软件设计方法、软件领域建模、软件工程决策支持、软件工程教育、软件测试技术、自动化的软件设计和合成、基于组件的软件工程、计算机支持的协同工作、编程语言和软件工程、计算机网络、信息与通信安全、计算机图形学与人机交互、多媒体技术应用、人工智能与识别、嵌入式软件与应用、自动控制、分布式计算与网格计算、云计算技术、存储技术、数据库技术研究、计算机辅助设计与应用技术、大数据分析与处理
软件工程是学什么的,包括什么?
楼上的真麻烦,又从哪儿抄的贴子!你以为你上软工导论课呢?我来简单的介绍一下吧。
其实,开发软件并不简单只是编编程序(如果是那样,初、高中生就能完成了,要我们这些大学生干嘛),就象做生意(比如开商店),你总不会认为开商店就是站那儿卖货吧,你得先进行市场调研,再选店址,然后上货,卖货,当然还有售后服务),这是一个复杂的,系统的工程,一般包括以下几项:客户需求调查或市场调查、软件的框架设计、各框架的进一步细分,编写程序(内容很多,比如用什么语言,面向什么,设计模式等等),黑白盒测试,发布测试版,软件的交付以及售后服务,还有各阶段的文档总结(包括软件的帮助文件,注释等等),总之,就是一个软件从调研到最后发布的各中间过程,软件工程就是对这各种阶段的说明以及如何去实施各阶段,学好了它,对你今后的软件工程师之路是非常有用的,也是必需的。