java开发工程师要求必须要学的技术有哪些?

& & & & 编程专业相对于计算机领域其他专业来讲,是一门比较难以修炼的专业,此专业如果想要大成,需要修行之人心性极佳,踏踏实实,耐得住寂寞,受得住冷落。所以一位优秀的是非常难得的。老师就是编程专业出身,并且有很多从事编程的朋友,总结了一下,一位优秀的开发工程师需要身怀以下十项技能:
& & & 1、语法:必须比较熟悉,在写代码的时候,IDE(Integrated&Development&Environment,集成开发环境的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误,并且知道任何修正。
  2、命令:必须熟悉JDK(Java&Development&Kit,Java开发工具箱&&JDK&是整个的核心,包括了运行环境,工具和基础的类库。是学好的第一步。带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、&java、javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。
  3、工具:必须至少熟练使用一种IDE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。
  4、API(,应用程序编程接口):Java的核心API是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用Java,包括:
  java.lang包下的80%以上的类的功能的灵活运用。
  java.util包下的80%以上的类的灵活运用,特别是集合类体系、规则表达式、zip、以及时间、随机数、属性、资源和Timer.
  java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合。
  java.math包下的100%的内容。
  java.net包下的60%以上的内容,对各个类的功能比较熟悉。
  java.text包下的60%以上的内容,特别是各种格式化类。
  熟练运用JDBC.&80%、java.security包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java.
  AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。
  Swing的基本内容,和AWT的要求类似。
  XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。
  5、测试:Junit测试是程序员测试,即所谓白盒测试。一位合格的Java开发工程师必须熟悉使用junit编写测试用例完成代码的自动测试。
  6、管理:必须熟悉使用Ant(中文译为蚂蚁,是一种基于的工具。)完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。
  7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。
  8、思想:必须掌握OOP(,面向对象编程)的主要要求,这样使用Java开发的系统才能是真正的Java系统。
  9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。
 & 10、博学:掌握J2EE&、&、WebLogic、Jboss、Spring、Struts、Hibernate&等流行技术,掌握软件架构设计思想、搜索引擎优化、缓存系统设计、网站负载均衡、系统性能调优等实用技术。
转载请注明源自
相关IT学生网新闻 & & &
& (06/28/:47)
& (06/14/:42)
& (03/16/:56)
& (06/21/:10)
& (05/24/:34)
IT学生网本文评论    (0)
IT学生网会员点评:
同意IT学生网评论声明
IT学生网评论声明
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
IT学生网内容分类
IT学生网Digg排行
IT学生网本周热门内容要想成为java软件工程师,要学哪些知识
如题,要想成为java软件工程师,要学哪些知识
jsp/asp/php,
JavaScript,
hibernate,
数据库(Oracle/sqlserver/mysql/db2)等等
Java入门简单,但是要学的东西很多
首先,工程师泛滥,尤其前面加个JAVA,呵呵。
至少google、baidu搜一下,就有很多你这样的问题,太多了。。。
如果你是持之以恒的人,在这问要学什么没必要,研究学什么的功夫都可以学很多了。
学的东西很多,要能真正成为一个JAVA软件工程师是要掌握很多东西,数据库,样式表,脚本语言等等很多
1、首先要学习java的基础知识。
不要被新技术迷惑,所谓万变不离其宗,新技术都是基于java的基础之上,如果基础不扎实,对于这些新技术的理解也是一知半解,学不到根源。
2、做一个java项目
在学习完java的基础知识之后,做一个java项目来巩固一下,在项目中你会发现很多问题,通过解决问题,加深基础知识的掌握。
3、学习数据库的基础知识和开发应用
软件开发离不了数据库,掌握几种流行的数据库:Oracle、SQLserver、MySQL等。
4、JEE基础
在这里首先要学习网站基础,包括HTML、DHTML、JavaScript;接着要学习XML,XML JAXP;然后学习JEE基础,包括JEE开发环境,RMI/IIOP、JNDI;最后学习JDBC数据库的应用开发。
5、web开发
全面的JEE的web开发知识:Servlet JSP javaBean TagLib,到这里做一个完整的web应用项目开发。
6、EJB开发
包含全面的EJB知识:1)EJB入门和无状态会话Bean;2)有状态会话Bean;3)BMP和CMP是实体Bean;4)jms和MessageDrivenBean;5)事物和安全(JTA、JTS和JAAS);6)WebService的开发和应用;
7、开源框架的学习
学习几种现在流行的开源框架:Struts、Spring、Hibernian、Webwork等。完整的学习这些框架的开发和应用。如果有兴趣还可以学习Ibati框架、AJAX技术和DWR框架的开发和应用。
8、JEE项目
综合应用JEE的知识来开发一个完整的应用。
9、面向对象分析与设计
java是一种面向对象的语言,所以要深入学习面向对象的分析与设计,另外还要学习UML统一建模语言。
10、接下来就是系统设计与架构
这里要学习的是Java设计模式、EJB设计模式、JEE核心设计模式、JEE应用程序框架设计。
11、软件工程
软件工程基本理论知识的学习,还有Rup和极限编程。
12、技术研究
学习搜索引擎技术:如Lucene等、工作流技术:包含Shark、JBPM等、SOA架构和应用。
13、综合项目实战
实现一个企业级的应用。
每个阶段在做项目的基础上牢固的掌握应用到的知识,只有在实际的应用中发现问题,加深所学的知识。
jsp/asp/php,
JavaScript,
hibernate,
数据库(Oracle/sqlserver/mysql/db2)等等
Java入门简单,但是要学的东西很多
首先,工程师泛滥,尤其前面加个JAVA,呵呵。
至少google、baidu搜一下,就有很多你这样的问题,太多了。。。
如果你是持之以恒的人,在这问要学什么没必要,研究学什么的功夫都可以学很多了。
学的东西很多,要能真正成为一个JAVA软件工程师是要掌握很多东西,数据库,样式表,脚本语言等等很多
1、首先要学习java的基础知识。
不要被新技术迷惑,所谓万变不离其宗,新技术都是基于java的基础之上,如果基础不扎实,对于这些新技术的理解也是一知半解,学不到根源。
2、做一个java项目
在学习完java的基础知识之后,做一个java项目来巩固一下,在项目中你会发现很多问题,通过解决问题,加深基础知识的掌握。
3、学习数据库的基础知识和开发应用
软件开发离不了数据库,掌握几种流行的数据库:Oracle、SQLserver、MySQL等。
4、JEE基础
在这里首先要学习网站基础,包括HTML、DHTML、JavaScript;接着要学习XML,XML JAXP;然后学习JEE基础,包括JEE开发环境,RMI/IIOP、JNDI;最后学习JDBC数据库的应用开发。
5、web开发
全面的JEE的web开发知识:Servlet JSP javaBean TagLib,到这里做一个完整的web应用项目开发。
6、EJB开发
包含全面的EJB知识:1)EJB入门和无状态会话Bean;2)有状态会话Bean;3)BMP和CMP是实体Bean;4)jms和MessageDrivenBean;5)事物和安全(JTA、JTS和JAAS);6)WebService的开发和应用;
7、开源框架的学习
学习几种现在流行的开源框架:Struts、Spring、Hibernian、Webwork等。完整的学习这些框架的开发和应用。如果有兴趣还可以学习Ibati框架、AJAX技术和DWR框架的开发和应用。
8、JEE项目
综合应用JEE的知识来开发一个完整的应用。
9、面向对象分析与设计
java是一种面向对象的语言,所以要深入学习面向对象的分析与设计,另外还要学习UML统一建模语言。
10、接下来就是系统设计与架构
这里要学习的是Java设计模式、EJB设计模式、JEE核心设计模式、JEE应用程序框架设计。
11、软件工程
软件工程基本理论知识的学习,还有Rup和极限编程。
12、技术研究
学习搜索引擎技术:如Lucene等、工作流技术:包含Shark、JBPM等、SOA架构和应用。
13、综合项目实战
实现一个企业级的应用。
每个阶段在做项目的基础上牢固的掌握应用到的知识,只有在实际的应用中发现问题,加深所学的知识。
jsp/asp/php,
JavaScript,
hibernate,
数据库(Oracle/sqlserver/mysql/db2)等等
Java入门简单,但是要学的东西很多
首先,工程师泛滥,尤其前面加个JAVA,呵呵。
至少google、baidu搜一下,就有很多你这样的问题,太多了。。。
如果你是持之以恒的人,在这问要学什么没必要,研究学什么的功夫都可以学很多了。
学的东西很多,要能真正成为一个JAVA软件工程师是要掌握很多东西,数据库,样式表,脚本语言等等很多
1、首先要学习java的基础知识。
不要被新技术迷惑,所谓万变不离其宗,新技术都是基于java的基础之上,如果基础不扎实,对于这些新技术的理解也是一知半解,学不到根源。
2、做一个java项目
在学习完java的基础知识之后,做一个java项目来巩固一下,在项目中你会发现很多问题,通过解决问题,加深基础知识的掌握。
3、学习数据库的基础知识和开发应用
软件开发离不了数据库,掌握几种流行的数据库:Oracle、SQLserver、MySQL等。
4、JEE基础
在这里首先要学习网站基础,包括HTML、DHTML、JavaScript;接着要学习XML,XML JAXP;然后学习JEE基础,包括JEE开发环境,RMI/IIOP、JNDI;最后学习JDBC数据库的应用开发。
5、web开发
全面的JEE的web开发知识:Servlet JSP javaBean TagLib,到这里做一个完整的web应用项目开发。
6、EJB开发
包含全面的EJB知识:1)EJB入门和无状态会话Bean;2)有状态会话Bean;3)BMP和CMP是实体Bean;4)jms和MessageDrivenBean;5)事物和安全(JTA、JTS和JAAS);6)WebService的开发和应用;
7、开源框架的学习
学习几种现在流行的开源框架:Struts、Spring、Hibernian、Webwork等。完整的学习这些框架的开发和应用。如果有兴趣还可以学习Ibati框架、AJAX技术和DWR框架的开发和应用。
8、JEE项目
综合应用JEE的知识来开发一个完整的应用。
9、面向对象分析与设计
java是一种面向对象的语言,所以要深入学习面向对象的分析与设计,另外还要学习UML统一建模语言。
10、接下来就是系统设计与架构
这里要学习的是Java设计模式、EJB设计模式、JEE核心设计模式、JEE应用程序框架设计。
11、软件工程
软件工程基本理论知识的学习,还有Rup和极限编程。
12、技术研究
学习搜索引擎技术:如Lucene等、工作流技术:包含Shark、JBPM等、SOA架构和应用。
13、综合项目实战
实现一个企业级的应用。
每个阶段在做项目的基础上牢固的掌握应用到的知识,只有在实际的应用中发现问题,加深所学的知识。
下页更精彩:1
本文已影响人软件测试需要学什么_软件测试开发工程师都需要学什么!-疾风资料库
软件测试需要学什么_软件测试开发工程师都需要学什么!
发布时间: 12:27&&&&发布人:
软件测试开发工程师都需要学什么!
需要学习java软件的设计与开发(软件测试工程师);JAVA工程师;学那个就业容易?
软件测试工程师学起来简单,适合在大型企业工作;JAVA工程师学的内容难度大,但一般小企业喜欢多才多艺型,各方面才能出众的;
学哪个容易就业,我有C语言基础
有C语言基础,没多大用处的,主要看你这人逻辑性强不!在国内软件开发行业主要是两条路线:.net或Java,这两支各有各的优势。大型企业用.net(因为他稳定),小型企业用java(因为开发周期短)。最后告诉你不要太信赖IT培训广告(所有的IT培训机构与媒体,互相利用各种国情口号来无情地引你上构),因为有我和同学朋友太多的例子可以让你相信,自学成才方为上计。
软件测试工程师报名需要什么条件? 大学还没毕业可以报考不?
由于信息技术发展迅速,计算机软件是年轻人的事业,为了不拘一格选拔人才,计算机软件资格考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。软件测试工程师应该学些什么方面的知识? 我是一名学习通信的学生,在明年我准备去考国家四级软件测试工程师,但我自知基础不好,对软件方面也不了解,希望有好心的同学或老师能帮我了解到软件测试应该学习哪方面的知识,最好能把书给我介绍出来,我是真心求教,希望好心人能帮助我。我的QQ: (同学们都不相信我的能力,但我真心想把软件测试工程师考下来。)谢谢!谢谢你们~!我是认真的!
软件测试读书笔记之一软件测试背景一.软件缺陷的正式定义:符合下边5个规则的才能叫做软件缺陷。1.软件未达到产品说明书标明的功能。2.软件出现了产品说明书指明不会出现的错误。3.软件功能超出产品说明书指明范围。4.软件未达到产品说明书虽未指出但应达到的目标。5.软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。二.软件缺陷的产生原因:导致软件缺陷最大的原因是产品说明书;第二大来源是设计方案;三是代码;四是某些软件缺陷产生的条件被错误地认定。三.软件缺陷的修复费用:随时间增长,修复软件缺陷的费用是呈几何数级增长的,随时间推移,数十倍增长。四.软件测试人员的目的:软件测试远的目标就是发现软件缺陷,尽可能早一些,并确保其得以修复。五.怎么成为优秀测试员:1.探索精神2.故障排除能手3.不懈努力4.创造性5.追求完美6.判断准确7.老练稳重8.说服力9.除了这些素质,在软件编程方面受过的教育也是重要的。10.软件的功能为了解决现实问题,因此,教学烹饪航空木工医疗等知识都将对查找该领域软件的缺陷有莫大帮助软件测试读书笔记之二软件开发过程一.测试文挡包括:1.测试计划2.测试案例3.软件缺陷报告4.归纳,统计和总结。二.软件产品由哪些部分组成(都是要测的哦,当然我国许多软件都无法达到这么多部分~呵呵)1. 最终产品(光盘/软盘/程序...)2.帮助文件3.用户手册4.样本和示例5.标签和帖子6.产品支持信息7.图标和标志8.错误信息9.广告和宣传材料10.安装11.说明文件这些都是要测试的,书中尤其提到了不要忘了测试错误提示信息(错误提示信息是软件产品最容易忽视的部分,通常是有程序员而不是训练有素的稿手来写的。这些信息很少照顾到修复软件缺陷的需要,还常常造成麻烦。软件测试员也难以找到并显示全部信息。在软件中不要加入吓人和不友好的错误提示信息。)三.软件开发模式1.大棒式:所有精力都在开发软件和编写代码上2.边写边改式:没有时间做好,总有时间返工哈哈!这句话经典,测试者几乎每天都拿到一个新版本,新版本出来的时候,旧版本还没测完!而新版本还包含新的或者经过修改的功能)3.流水式:创意-分析-设计-开发-测试-最终产品,只许前进不能后退!4.螺旋式:开始不必详细定义所有细节。从小开始,定义重要功能,努力实现,接受客户反馈,然后进入下一阶段。(一个螺旋包括6个步骤:1.确定目标,可选方案和限制条件;2.指出并解决风险;3.评估方案;4.本阶段开发和测试;5.计划下一阶段;6.确定进入下一阶段的方法。 )测试一直在进行,知道最后宣布成功!软件测试读书笔记之三软件测试的实质一.测试人员要知道的几个‘交通规则’和‘生活法则’~1.完全测试是不可能的。A.输入量太大;B.输出结果太多;C.软件实现途径太多;D.软件说明书没有客观标准。从不同角度看,软件缺陷标准不同。2.软件测试是有风险行为。3.测试无法显示潜伏的软件缺陷。4.找到的软件缺陷越多,就说明软件缺陷越多。5.老用一种药,害虫都有抵抗力,程序也如此,如在螺旋开发模式中,每一个轮回都会对软件进行测试,几回合后,该发现的都发现了,找不到什么错误了。这要求我们必须不断编写不同的新测试程序,对程序的不同部分进行测试,以找到更多的缺陷。6.并非所有的软件缺陷都能修复:A.没有足够的时间;B.不算真正的缺陷;C.修复风险太大;D.不值得修复7.难以说清的软件缺陷8.产品说明书不断变化:软件测试员必须想到产品说明书可能改变。9.测试员做的工作不受欢迎,因为工作就是挑错!所以我们要懂得怎么和开发的相处:A.早点找出缺陷;B.控制情绪;C.多交流,不要总是报告坏消息。10.软件测试是一项讲究条理的技术专业。二.软件测试的术语和定义这里引用下网上的术语总结,对原作者表示歉意和谢意和敬意!(不知道是谁)1.精确和准确:A.精确参照物是目标。与目标越接近,就越准确;B:准确参照物是每次实施的结果。几次结果相互之间越接近,表示越精确。但与目标可能相去甚远.2.验证和合法性检查:A.验证保证软件符合产品说明书的过程 B.合法性检查保证软件满足用户要求的过程.3.质量和可靠性:可靠性只是质量的一个方面。A.质量可能包含功能是否齐全,产品能否在各种机器上运行,软件公司有没有技术支持,甚至包装盒的色彩,可靠性或者软件产品是否经常毁坏数据可能也很重要,但不绝对。B.可靠性:你自己想吧,我没找到定义哈哈~4.测试和质量评判(QA):A.软件测试员的目标是找出软件缺陷,尽可能造一些,确保得以修复;B.软件质量评判人员的主要指责是创建和加强促进软件开发并防止软件缺陷的标准和方法软件测试读书笔记之四检查产品说明书一.开始测试1.A:黑盒测试:软件测试员只需知道软件要做什么,无法看到如何运作。只进行输入操作来得到输入结果。 B:白盒测试:软件测试员可以访问程序员的代码,并通过检查代码来协助测试。2.A:静态测试:测试不运行的部分—只是检查和审阅。 B:动态测试:指通常意义上的测试—运行和使用软件。3.测试产品说明书属于静态黑盒测试。二.对产品说明书进行高级审查 测试产品说明书第一步不是去找软件缺陷,而是在一个高度上审视。审查产品说明书是为了找出根本性大问题,疏忽或遗漏之处。1.占在客户角度思考:设身处地的为客户着想,测试的时候把自己当成客户。2.研究现有的标准和规范:软件测试员的任务不是定义润件要符合何种标准和规范,而是观察,检验是否套用正确的标准,没有遗漏。3.审查和测试同类软件:同类软件有助于制订测试条件和测试方法,还可能暴露没想到的潜在问题。三.产品说明书的低级测试技术1.优秀产品说明书应当具有的8个属性A.完整。是否有遗漏和丢失?完全吗?单独使用是否包含全部内容?B.准确。解决方案正确吗?目标明确吗?有没有错误?C.精确、不含糊、清晰。描述是否一清二楚?还是自说自话? 容易看懂和理解吗?D.一致。产品功能描述是否自相矛盾?与其他功能有无冲突? E.贴切。描述功能的陈述是否必要?有没有多余信息?功能是否原来的客户要求?F.合理。在特定预算和进度下,以现有人力、物力和资源能否实现?G.代码无关。是否坚持定义产品,而不是定义其所依赖的设计、架 构和代码?H.可测试。特性能否测试?测试员建立验证操作的测试错误程序是否提供足够的信息?2.产品说明书7个用语检查清单A.总是、每一种、所有、没有、从不。看到此类绝对或肯定的切实认定的叙述,可以着手设计针锋相对的案例。B.当然、因此、明显、显然、必然。这些话意图诱使接受假定情况。不要中了圈套。C.某些、有时、常常、通常、经常、大多、几乎。这些话太过模糊。“有时”发生作用的功能无法测试D.等等、诸如此类、依此类推。以这样的词结束的功能清单无法测试。功能清单要绝对或者解释明确。E.良好、迅速、廉价、高效、稳定。这些是不确定的说法,不可测试。如果在产品说明书出现,必须要求进一步指明含义。F.已处理、已拒绝、已忽略、已消除。这些说法可能会隐藏大量需要说明的功能。G.如果...那么...(没有否则)。缺少配套的否则,想一想,“如果”没有发生会怎样呢?软件测试读书笔记之五闭着眼睛测试软件一.动态黑盒测试 1.不深入代码细节的软件测试方法称为动态黑盒子测试。它是动态的,因为程序正在运行;它是黑盒子,因为测试时不知道程序如何工作。测试工作就是进行输入,接受输出,检验结果。 2.首先要弄清楚作为测试对象的软件要输入什么得到什么,或者操作结果。这就要求有文挡或产品说明书;接下来开始定义测试案例(就是我们常说的测试用例) 3.选择测试案例是软件测试员最重要的任务。不正确的选择可能导致测试量过大或者过小,甚至测试目标不对。准确评估风险,把不可穷近的可能性减少到可以控制的范围是成功的诀窍。 *4.没有产品说明书的情况下使用探索测试。(这个我觉得很重要,因为国内大部分软件都是这样的,因为国内大部分软件都是这样的,什么说明都没有,没有需求说明,没有产品说明书,没有设计书......呵呵,这就是有中国特色的软件测试吧~~,遇到这种情况不要烦躁,"把软件当成产品说明书来对待。分步骤地逐项探索软件特性。记录软件执行情况,详细描述功能。在这种情况下,无法像有产品说明书那样完整的测试软件--比如无法断定是否遗漏功能,但是可以进行系统测试。找到软件缺陷几乎是肯定的." 小雪经验总结:这种情况还要多和开发的沟通,在他们那了解软件更多的情况。他们自己写的,没有人比他们知道的多.这种测试会遇到很多你认为逻辑不合理的地方,因为没有需求说明,开发的完全照自己的意思来编写代码.有的是多人编写,每人负责一个模块,模块之间衔接和整个软件的业务逻辑多会有许多问题. 二.通过测试和失败测试通过测试:确认软件至少能做什么,而不考验其能力。只运用最简单,最直观的测试案例。失败测试:纯粹为了破坏软件而设计和执行的测试案例。 设计和执行测试案例时,总是首先进行通过测试。在破坏性试验之前看看软件基本功能是否实现是很重要的,否则在正常使用软件时就会奇怪为什么有那么多的软件缺陷。常见的测试案例就是设法迫使软件出现错误提示信息。三.等价分配等价分配(等价类划分):是指分步骤地把过多(无限)的测试案例减小到同样有效的小范围的过程。 等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试案例。在寻找等价区间时,想办法把软件的相似输入、输出、操作分成组。这些组就是等价区间。等价分配的目标是把可能的测试案例组合缩减到仍然足以测试软件的控制范围。因为选择了不完全测试,就要冒一定的风险。如果为了减少测试案例的数量过度进行等价分配,测试的风险就会增加。另外,等价区间的划分没有一定的标准,只要足以覆盖测试对象就行了。(个人认为这里讲的不是很好,在笔记前我就说了,本书测试用例设计方法上做的不是很好,有关知识大家上网看吧,写的很详细,推荐一个风姿清扬整理的测试用例设计方法~。以后遇到相关测试用例设计的问题我都引用一些比较流行的通俗的知识或者直接省去了`。我们设计用例数据的时候按照等价类划分方法:等价类分为有效等价类和无效等价类,有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合;无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。划分等价类的方法:下面给出六条确定等价类的原则。1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。3、在输入条件是一个布尔量的情况下,可确定一个有效等价类。4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。)四.数据测试 软件由数据和程序组成。数据包括键盘输入、鼠标单击、磁盘文件、打印输出等等;程序指可执行的流程、转换、逻辑和运算。 对数据进行软件测试,就是在检查用户输入的信息、返回结果以及中间计算结果是否正确。主要根据下列原则来进行等价分配,以合理减少测试案例:边界条件,次边界条件,空值和无效数据。 (个人认为书里介绍边界值这块不是很好,新手还是看下面的吧,流行的比较经典的是边界值分析法:上点,就是边界上的点,不管它是开区间还是闭区间,就是说,如果该点是封闭的,那上点就在域范围内,如果该点是开放的,那上点就在域范围外;内点,就是在域范围内的任意一个点;离点,就是离上点最近的一个点,如果边界是封闭的,那离点就是域范围外离上点最近的点,如果边界是开放的,那离点就是域范围内离上点最近的点。边界值分析方法的原则:1、如果输入(输出)条件规定了取值范围,则应该以该范围的边界值及边界附近的值作为测试数据;2、如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据;3、如果程序规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试数据;4、如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。)五.状态测试。 软件状态是指软件当前所处的情况或者模式。软件通过代码进入某一个流程分支,触发一些数据位,设置某些变量,读取某些变量,而转入一个新的状态。软件测试员必须测试软件的状态及其转换。1.测试软件的逻辑流程。状态测试运用等价分配技术选择状态和分支。因为选择不完全测试,所以要承担一定的风险,但是通过合理选择会减少危险。2.建立状态转换图。包括的内容有: A.软件可能进入的每一种独立状态;B.如果不能断定是否为独立状态,就算它是,以后发现不是,随时把它T开;C.从一种状态转入另一种状态所需的输入和条件。找出什么操作导致的变化;D.进入或退出某种状态时的设置条件及输出结果。包括显示的菜单和按钮、设置的标志位、产生的打印输出、执行的运算等等。这些是状态转换时发生的部分或全部现象。3.减少要测试的状态及转换的数量。A.每种状态至少访问一次;B.测试看起来最常见最普遍的状态转换;C.测试状态之间最不常用的分支。D.测试所有错误状态及其返回值;E.测试随机状态转换。4.具体测试的进行。确定要测试的状态及其转换之后,就可以定义测试案例了。测试状态及其转换包括检查所有的状态变量——与进入和退出状态相关的静态条件、信息、值、功能等等。状态变量也许不可见,但是很重要。(建议看因果图法写测试用例呵呵)六.失败状态测试1.竞争条件和时序错乱:在真正的多任务环境中软件设计绝对不能想当然,必须处理随时被中断的情况,能够与其他任何软件在系统中同时运行,并且共享内存、磁盘、通信设备以及其他硬件资源。这一切的的结果就可能导致竞争条件问题.这些问题的几个事件恰好挤在一起,软件未预料到的操作过程被中断,时序就会发生错乱。竞争条件测试难以设计,最好是首先仔细查看状态转换图中的每一个状态,以找出哪些外部影响会中断该状态。考虑要使用数据如果没有准备好,或者在用到时发生了变化,状态会怎样。数条弧线或者直线同时相连的情形如何。下是要面临竞争条件的典型情形:A.两个不同的程序同时保存或打开同一个文档。B.共享同一台打印机、通信端口或者其他外围设备。C.当软件处于读取或者修改状态时按键或者单击鼠标。D.同时关闭或者启动软件的多个实例。E.同时使用不同的程序方位一个共同数据库。2.重复、压迫和重负测试的目标是处理那些连程序员都没有想到的恶劣条件下产生的问题的能力。A.重复测试是不断执行同样的操作。最简单的是不停地启动和关闭程序,或者反复读写数据或者选择同一个操作。这种测试的主要目的是看内存是否不足。如果内存被分配进行某项操作,但操作完成时没有完全释放,就会产生一个常见的软件问题。B.压迫测试是使软件在不够理想的条件下运行——内存小、磁盘空间少、CPU速度慢、调制解调器速率低等等。观察软件对外部资源的要求和依赖程度。压迫测试就是将支持降到最低限度,目的在于尽可能的限制软件的必要条件。C.重负测试和压迫测试相反。压迫测试是尽量限制软件,而重负测试是尽量提供条件任其发挥。让软件处理尽可能大的数据文件。最大限度的发掘软件的能力,让它不堪重负。比如:软件对打印机或通信端口进行操作,就把能连的都连上;服务器可以处理几千个模拟连接,就按他说的做。三者应联合使用,同时进行。注意事项: A.项目管理员和小组程序员可能不完全接受软件测试员这样打破软件的做法。但是软件测试员的任务就是确保软件在这样恶劣的条件下正常工作,否则就报告软件缺陷。如何以最佳方式报告软件缺陷,使其得到严肃对待和修复,也是一门学问。B.无数次重复和上千次的连接对于手工操作是不可能的。因而需要借助自动化测试工具来实现。七.其他黑盒测试技术1.像新用户那样做,随意操作.2.在已经找到软件缺陷的地方再找找(80%的缺陷通常集中在20%的模块)3.凭借经验、直觉和预感. (软件测试确实是越有经验越吃香啊!,像我们这样的只能好好学习,多多实践,多多积累,不断总结)呼! 这章怎么这么长啊!排版很乱,有时间再整理吧,对不起大家的眼睛了,再看看这章名字,闭着眼睛..呵呵,看的眼睛痛了就闭眼睛想一会吧,当一名软件测试工程师需要学习什么?
软件测试工程师和软件开发工程师是等同的吗?
不一样.
测试工程师是对已开发好的软件测试性能,不好的软件可以要求程序员继续修改,只要符合要求,还需要对一些软件打补丁.
开发工程师,就是程序员,对软件进行编程的,写软件程序的.
CopyRight&2012- AllRight Reserved}

我要回帖

更多关于 怎样学java开发工程师 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信