软件测试学习哪些知识????
1. 需要了解的软件开发语言有以下几种:java,c#,c/c++, javascript, visual basic(VB), PHP.2. 所要掌握的脚本语言有以下几种:Tcl, Ruby, Perl, Python, Shell. 3. 数据库知识有以下几种: MS SQL SERVER, ORACLE, MYSQL, DB2, Sybase.4. 在测试过程中,所需要掌握的网络分析工具有:Sniffer Pro, Omnipeek, Solarwinds, 科来网络分析系统。
5. 常用的功能自动测试工具:QTP, RFT, Robot, Silktest, Watir, Selenium, WinRunner, MaxQ6. 常用的测试管理(需求,测试用例,测试执行,缺陷等)工具:QC/TD, RQM,Clearquest, Jira, BugFree, Bugzilla, TestCenter, TestManger, TestLink, mantis.7. 常用的单元测试工具:Jrest, Junit, C++ test, patasoft. TEST, CodeWiard, DevParter Studio Professional, Purify, Quantify, PureCoverage, AQtime另外,软件测试要的是广度,学的越多越好。
软件测试都需要具备什么知识?
计算机基础知识;操作系统、数据库、中间件、程序设计语言基础知识;计算机网络基础知识;软件工程知识,理解软件开发方法及过程;软件测试标准;软件测试技术及方法;软件测试项目管理知识;C语言以及C++或Java语言程序设计技术;信息化及信息安全基础知识;知识产权相关法律、法规。
软件测试需要学习哪些知识
软件测试的一些基本要求适合阅读人群:刚刚从事软件测试或者在考虑是否要进入这一行的朋友摘要:软件测试的基本要求是:首先,要有宽泛的计算机基础知识;其次,要掌握一门编程语言;再次,学好英语。
另外,从“软”的方面来说,要锻炼出一双测试的眼睛和保持平和的心态。
声明:个人观点,仅供参考有些事情说起来有些滑稽,几年前,我们说,软件测试业在中国刚刚起步。
现在,我们还是在说,软件测试业还是刚刚起步。
几年的时间,对于其它行业是一个什么概念我不清楚,对于IT行业来讲,不是一个小数。
实际上,国内软件业的发展缓慢限制了测试业的发展,没有软件的开发计划,测试的需求不旺啊。
然而,反过来想,在软件测试业还没有大红大紫的时候介入进去,应该是个好时候。
那么,从事软件测试业的基本要求是什么?我根据自己的体会,罗列一些,供朋友们参考。
首先,要有宽泛的计算机基础知识。
微机原理,数据结构,数据库,操作系统原理,编译原理,逻辑,编程语言,网络,等等,都要系统地学习过。
都精通不大可能,因为人的兴趣都不相同,但是,这些功课的基本知识点是应当了解的。
我们在谈到职业的类别的时候,我们可以说C程序员,C#程序员,Java程序员,而没有C测试员,C#测试员,Java测试员,程序员可以只擅长某一门编程语言,测试员却不行。
为什么呢?测试员是代表用户的,在做测试的时候,他(她)需要考虑到方方面面的事情。
例如对于一个用C写的上网拨号程序,测试员需要考虑:(1) 程序的功能是否正确;(要求计算机知识)(2) 是否符合用户的使用习惯;(要求界面设计知识和换位思考能力)(3) 性能是否满足要求,例如长时间使用;稳定性;(要求深入的计算机知识)(4) 是否能够满足用户可能的不同操作系统的要求;(要求计算机知识)(5) 如果在全球发布,是否满足不同语言和文化的需求;(要求软件国际化测试知识)(6) 如何搭建测试环境;(动手能力,硬件知识)(7) 做代码检查;(比较深入的C语言知识)(8) …所以,各方面都了解一点,你在做测试的过程当中你会感觉顺手的多。
如果某写方面还差一些,没有关系,计算机行业的特点就是边做边学,只要是个有心人,学习是很快的。
其次,要掌握一门编程语言。
有的朋友可能会说,我就是不愿意做编程才来做测试的,怎么测试还有这么一个要求?我要尝试说服你:)。
我的理由有两个:1. 只有知道怎么做一个软件产品,才能真正懂得这个产品。
而只有真正懂得了产品,才能做好测试。
一行代码不会,你会始终是个门外汉。
不要满足于点鼠标,而去尝试着打开我们面前的黑盒子。
2. 自动化测试技术需要编程技术。
自动化测试是软件测试的一个发展方向,一方面很多测试工具都需要人工干预,编写代码;另一方面在有的情况下需要自己编写测试工具。
对于测试员来说,编程技术不要求精通,但要会。
再次,学好英语。
在现阶段,我们只能承认,在计算机方面,英语国家领先。
有很多的资料都是英语的,如果仅仅局限在中文资料方面,会影响你的渊博程度:)。
举一个简单的例子,Windows操作系统会捕捉到一些程序或者操作系统内部的异常,你可以根据这个异常到微软网站上去查找错误原因和解决办法,其中有很大一部分资料就是英文的,因为还没有翻译过来或者以后也不会翻译的。
以上所说的几点看法,都是在计算机行业里面打转,下面说几个“虚”的要求吧。
1. 锻炼出一双测试的眼睛。
我的一个朋友,她也是做软件测试的,她说,有一次她和她老公去买笔记本电脑,她一眼就看出液晶屏上有几个坏点,而她老公却看不出来。
她说,这要归功于她有一双测试的眼睛。
测试的眼睛,就是对问题特别敏感,能够发现常人发现不了的问题。
测试员就是要找软件中的问题,有了这双眼睛会让你收益非浅。
耐心,细心和经验,会有助于我们到达这个要求。
2.平和的心态。
从心理学上说,每个人都不喜欢别人对自己挑毛病,程序员也是这样。
所以,要以平和的心态去看待发现的软件问题,以平和的心态去和程序员交流。
千万不要以为自己发现了几个问题,就可以责怪程序员,或者冲过去骂他们一顿。
也不要在背后谈论谁谁谁不行,bug太多。
一个项目是大家共同做的,需要举集体之力才能做完。
我们测试员发现的问题多,表明项目的风险又少了一点,应该高兴才是。
如果你的脾气不好,可能这个恶名会掩盖你的真才实学,很可惜的。
软件测试需要学习那些基础知识
具备计算机操作基础:这点对于计算机专业的学生没有什么大问题的,会使用电脑操作、会简单Office软件。
如果不会呢,可以自己在网上找资料自学,很简单。
具备软件测试基础知识:软件测试基础理论知识。
实践需要理论知识指导。
我们可以从相关书籍或者网上找到软件测试基础理论知识,具有详细的理论解释。
具备一定的数据库操作技术:对于常用的数据库,简单的操作要具备。
学习数据库可以自己安装一个数据库,常练习。
具备一定的逻辑推理能力:这点主要偏向于写测试用例。
测试用例是软件测试的核心。
写测试用例,可以参考网络一些比较经典的例子,模仿写。
写多了经验就有了。
掌握软件测试缺陷管理工具:QC、Mantis、JIAR等。
软件测试离不开缺陷管理。
软件测试缺陷管理工具有效管理缺陷、提高软件质量。
这方面的知识建议从网络或者书籍途径学习。
掌握软件测试工具:Loadrunner、ruby、QTP等,学习测试工具提高测试效率,这也有助于你测试职业生涯的规划。
学会一门开发脚本语言:学会开发脚本语言有助于学习软件测试工具。
根据自己的兴趣和基础选择学习。
...
从事软件测试需要懂些什么知识
软件测试是一个新兴的行业,也是为了保证软件的质量,实现软件利用的最大化!基础性的专业知识要求也是需要的,比如:C语言、数据库、操作系统方面、计算机英语...相对来说范围要求较为广泛,但是能者多劳这也是很正常的!所以想要进入这个行业的人也要慎重的考虑,首先要确定自己的想法,不断的进行学习,这样才能使自己出类拔萃!对于基础方面的话,建议多看看,多了解一下,这样才能有更好的方法。
你可以咨询一下专业的培训机构啊。
南京新街口校区就不错的。
软件测试的发展方向,应该学习哪些知识?
软件测试工程师未来的发展 从事软件测试有没有前途,未来的职业发展方向怎样呢? 陈宏刚博士表示,软件测试工程师在微软的发展有几种途径:一种走技术路线,成长为高级软件测试工程师,这时他能够独立测试很多软件,再向上可以成为软件测试架构设计师。
第二种就是向管理方向发展,从测试工程师到组长(Lead),再到项目经理(Manager),到更高的职位。
第三种可以换职业,做项目管理,做开发人员都可以,很多测试工具软件开发工程师在写测试软件的过程中,因为开发方面积累了经验,同时对软件产品本身产生了自己的看法,很容易转去做产品编程。
陈宏刚博士现在还带着一个测试小组,两个清华软件学院的学生,一个南开的专门做软件测试的博士生,一个北邮的学生,他们负责总部一个产品的测试。
陈博士表示,在自己简单的讲讲思路,共同探讨之后,他们一星期就找出了70多个Bug,也感觉学了很多知识,并表示以后专注于软件测试专业,因为他们感觉软件测试真的是一门很深的学科,有很多可以研究的课题。
其实微软的测试人员很多也都是硕士、博士,他们同样在做创造性的工作,保证着程序质量,推动着软件的进步。
软件测试是正在快速发展,充满挑战的领域。
尽管现在单机版桌面软件的测试已经成熟了很多,但对于网络时代的到临,包括微软在内的公司对基于网络的测试也没有一套完整的体系,也是处于探索中,网络中被攻击的可能性太大,这就是为什么黑客在网络上能兴风作浪的原因。
网络测试是一个新环境,而且是很大的挑战。
软件测试未来的发展空间很大,软件测试工程师的职业之路同样充满希望。
软件测试需要熟练掌握测试的相关理论,熟悉测试的流程和测试的技巧,可以给你推荐一本书《测试的艺术》,网上可以下载到电子版的。
熟读这本书基本上就可以应付笔试了,呵呵。
另外,想要在测试方面取得更好的成绩,呵呵,也就是想拿到更多的薪酬,进入更高的层次,要学习性能测试和自动化测试,国内目前已LoadRunner和QTP为主,可以多关注一下。
有基本的编程技能学习起来会比较容易,这也是一般的公司喜欢招收计算机相关专业毕业生的原因,据我的经验,只要掌握了基本的C语言就差不多够用了,后期用到的东西可以找开发人员请教,顺便学习。
呵呵另外,要多搜集网络资源,几个有名气的测试网站上都有很多入门级的建议,可以好好的参阅一下。
(1)熟悉计算机基础知识; (2)熟悉操作系统、数据库、中间件、程序设计语言基础知识; (3)熟悉计算机网络基础知识; (4)熟悉软件工程知识,理解软件开发方法及过程; (5)熟悉软件质量及软件质量管理基础知识; (6)熟悉软件测试标准; (7)掌握软件测试技术及方法; (8)掌握软件测试项目管理知识; (9)掌握C语言以及C++或Java语言程序设计技术; (10)了解信息化及信息安全基础知识; (11)熟悉知识产权相关法律、法规; (12)正确阅读并理解相关领域的英文资料。
通过本考试的合格人员能在掌握软件工程与软件测试知识的基础上,运用软件测试管理方法、软件测试策略、软件测试技术,独立承担软件测试项目;具有工程师的实际工作能力和业务水平。
做软件测试员需要学习什么知识?
软件测试是一个入门简单、但深入难的工作入门的时候只要会看懂中文、理解能力没问题就可以按照测试用例来执行用例了1、开始自学的时候找一本书来入门(软件测试原版第三版很不错)-差不多要1个月左右的时间、要能看懂明白里面的知识、这个阶段主要是学习理论知识2、有基础知识之后找一个软件来自己操作、从开始写测试计划、测试用例、到自己完成测试、并输出测试报告(这个阶段必须自己操作、如果有问题可以去51testing论坛提问)这里如果产品小的话1个月左右、软件功能多的话2个月多都有可能、建议从功能少的软件入手3、在执行第二个步骤的时候经常多去51testing论坛看看那些问题帖子、绝对增长你的知识量4、前面3个步完成之后可以开始关注招聘网站那些招聘软件测试的公司、去看看他们公司的做的什么产品、可以吧他们的产品下载回来按照步骤2的方式来自己写用例 执行测试、记录BUG、提交测试报告等内容(如果你去面试公司的时候拿着你的测试报告以及BUG单的话 成功率会高很多)5、前面几个步骤完成之后差不多要开始找工作了、建议去看看那本的书籍、这本书里面有很多软件测试的面试题目多看看提高知识量自学软件测试差不多需要6个月左右的时间PS:自学成才的3个要素、一是方法,二是愿望,三是自律。
这三个要素中任何一个的提高,都会加快目标的实现。
当然如果要在同样时间内实现目标,三个要素其中一个要素的增高,也就同时降低对其他两个要素的要求。
进一步之后需要会的知识会越来越多1、操作系统的知识(什么软件都是运行在操作系统之上的、一般的操作必须要会)2、数据库知识(现在还能找到多少不需要数据库的大型软件捏?)3、计算机网络(通信呀通信、千万不要TCP和UDP都分不清楚)4、计算机硬件(你要是C/S架构的测试或者是做性能测试、那么计算机硬件都是必修课了、总得知道IO是什么IOPS又是啥)5、各种测试工具的使用、什么QC/TD/BUGfree/QTP/LR之类的 不需要样样精通但是必须要熟练使用6、软件测试基础知识(这年头没有知识是万万不能的、软件测试基础知识其实买几本书好好看看就能学个差不多了)7、开发语言(做到高级软件测试的人都是会写点小工具的)8、测试环境配置:这个要说下、我在做配置管理的时候发现很多测试人员居然连自己的测试环境都配置不好、一个连自己的测试环境都不会配置的人会成为一个合格的测试么。
(你要测试web的apache、tomcat、iis之类的得会配置吧)PS:希望你不要被我写的这么多东西吓到了、这些知识是在软件测试的进化过程中慢慢积累起来的、不是所有人都一开始就会了、你是计算机专业毕业的。
那么计算机硬件、网络、操作系统、数据库什么的都应该在学校的时候有学到的、所以应该不是问题最后:祝你好运
软件测试的基础知识概要是什么?
信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点。
不论软件的生产者还是软件的使用者,均生存在竞争的环境中,软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局。
用户为了保证自己业务的顺利完成,当然希望选用优质的软件。
质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,还可能产生其他的责任风险,造成公司信誉下降,继而冲击股票市场。
在一些关键应用 (如民航订票系统、银行结算系统、证券交易系统、自动飞行控制软件、军事防御和核电站安全控制系统等) 中使用质量有问题的软件,还可能造成灾难性的后果。
软件危机曾经是软件界甚至整个计算机界最热门的话题。
为了解决这场危机,软件从业人员、专家和学者做出了大量的努力。
现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。
有错是软件的属性,而且是无法改变的,因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。
问题在于我们如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。
给软件带来错误的原因很多,具体地说,主要有如下几点: ①、交流不够、交流上有误解或者根本不进行交流 在应用应该做什么或不应该做什么的细节(应用的需求)不清晰的情况下进行开发。
②、软件复杂性 图形用户界面(gui),客户服务器结构,分布式应用,数据通信,超大型关系型数据库以及庞大的系统规模,使得软件及系统的复杂性呈指数增长,没有现代软件开发经验的人很难理解它。
③、程序设计错误 向所有的人一样,程序员也会出错。
④、需求变化 需求变化的影响是多方面的,客户可能不了解需求变化带来的影响,也可能知道但又不得不那么做。
需求变化的后果可能是造成系统的重新设计,设计人员的日程的重新安排,已经完成的工作可能要重做或者完全抛弃,对其他项目产生影响,硬件需求可能要因此改变,等等。
如果有许多小的改变或者一次大的变化,项目各部分之间已知或未知的依赖性可能会相互影响而导致更多问题的出现,需求改变带来的复杂性可能导致错误,还可能影响工程参与者的积极性。
⑤、时间压力 软件项目的日程表很难做到准确,很多时候需要预计和猜测。
当最终期限迫近和关键时刻到来之际,错误也就跟着来了。
⑥、自负人更喜欢说:'没问题','这事情很容易','几个小时我就能拿出来' 太多不切实际的‘没问题’,结果只能是引入错误。
⑦、代码文档贫乏 贫乏或者差劲的文档使得代码维护和修改变的异常艰辛,其结果是带来许多错误。
事实上,在许多机构并不鼓励其程序员为代码编写文档,也不鼓励程序员将代码写得清晰和容易理解,相反他们认为少写文档可以更快的进行编码,无法理解的代码更易于工作的保密(“写得艰难必定读的痛苦”)。
⑧、软件开发工具 可视化工具,类库,编译器,脚本工具,等等,它们常常会将自身的错误带到应用软件中。
就象我们所知道的,没有良好的工程化作为基础,使用面向对象的技术只会使项目变得更复杂。
为了更好地解决这些问题,软件界做出了各种各样的努力。
人们曾经认为更好的程序语言可以使我们摆脱这些困扰,这推动了程序设计语言的发展,更多的语言开始流行,为了使程序更易于理解开发了结构化程序设计语言,如pl1,pascal等;为了解决实时多任务需求开发了结构化多任务程序设计语言,如modula,ada等;为了提高重用性开发了面向对象的程序设计语言,如simlasa等;为了避免产生不正确的需求理解,开发形式化描述语言,如hals等,这使得建立基于自然语言的描述成为可能,人们以形式化语言来描述需求;为了支持大型数据库应用,开发了可视化工具,如visual studio、poweuilde等。
程序语言对提高软件生产效率起到了一定的积极作用,但它对整个软件质量尤其是可靠性的影响,与其他因素相比作用较小。
可能是因为程序语言基于严格的语法和语义规则,人们企图用形式化证明方法来证明程序的正确性。
将程序当作数学对象来看待,从数学意义上证明程序是正确的是可能的。
数学家对形式化证明方法最有兴趣,在论文上谈起来非常吸引人,但实际价值却非常有限,因为形式化证明方法只有在代码写出来之后才能使用,这显然太迟了,而且对于大的程序证明起来非常困难。
受到其他行业项目工程化的启发,软件工程学出现了,软件开发被视为一项工程,以工程化的方法来进行规划和管理软件的开发。
针对需求不确定的应用,可以使用渐进和迭代类的开发模型。
还可以采用快速应用程序开发(ad)和协同应用程序开发(jad)技术,由软件开发者和用户代表共同参与开发软件规范。
ad和jad的基本思路是开发者和用户共同设计系统中的屏幕,开发者迅速地把实现这些屏幕的最基本功能编写好,然后把它们交给用户看,然后用户和开发者回顾这些屏幕以确认它们达到了用户的要求,这个周期一直持续到系统的基本部分定义完毕。
...