软件测试是做什么的?
![[��ǩ:����] [��ǩ:����]](https://www.xuefen.net//file/upload/img/7/79.jpg)
软件测试属于IT行业中容易入门的岗位,代码量较少。0基础进入IT行业,完全是ok的,IT行业分好几种有开发,测试,UI,自动化,测开,运维等这些岗位。在这些岗位里面测试相对来说还是比较容易上手学会的。因为开发、运维、自动化这些都对代码的要求挺高,0基础的话对代码认识不是一、两天就可以学好的。
课程内容主要有:
搭建Windows测试环境,JAVA编程,软件测试基础,数据库技术,用户界面技术,高效设计测试用例,阶段项目实训,搭建 Linux 测试环境,白盒测试,WEB技术,高效使用自动测试工具,软件质量保证,流行测试基础,企业级项目实训用例等!
学完可以从事:
功能测试工程师,性能测试工程师,安全测试工程师,白盒测试工程师,自动化测试工程师,接口测试工程师,测试开发工程师等。
互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
软件测试是干什么的
问题一:软件测试主要做什么工作? 顾名思义,主要工作就是测试软件,但是测试前的测试需求、编写测试计划、编写测试用例,测试后的编写测试总结报告等,也是必须要做的。
测试软件又为手动测试和自动测试,自动测试指用测试工具对软件进行测试。
最后,软件测试的定义是为了找出软件中的bug而运行软件的过程;
说了这些,你明白了吧。
问题二:什么是软件测试? 软件测试定义是:为了发现程序中的错误而执行程序的过程
它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(pleteness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。
软件测试的目标:
(1)测试是为了发现程序中的错误而执行程序的过程;
(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
(3)成功的测试是发现了至今为止尚未发现的错误的测试。
软件测试的内容:
软件测试主要工作内容是验证(verification)和确认( validation ),下面分别给出其概念:
验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。(Do the right thing)
1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;
2.程序正确性的形式证明,即采用形式理论证明程序符号设一计规约规定的过程;
3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)
1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;
2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。
从不同的角度出发,软件测试可以划分为不同的分类:
从是否关心软件内部结构和具体实现的角度划分
A.白盒测试
B.黑盒测试
C.灰盒测试
从是否执行程序的角度
A.静态测试
B.动态测试。
从软件开发的过程按阶段划分有
A.单元测试
B.集成测试
C.确认测试
D.验收测试
E.系统测试
问题三:"软件测试工程师"是具体做什么工作呢? 测试工程师:
软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。
软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确(Doing the right things right at the right time.)。二、符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。三、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量(Quality is defined as co
nformance to requirements,not as “goodness” or “elegance”.)。四、质量也代表着它符合客户的需要(Quality also means “meet customer needs”.)。作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。只有这些问题都解决了,软件产品的质量才可以说是上去了。
测试人员在软件开发过程中的任务:
1、寻找Bug;
2、避免软件开发过程中的缺陷;
3、衡量软件的品质;
4、关注用户的需求。
总的目标是:确保软件的质量。
前景怎样
实际上,测试工程师如果厂照前面的要求打好基础,职业前景是非常广阔的。我们可以借鉴一下国外测试工程师的职业发展历程,很多时候,国内的软件都是跟着国外的发展趋势,测试行业也一样,国外至少比国内起步早15到20年。
与国外的专业测试工程师相比,国内测试工程师突出特点是晋升非常快,2-3年可能走完了国外10年的路。实际上有很多测试(部)经理也就2到3年的工作经验,而在国外,测试工程师很多至少会有5年以上的开发经验。在国外,通常测试工程师会经过下面的职业发展历程:
1.初级测试工程师
主要是计算机相关专业的本科生或具有一些手工测试经验的个人,主要工作内容是开发测试脚本并开始熟悉测试生存周期和测试技术。我们国内的大多数工程师都在这个水平上,这也是我们软件质量上不去的一个重要原因。
2.测试工程师/程序分析员
具有1-2年经验的测试工程师或程序员,主要职责是编写自动测试脚本程序并担任测试编程初期的领导工作,进一步拓展编程语言、操作系统、网络与数据库方面的技能。国内的高级测试工程师的水平比这个级别还要略低些。
3.高级测试工程师/程序分析员
具有3-4年经验的测试工程师或程序员。帮助开发或维护测试或编程标准与过程,负责同级的评审,并为其它初级的测试工程师或程序员充当顾问。继续拓展编程语言、操作系统、网络与数据库方面的技能。其能力相当于国内的测试负责人。
4.测试组负责人
具有4-6年经验的测试工程师或程序员。负责管理1至3名测试工程师或程序员。担负一些进度安排和工......>>
问题四:软件测试到底是学什么?软件测试与软件开发的区别是什么? 软件测试和软件开发是软件工程中的两个部分 一个软件要先按需要的功能编程序,制作出来,制作出来的软件是一定有错误的,要通过测试工作将错误的几率降低到很小。并且还要通过一些测试方法测试软件的性能是否完整,稳定,测试工作会持续软件的整个生命周期。简单通俗的讲软件开发就是很累人的编程,而软件测试就是通过各种测试渠道测试软件的性能及找出错误。不是很费脑子因为测试方法都是自动的,只需要分析一下测试路径。工作量相对少
问题五:软件测试的重要性是什么? 保证软件的质量
问题六:IT中软件测试工程师具体干什么 我看了上面的朋友的回答,总体符合一个正规的大公司的任务标准和要求,不过更具我做开发的亲身经历来看,小公司一般是没有专门的测试人员的,就算有也非常少,一般都是开发人员自己开发自己测试(所以没有前一个朋友说的那么多步骤,那么复杂);大点的公司,达到上千人规模的公司的话(我现在在的公司)有专门的测试人员,但是绝对比开发人员少的,是绝对不可能达到1:1这样的高比例的,而且相对开发人员来说工资也要低一点,一般的流程都是一堆开发人员在开发的时候,几个测试人员在写一些测试case之类的,开发差不多了,会有比较闲的开发人员或开发的画面已经被测试过的开发人员去根据测试人员写的case一起测试。就算上万人的大公司也不会出现测试和开发1:1的情况,国内的情况肯定是这样的,国外就不清楚了。
出现测试人员超过开发人员,那也是开发的后期,开发已基本结束(主要剩下改BUG)测试人员非常紧张赶不上进度的时候,很多开发人员会被调去帮忙测试,才会出现。
所以个人建议国内如果想从事IT行业的话,可以优先考虑开发,然后再考虑测试;而且做测试的基本都是女性。不过不管做哪个,那都是一个字:苦
问题七:软件测试具体干嘛啊 根据需求文档、设计文档等,设计测试,执行测试场找出软件的问题,以保证软件质量。
黑盒测试:不需要了解软件内部如何实现,输入数据,检查输出是否正确
白盒测试:测试代码的实现逻辑是否正确
问题八:软件测试具体是干嘛? 近几年来,软件测试行业成为IT界快速兴起的新职业,因此记者特别采访了Ltesting测试时代教学部和就业部,总结了他们宝贵的经验帮助新手一步步深入了解软件测试行业。
一、什么是软件测试
Ltesting测试时代培训中心现任讲师,原中华英才网高级测试经理王老师说:“软件测试就是帮助公司把好软件产品的质量关,象传统行业的质检员,从软件产品刚开始设计到软件产品最终上线,软件测试人员都会参与其中,对软件产品的需求文档、设计文档等检查是否有歧义,或者用词是否违背行业规则等;对软件产品本身的功能、性能通过运用专业的软件测试技术以及工作去发现软件产品中隐藏的软件问题,并将所有发现的问题发送给相应人员进行修改,从而大大减少了因软件产品的质量问题而引起的后期维护费用以及因软件问题对用户造成的影响以及损失。”
二、为什么进入软件测试行业
在软件产业发达的国家,软件测试在人员配备和资金投入方面都占据很高的比重。但我们国家的软件测试起步比较晚,测试人员的比例大都不到开发人员的5%,据统计国内软件测试人员的缺口高达20万人。这么高的人员缺口,在目前国内就业情况日益严峻的形势下,的确是大家就业的良好选择。
除此之外,软件测试入行门槛低、薪金待遇高、男女都合适的特点,也是吸引众多人员入行的原因。软件测试人员的薪金待遇,根据Ltesting测试时代培训中心就业部对他们的毕业学员进行跟踪统计,初级软件测试工程师的薪金待遇平均水平为大专学历一般在2000元以上,本科学历一般在2500元以上,学习成绩好或者以前有过计算机相关职业经验的人员薪金待遇可达到5000-6000元,这样的薪金也的确是非常有吸引力的。
三、软件测试人员具备的素质
根据Ltesting测试时代培训中心就业舒老师的描述:他们对毕业学员在就业时的分析,现在的软件企业对软件测试人员的基本要求是大专以上学历、计算机相关专业优先,有一定的英语能力。对软件测试技能的要求是熟悉软件测试知识、熟练书写常用的软件测试文档、可使用几种常用的软件测试工具、可独立进行基本测试工作。国内还没有正规学校开办软件测试专业课程,软件测试技术技能一般只能通过参加专业的培训和自学获得,专业的培训可以系统的传授软件测试知识,让学习人员快速入门。
文章来源于Ltesting中国软件测试培训网 010-51297073-808
问题九:软件测试的具体工作内容是什么? 1.搭建测试环境
2.写测试用例
3.执行测试用例
4.写测试计划、测试报告
5.测试,并提交BUG单
6.跟踪BUG修改情况
7.自动化测试,编写脚本,执行,分析,报告
8.性能测试,编写脚本,执行,分析,调优,报告
大概的是这些。
问题十:软件测试员是干什么的 软件测试分为很多种,一般情况下,多为黑盒测试. 白盒测试一般由开发商来做,黑盒测试外包到别的公司.
软件测试人员就是根据相应的测试用例来对软件的各功能模组进行测试,包含UI,func,负载等各方面. 按测试方法分为手动测试和自动测试,按测试对象不同,又可分为软件测试,在线测试等.
软件测试员都做什么工作?
1、功能测试,现在习惯称之为手工测试,也就是通过点点点的方式来找到一款即将上市的软件中的问题,有什么bug提交给开发人员修改,把自己想象成一个准用户,先体验一下这个软件,这时候需要的技术很少,会用adb命令,Charles,postman基本就能做了
2、接口测试,这是属于进阶的一种,具体是什么呢,我们可以把一个软件的各个功能想象成一个个的零件,这些零件协同运作,软件才能好用,而零件之间是通过接口链接的,这个测试就是直接调用接口,检查问题,不用关心零件长什么样子,这时候需要Charles,postman,jmeter,fiddler等工具
3、性能测试,包含的东西挺多的,像负载测试,压力测试,中断测试等,比如软件启动时长,服务器承载能力,与其他软件兼容性等,运行稳定性,这时候也需要jmeter,他能不用代码的录制脚本,还有其他的测试工具像web bench是一个简单的web或者web代理服务的基准测试工具,Siege(英文意思是围攻)是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力,还有其他的一些,这里就不一一的说了
4、自动化测试,必然要掌握一门语言的,目前用python的比较多,因为灵活,而且有好多框架,像ui自动化用的selenium,接口自动化的HTTPruuner,性能也有自动化locust,loadrunner框架,这时候技术需要的就很多了
5、安全测试,这类人需要的技术很高,我接触的也不多,但是传说中的白帽子黑客就是这类人,他们负责的渗透测试,sql注入,脱库等等,知道的不多,不敢妄加猜测,反正我知道薪水非常高。
做软件测试比程序员工作更难吗?
这个问题你得抛开来分析,从理论上来说的话软件测试,要比程序员的工作更难。因为他的职位要求,它是给程序员挑错的。也就是说,程序员懂的她必须都懂,不然的话如何挑错。
但是从现实上来分析的话。国内软件测试业界,8成以上的软件测试,是做不到理论上的职业要求的。一大半的都是非常初级的功能测试的测试员。就是只会点点找出错,也解释不清原因。待遇普遍在5000块钱以下。
所以我们国内目前的软件测试行业并没有追求。大部分的软件测试从业者的工作是非常轻松的,但是软件测试这个职位真正对于从业者的要求来说,是非常高的。所以理论上来说软件测试,比程序员的工作更难,但是国内现实来说,要轻松不少,待遇也少很多。
软件测试需要什么能力
问题一:作为一名软件测试工程师,需要具备哪些能力 ⒈ 测试专业技能
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
⒉ 软件编程技能
软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能够编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据资深测试工程师的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。
⒊ 网络、操作系统、数据库、中间件等知识
与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MSSqlserver、Oracle等常见数据库的使用。
问题二:软件测试需要学习些什么技能 基本的软件测试知识:具体可参见软考所需的《软件评测师教材》
基本的代码能力,能够对软件代码进行测试
软件测试还是分很多种,功能测试、性能测试、单元测试等等,看你需要什么就了解哪方面知识
问题三:做软件测试需要具备哪些技能? 1、 软件测试基础知识:
测试计划编写、设计测试用例、编写测试报告、编写BUG报告单、跟踪BUG修复情况、还需要良好的沟通能力、以及各种测试阶段所使用的测试方法、单元测试、功能测试、集成测试、系统测试等等、CMMI /ISO9001
2、 各种测试工具的使用:
我们在测试的工作中为了能够提高工作效率进程会用到很多工具、QTP、LR、QC、TD、Bugfree、VSS、SVN等等工具、虽然说工具不是万能的但是工具能为我们提高工作效率所以不能吧工具当神一样看待、但是必须得会熟练的使用
3、 操作系统相关知识:
Windows、linux、uinx这些都必须会使用、而且不仅仅是简单的操作、一般的服务管理、注册表编辑、命令行操作都需要会、可以想象下一个连apache服务都不会安装配置的人、谁能想象你可以做好基于apache环境的测试工作、什么?不知道怎么查看磁盘压力、IO数据。windows linux都有提供自带的工具可用于查看这些数据、perfmon、top什么的。
4、 数据库知识:
现在Oracle的DBA待遇比一般的开发人员待遇还高就知道数据库在企业中的重要性了、作为测试人员虽然不需要有DBA的能力、但是基本的数据库操作你必须得会把、不管是Oracle、DB2、MSsql还是mysql最少都应该能熟悉使用其中的一二。
揣、 计算机硬件知识:
做过性能测试的朋友都知道在性能测试过程中硬件性能也是一个非常重要的指标、CPU、内存、IO、带宽等等、如果你是做硬件测试的。那么就更不用说了。交换机、路由器、防火墙这些设备都需要有所了解。
6、 网络协议:
如果你还知道TCP和UDP有什么不一样的话请赶快去补充点知识吧、互联网时代、一切都通过网络传输、常用协议必须得了解、曾经面试了一个测试工程师做了2年的测试居然不知道自己测试软件使用什么协议、这样的人是你的话你敢招么?
7、 开发语言即代码编写能力:
虽然不会写代码也能做测试、但是如果你想做到高级测试工程师以上、那么代码编写能力就是必选项、如果不会写代码、那么你不可能成为高级测试。高级测试工程师的一部分工作就是在写测试工具。虽然测试也需要写代码但不需要和开发一样那么精通某一门语言、可是测试却需要了解很多门开发语言(举一个简单的例子:你现在所在的项目从C++语言、2年后你换工作了、新公司的开发语言是java或者是VB什么的)所以在开发语言中测试需要更广的学习。
8、 行业知识:
行业知识之所以写在最后面是因为前面的7条我们都可以通过学习来掌握、但是唯独行业知识却只能通过工作经验来积累、不要说你去看几本书就知道通信行业、医疗行业、或者是航天行业、你认为在书本上面能学到么?
由于行业知识的特殊性所以建议朋友们不要频繁的跳槽、经验的积累是需要时间来沉淀的。
9、 具有一定的美学观:
这个说起来比较拗口一点、简单来说不管是开发活动还是测试活动、最后的目标就是将产品推向市场、而且得到用户的认可。所以如果产品在需求分析阶段就出现了偏离用户航道、那么就算测试 开发做得再好这个项目也是一样会失败。所以各位如果有幸能够参加需求评审的话、请不要吝啬你的言论。
10、请不要忘记时刻学习着:
这点我相信大家应该都能理解所以不用写什么:仅此一点“不学习就会落后”
总结:说了那么多技能或者是说是需要掌握的技术、如果你没有一颗发现缺陷之美的心态、没有一颗以提高质量为前提来投入工作中、那么就算你其他做得再好也不过是万千软件测试从业人员中的一枚。测试活动大部分用于发现缺陷、而发现缺陷之后的工作尤为重要:怎么样从发......>>
问题四:作为一名软件测试工程师,需要具备哪些能力 作为一个软件测试工程师,首先,你要建立自己的测试思维,这个很重要,因为测试思维相当于你的软件的世界观,这也就是为什么,个人不支持从 开发转测试的原因,因为对于开发而言,他们是目标型的世界观,即需求要完成什么我去完成,如果你在开发中待的时间太长,容易习惯这样目标型世界观,而测试更多关注的是多方面的,有时候,就是一些在开发所谓的不可能、无所谓的东西最后造成软件的失败,而如何建立自己的软件世界观,那就要去通过测试的方法论的理解,很多人喜欢把黑盒测试方法论、白盒测试方法论,分得很清楚,其实两者是相通的,看懂这些东西很快的,但是悟透,这个过程会漫长。
接下来 我们讲讲你需要作为一个初级功能工程师所需要基本素质吧
1、软件测试的基本方法(边界值、等价类、错误分类、流程分析等等黑盒、白盒测试方法要有了解,并且掌握)这个不难,但请务必牢记在心中,它是你去建立自己世界观的基础,所有的测试逃不出这些方法
2、会写的基础的测试文档(测试用例、缺陷报告等)
3、会看开发文档(需求说明书、操作手册)
4、知道软件工程中,测试所需要做的事情,了解性能测试、安全测试等
当你有了基础,同时也有了自己的世界观,祝贺你已经入门了,这个时候,我建议你可以去了解不同软件开发不同环节人所作的事情,不单单是开发,需求、设计、运维等等,因为这样你会知道什么是体系、规范,为你以后的发展有着很好的帮助,这也是测试相对于开发优势的地方,开发更关注的是点,而测试要关注的是面,所以对于测试而言,除了准确的抓住细节的同时,大局观要好,否则做不好测试。
最后才是细节技术就是所谓的白盒测试、性能测试、自动化、安全等等,这些其实对测试而言反而是小节,技术永远不会阻碍你前行的脚步,反而思维,这个你可以根据自己喜好去发展,没有固定模式
顺便说一句,别看不起基础的功能测试,它没外人看得那么简单,因为如果你连测试用例都不会设计就别去说做性能测试、自动化测试、安全测试等等,要做一好的功能测试工程师,写的一手好用例(你的用例是个识字人都能执行、并且用例有效的系统覆盖率也是很高的)、好缺陷(是个识字的人都能理解你说的是问题,并且抓住重点),很难的,真心不是普通人能做好的,要去花心思琢磨的
问题五:软件测试工程师应该具备哪些素质 您好,很高兴回答您的问题。
作为一枚软件测试工程师,需具备以下素质:
1.软件测试基础技能。这是基石大家都懂得~
2.需极具怀疑精神。抱着大家来找茬的心态用软件才能更好的发现BUG
3.须足够细心。缺陷往往出现在大家都容易忽视的地方~
4.必须有耐心。测试可以说是一项重复的工作,很考验一个人的耐心
5.须有乐观向上的心态。时刻调整心态,尽量避免把工作当做任务的状态
6.需要积极学习。软件行业发展神速,如果不时刻学习新技术很容易受局限甚至被淘汰
7.团队协作能力。互相推诿、不讲协作最终的结局是三个和尚没水喝~
8.良好的沟通表达能力。发现bug后,需要跟开发反馈,如果不能准确描述自己发现的问题,那么人家不会承认这个bug,甚至可能觉得厌烦
9.缜密的业务逻辑分析能力。工作中,测试需要清晰把握软件的业务逻辑。测试就是依旧业务逻辑进行的,如果不清楚业务逻辑,那么测试后发布的软件会出现一堆bug~
问题六:软件测试工程师应该具备哪些技能? 如果想成为一个比较好的软件测试工程师的话,以下这些条件是需要具备的:
1.你要有较好的编写代码的水储,最好是自己亲自独立完成过某软件的开发工作
2.需要对数据库有较为清楚的认识,以及会编写数据库脚本
3.了解至少2种以上的操作系统,并且对问题有较强的分析判断能力
接下来,如果你想成为更优秀的测试工程师,就需要具备如下素质:
(这部分是我转的,因为我也同意这个说法)
1、有相当的白盒测试经验,这就需要能针对核心模块,核心算法进行代码走查和代码跟踪,从代码内部发现问题。要想做到这一点,不仅要了解所使用的编码语言本身,还要会使用它提供的IDE工具进行代码的跟踪和调试,这些功夫可不是看看书就能掌握的呦;
2、熟练使用流行的测试工具,虽然无论是wr还是lr本身在测试工作中并不会每天都涉及到,但是对工具的熟练掌握确实我们职位和薪水得以晋升的一个重要的砝码,所以介于这一点,建议考一些工具方面的认证可能会比较实用一些。
总之,我觉得软件测试工程师的要求比较高,如果你从未有过编程经验,可能几乎没有公司会录用你,实话,莫怪
大三啊,那是可以自学成功的啦,我是电气专业的,都不懂编程的,毕业工作以后自学的,半年已经可以基本满足要求了。
只要你能坚持下来,别半途而废,就好。我是觉得做测试要比做程序员好很多的,呵呵,那你加油咯~
问题七:一个好的软件测试人员到底需要哪些素质 在我看来一个软件测试人员需要具备多方面的特质:
● 细心:这个不用多解释了吧。粗枝大叶的人是没法做好软件测试的。
● 耐心:软件测试,特别是当前国内主流的手动黑盒功能测试。基本上测试的工作就是一项重复劳动,需要有一定的耐心来保证不在枯燥的重复劳动中放过那些细小的缺陷。
● 好奇心:软件测试,是需要保持一颗好奇心的工作。好奇心使得测试人员会多问一个「为什么」,「如果这样,行不行?」。往往这些问题会引导你找到缺陷。
● 会沟通:软件测试人员需要与客户,开发,产品等方方面面保持密切的关系,沟通很重要。良好的沟通过程可以有效地控制成本。
● 总结归纳能力:这跟「会沟通」有关联,软件测试人员需要找到缺陷的真正关键步骤,归纳出缺陷产生的一般规律,总结出一份详尽的测试报告。
● 理解能力:对需求的准确理解,是软件测试人员需要具备的必需条件。
● 表达能力:编写的测试用例什么的只有你自己能读懂可不行。
● 时间观念:软件测试工作是无止境的,但是软件本身是有交付日期的。软件测试工作需要在保证交付日期之前完成工作,保证软件产出的质量。时间与质量本身需要有一个平衡,为了追求零缺陷而罔顾交付日期的做法是不科学的。前期的制定计划开始,就要对整个过程有一个良好的规划并且按照这个计划的日期来推进。好吧,以上这些差不多是我想到的对与软件测试人员来说比较重要的特质。当然,还有一些不一定是普适的要求,比如英语听说读写的能力。也欢迎补充看看我还遗漏了那些特质。朱杉: 其实抽屉同学已经都总结得很好了,我就再说两点我自己的体会就好。
● 责任感:责任感是个系数,责任感与个人资质的乘积才是最终体现到工作中的实际能力。尤其是就目前国内的黑盒手工测试来说,极少有需要特别牛x的人才能干得下来的事情,大家的工作成果差异,常常是态度问题而非能力问题。而很多面试中体现出良好资质的人,放到工作中会发现实际效果不理想,也多与此有关。
● 原则性:测试需要一颗有原则的正直的心,不会为了凑数量,将同类问题的变体重复提交;不会因为dev简单的一句:”这不是问题“而妥协。
● 学习能力:测试需要不断接触新功能、新理论、新技术、新工具,并非一个省心的活儿。对于学习能力还是有一定的要求的。除了工作相关的以外,开阔的知识面,对于测试人员来说有时也意味着思路的可延展性。就这些啦。其实有些能力是可以在做的过程中培养的,而做测试的过程也是对心性的一种历练
问题八:软件测试人员需要具备哪些素质? 需要的素质有:
测试技能
细心,耐心
伐疑精神
沟通技能
团队协作技能
不断学习
问题九:如何提高软件测试能力 我也是做软件测试的,提一些小建议,仅供参考:
1.做软件测试最好进公司实践.因为测试公司的每个项目组对知识的要求都不一样,也许你在这个项目组里做的很好,但把你调到另一个项目组,你仍然是门外汉.所以直接进公司学习和实践是个不错的选择.
2.软件测试需要有广泛的计算机相关知识,包括计算机网络,数据库,软件工程等.
3.掌握一门开发语言,对其他语言也要熟悉,起码做到能看懂,这样将会对你的发展很有帮助.
4.提高自己的英语水平.不可否认,现在软件行业的领先国家还是欧美,换句话说就是欧美的产品相对较多,是测试的一个很大的市场.要做这些国家的产品,英语当然是非常重要的.
5.最好掌握一门日语或者韩语.现在中国对日对韩的软件外包越来越多,尤其是北方地区.掌握这两门语言,在找工作时将会非常有优势.
6.初次进入软件测试行业,公司只会让你做人工测试,或者说是黑盒测试.所以一切读要从基础做起,不要奢望学好了直接进公司做自动测试.
7.总起来说,进公司实践,然后再买一些相关书籍翻阅.记住,最重要的还是动手能力,然后才是思考能力(这个行业和别的行业颇有不同,公司要求的是你先能做项目,然后你才去自己发展自己)
最后,软件测试现在人才缺口很大,薪水也颇为可观相信你选对了路.好好做,祝你有个美好的前程!
问题十:作为一名软件测试工程师,需要具备哪些能力 测试工程师提交的BUG越多,意味着研发工程师工作质量越差,需要返工的工作量也越大,甚至会影响绩效,所以测试工程师有时候很容易得罪研发部门。一个可以相对坚持原则(比如3级BUG以上一定要改),又能拉下脸和不愉快的研发工程师保持较好关系的测试工程师,会对项目质量起到很关键作用。说到底,又能做事(发现BUG并督促修改),又会做人(该进的不让,该退的绝对给面子,最大化消除部门间矛盾)的测试工程师,是十分难得的。2、有异想天开属性的为佳 这个只可意会,不好言传的。在我带过的团队里,的确有那种奇葩……经常会用令人匪夷所思的方式找出BUG,这是天赋。3、会“偷懒”的为佳 这里的偷懒不是指上班发微博聊天混日子,而是能够利用已知资源对枯燥乏味的测试工作进行优化的同学。说个实例: 我以前公司曾经上过一个“授信”项目,做过金融类项目的同学大家都知道。授信项目的测试用例真可以说是相当变态,随着账期、滞纳金率、手续费率、利息率、本金、还款情况的不同,可以衍生出无比多的用例,同时每个用例进行编写时,都要仔细根据规则计算预期结果的资金状况,非常费力。咱部门一个小伙子,头一天晚上拿了PRD,第二天晚上就利用Excel写了一个固定某些账期下不同情况下的各项资金计算工具(有一些小BUG,无伤大雅)……大大减少了兄弟们按计算器的工作时间。这种“懒”员工,你是领导你喜欢不? 事情没完,在实际测试的过程中,我们发现一旦研发修改了BUG,会引发其他用例的大崩溃(这类项目真悲剧,牵一发动全身),每次版本升级我们都不得不进行全面的回归测试。太坑爹了,这不是要命么? 聪明的测试同事们又想偷懒了,他们在数据库端写了一个数据匹配工具,每次新跑用例就拿正确的(已保存)数据文件自动去比对新产生的文件,自动返回比对结果。兄弟们再也不用每次回归都一行行打SQL去查数据了,棒极了。在研发修改BUG之余,他们自己写了一套存储过程,可以实现数据的自动回归和增量备份,再也不用每次把所有数据擦光从第一个交易日跑起了,棒极了! 说了那么多,其实就一句话:干一行,爱一行。
软件测试的流程是什么?
软件测试的流程:
1、根据软件设计需求制定测试计划,测试数据和测试用例。
2、搭建测试环境、执行测试用例。
3、提交测试报告。
4、跟踪Bug修改情况,不断测试完善产品。
5、产品的其他方面测试。
做软件测试需要具备哪些技能?
1、测试用例
测试用例是测试的根本,良好的测试用例,对测试起到的作用不言而喻。所以对于一个有一定基础的测试新人,应首先学习如何编写合理、有效的测试用例,同时,高效的执行测试用例,也是可以思考的问题。
2、测试方法
测试的方法有很多种,每种方法如何使用,使用的技巧,应做为一个重点去学习,毕竟快速、尽量多的发现BUG,是测试人员工作中重要的一个环节。
3、测试工具
自动化测试工具、测试管理工具、配置管理工具、其它测试辅助工具的使用,有一定的了解,能使用它提高测试工作的效率。
4、业务知识(需求理解)
能快速了解被测程序的业务知识及功能使用。对被测试对象有一个全面而正确的理解是做好测试工作的前提。即测试人员要知道它的业务流程、功能使用等。
5、文档撰写
文档在测试流程中有着举足轻重的地位,测试人员经常见到的,如:用例设计、缺陷报告、测试方案、测试计划等。所以,要成为一名优秀的测试人员或向上有一个好的发展,除了技术因素,良好的文档及文字处理能力也是不可或缺的。
6、操作系统使用与维护
熟悉当前最流行的操作系统,包括MS的Windows系列、Linux系列。比如现在使用比较多的是MS的Windowsxp。熟知起码的操作和快捷键使用,熟练常用工具安装卸载。
7、熟练使用Word、Excel,文字输入
编写测试用例、测试报告(BUG单)、软件使用手册是测试工程师必不可少的工作,因此word、Excel常用功能使用必须要熟练,如常用的插入图片、表格绘制等。快速的文字输入,也是体现工作效率的一个方面。
8、能处理日常工作中经常出现的计算机问题。除了会使用计算机,学会如何修理他,如何更好的使用它也是很重要的功课。
9、沟通技巧
学会和团队内部人员的沟通,学会如何与程序员打交道。沟通是人学习和进步的一个捷径。做为一个新人也许会有很多地方不足,如技术上的缺陷,公司业务的不了解,良好的沟通可以尽快的弥补不足。
10、学习能力
主动、自觉、积极是必须的,他人教授的知识往往太有限,不能等到知识要用的时候才去学,要在平常的学习中积累。现在的技术日新月异,不会很正常,学习即可,须知人皆由学习从无知者变成智者。
软件测试的方法一共有几种
1、从是否关心内部结构来看
(1)白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。
(2)黑盒测试:又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性,它是站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行的测试。
(3)灰盒测试:是一种综合测试法,它将“黑盒”测试与“白盒”测试结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执行信息和外部用户接口结果的测试技术。
2、从是否执行代码看
(1)静态测试:指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
(2)动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。
3、从开发过程级别看
(1)单元测试:又称模块测试,是针对软件设计的最小单位----程序模块或功能模块,进行正确性检验的测试工作。其目的在于检验程序各模块是否存在各种差错,是否能正确地实现了其功能,满足其性能和接口要求。
(2)集成测试:又叫组装测试或联合,是单元测试的多级扩展,是在单元测试的基础上进行的一种有序测试。旨在检验软件单元之间的接口关系,以期望通过测试发现各软件单元接口之间存在的问题,最终把经过测试的单元组成符合设计要求的软件。
(3)系统测试:是为判断系统是否符合要求而对集成的软、硬件系统进行的测试活动、它是将已经集成好的软件系统,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、人员、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
在系统测试中,对于具体的测试类型有:
(1)功能测试:对软件需求规格说明书中的功能需求逐项进行的测试,以验证功能是否满足要求。
(2)性能测试:对软件需求规格说明书的功能需求逐项进行的测试,以验证功能是否满足要求。
(3)接口测试:对软件需求规格说明中的接口需求逐项进行的测试。
(4)人机交互界面测试:对所有人机交互界面提供的操作和显示界面进行的测试,以检验是否满足用户的需求。
(5)强度测试:强制软件运行在异常乃至发生故障的情况下(设计的极限状态到超出极限),验证软件可以运行到何种程序的测试。
(6)余量测试:对软件是否达到规格说明中要求的余量的测试。
(7)安全性测试:检验软件中已存在的安全性、安全保密性措施是否有效的测试,
(8)可靠性测试:在真实的或仿真的环境中,为做出软件可靠性估计而对软件进行的功能(其输入覆盖和环境覆盖一般大于普通的功能测试)
(9)恢复性测试:对有恢复或重置功能的软件的每一类导致恢复或重置的情况,逐一进行的测试。
(10)边界测试:对软件处在边界或端点情况下运行状态的测试。
(11)数据处理测试:对完成专门数据处理功能所进行的测试。
(12)安装性测试:对安装过程是否符合安装规程的测试,以发现安装过程中的错误。
(13)容量测试:检验软件的能力最高能达到什么程度的测试。
(14)互操作性测试:为验证不同软件之间的互操作能力而进行的测试。
(15)敏感性测试:为发现在有效输入类中可能引起某种不稳定性或不正常处理的某些数据的组合而进行的测试。
(16)标准符合性测试:验证软件与相关国家标准或规范(如军用标准、国家标准、行业标准及国际标准)一致性的测试。
(17)兼容性测试:验证软件在规定条件下与若干个实体共同使用或实现数据格式转换时能满足有关要求能力的测试。
(18)中文本地化测试:验证软件在不降低原有能力的条件下,处理中文能力的测试。
4、从执行过程是否需要人工干预来看
(1)手工测试:就是测试人员按照事先为覆盖被测软件需求而编写的测试用例,根据测试大纲中所描述的测试步骤和方法,手工地一个一个地输 入执行,包括与被测软件进行交互(如输入测试数据、记录测试结果等),然后观察测试结果,看被测程序是否存在问题,或在执行过程中是否会有一场发生,属于比较原始但是必须执行的一个步骤。
(2)自动化测试:实际上是将大量的重复性的测试工作交给计算机去完成,通常是使用自动化测试工具来模拟手动测试步骤,执行用某种程序设计语言编写的过程(全自动测试就是指在自动测试过程中,不需要人工干预,由程序自动完成测试的全过程;半自动测试就是指在自动测试过程中,需要手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试)
5、从测试实施组织看
(1)开发测试:开发人员进行的测试
(2)用户测试:用户方进行的测试
(3)第三方测试:有别于开发人员或用户进行的测试,由专业的第三方承担的测试,目的是为了保证测试工作的客观性
6、从测试所处的环境看
(1)阿尔法测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试
(2)贝塔测试:是用户公司组织各方面的典型终端用户在日常工作中实际使用贝塔版本,并要求用户报告
扩展资料
软件测试的内容:
1 得到需求、功能设计、内部设计说书和其他必要的文档
2 得到预算和进度要求
3 确定与项目有关的人员和他们的责任、对报告的要求、所需的标准和过程 ( 例如发行过程、变更过程、等等 )
4 确定应用软件的高风险范围,建立优先级、确定测试所涉及的范围和限制
5 确定测试的步骤和方法 ── 部件、集成、功能、系统、负载、可用性等各种测试
6 确定对测试环境的要求 ( 硬件、软件、通信等 )
7 确定所需的测试用具 (testware) ,包括记录 / 回放工具、覆盖分析、测试跟踪、问题 / 错误跟踪、等等
8 确定对测试的输入数据的要求
9 分配任务和任务负责人,以及所需的劳动力
10 设立大致的时间表、期限、和里程碑
11 确定输入环境的类别、边界值分析、错误类别
12 准备测试计划文件和对计划进行必要的回顾
13 准备白盒测试案例
14 对测试案例进行必要的回顾 / 调查 / 计划
15 准备测试环境和测试用具,得到必需的用户手册 / 参考文件 / 结构指南 / 安装指南,建立测试跟踪过程,建立日志和档案、建立或得到测试输入数据
16 得到并安装软件版本
17 进行测试
18 评估和报告结果
19 跟踪问题 / 错误,并解决它
20 如果有必要,重新进行测试
21 在整个生命周期里维护和修改测试计划、测试案例、测试环境、和测试用具
参考资料:百度百科-软件测试
软件测试具体是做什么的
软件测试是很多小白转行IT行业的首选,那么软件测试到底是做什么的呢?今天就跟着四川优就业的小编来了解一下。
软件测试是对开发人员提交的软件进行测试,模拟用户使用,发现问题。它是一个系列过程活动,包括软件测试需求分析,测试计划设计、测试用例设计、执行测试等。它贯穿于软件测试项目的整个生命过程,在软件项目的每一个阶段,都要进行不同目的和内容的测试活动,以保证各个阶段的正确性。软件测试工程师需要通过白盒测试、黑盒测试、等价类划分法、边界值方法等手段来找出程序错误,并提交给程序员修改。
那么白盒测试呢就是通过直接看代码来找bug,黑盒测试也就是手工测试,也就是在不看代码的情况下来测试功能有没有问题。灰盒测试则介于两者之间。单元测试、集成测试、系统测试则是通过不同单位进行测试。回归测试是二次测试,验收测试则是通过用户反馈来进行测试。等价类划分法、边界值方法、因果图法、判定表法、正交排列法、错误推算法、场景法编写测试用例属于功能测试,负载测试、压力测试则属于性能测试。
想要了解更具体的测试方法,来优就业学习软件测试吧。优就业的软件测试课程还是不错的。它的师资都是具备多年项目经验的精英,跟着他们学习,不用愁发展。另外,优就业采用的教学方式,使你的学习效率更高。
以上就是小编整理的软件测试是做什么的?相关信息。关注学分高考了解更多相关知识!(本文共20159字)