软件测试工程师

软件测试工程师经典面试题

a 夏天 提交于 2019-12-01 18:12:28
  软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位,问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件测试框架性的问题,测试环境搭建问题、当然还有一些自动化测试和性能测试的问题。测试工程师的面试题,基本上都是大同小异的,面试的核心主要在于框架模块 (一到两年工作经验) 。今天这篇帖子主要讲解之前面试自己面试过程中或者周围人面试过程中经常被问到且比较经典的面试题,一家之言,如有异议或者有想问的问题,可以在评论区留言,看到后将在第一时间内回复! 1、软件测试的流程是什么?    分析: 每当HR问一个问题的时候我们都可以用1~2s的时间去想HR想要从这个问题中获取什么信息,这点搞清楚之后再去回答就很好回答了。如果有工作经验,直接按照公司流程回答即可,如果是刚转行或者刚实习,那按标准回答即可,文中回答仅供参考;    回答: 项目经理或者PD把项目需求文档提前下发给相关的研发人员,研发人员抽出一定的时间记录文档内需求不明确或者遗漏的点为后面的评审做准备;在需求评审会议上,各研发人员提出自己的疑问并解决,需求评审最终通过之后会出一份最终的需求规格说明书; (需求评审阶段)     需求规格说明书评审通过后,开发经理开始编写开发计划,测试经理开始编写测试计划

一文带你搞懂什么是测试开发!

对着背影说爱祢 提交于 2019-12-01 09:45:21
0 1 开始前说点什么 需要说明的是,原文发表于作者的公众号中,文章篇幅虽长,但内容朴实、且能帮助读者进一步理解测试开发工作,请读者耐心品完~ 1. 自我反省 公众号开通了也有两年多了,除了刚开通的那段时间发文比较频繁之外,从去年上半年开始,几乎很少再去打理了,翻了翻历史推文,从时间频率来讲,基本上平均2~3个月才更新一篇文章,工作忙虽是一方面,但这也只是借口,归根原因还是不够坚持。 2. 养成投资自己的习惯 最近一直在思考,当初为什么要开办公众号?有些读者可能会想:“是不是就想弄个渠道引流打广告!”,上周确实也帮朋友在公众号内做过一两次专栏推荐,但我想说的是,虽然有些小部分推文有些推广的成分, 但请试想一下,推荐给大家的学习专栏,都是实实在在能帮助大家提升自己技能、打造职场竞争力的有用课程,并不是无用的。 经常有周边同事或者读者跟我说:“你怎么会懂得那么多种类的专业知识啊,而我自己啥都不会,但又不知道怎么学,怎么办呢?”,我想对这些人说, 放开畏难情节,养成持续学习的习惯 ,这样知识技能的积累才能越来越多、越积越厚。现在社会上有很多人,喜欢投资房子、投资脸蛋、投资享乐,当然这些都没有错,但真正的长期投资,应该是投资自己,知识的投资对于自己来说,才是永恒属于自己的。 3. 回归初衷 前面说了那么多,更重要的还是想呼吁大家懂得投资学习,投资自己。回想当初为什么要开办公众号

软件测试分类

自作多情 提交于 2019-12-01 08:01:29
软件测试分类 1. 按照阶段进行划分 1.1 单元测试(Unit Testing) 单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。 测试阶段:编码后 测试对象:最小模块 测试人员:白盒测试工程师或开发工程师 测试依据:代码和注释+详细设计文档 测试方法:白盒测试 测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试 1.2 集成测试(Integration Testing) 集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。主要目的是检查软件单位之间的接口是否正确。 测试阶段:一般单元测试之后进行 测试对象:模块间的接口 测试人员:白盒测试工程师或开发工程师 测试依据:单元测试的模块+概要设计文档 测试方法:黑盒测试与白盒测试相结合 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响 补充说明: 单元测试是一个模块内部的测试,集成测试是在模块之间进行测试(至少两个) 1.3 系统测试(System Testing) 将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试 测试阶段

软件测试导论

纵饮孤独 提交于 2019-11-30 03:37:06
软件测试基础 需要学习的内容 了解软件生命周期 了解什么是软件测试 了解软件测试的目的 了解缺陷 研发组织和流程 1、什么是软件测试? 测试软件的bug;提升软件质量;验证软件的正确性;测试软件是否符合需求;测试软件是否符合客户隐形需求。 软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误的衡量软件质量,并对其是否满足设计要求进行评估的过程 2、软件测试的目的 1、找到软件的bug 2、证明软件可用 3、预防bug 测试的目的体现3个阶段 项目早期:开发对项目还不够熟悉,测试主要找致命或严重的bug 项目中期:整个项目比较稳定,测试证明软件是否可用 项目末期:软件的质量基本OK,可通过外部测试或者bug大少出找遗漏的bug 以下是软件生命周期 1,项目计划   项目计划是由谁来写的?项目经理(PM)   项目计划什么时候写的?项目启动之前写   项目计划里面包含的主要内容:who人员(做项目由哪些人) when时间(什么时间段做什么事情) what什么事情(做研发这个项目我们要做哪些事情) 2/需求分析   需求分析师由需求分析师来分析,需要分析客户具体想要的软件功能.界面以及不想要的比如错误处理等等 3/设计   设计是由系统架构是来设计的,需要输出需求规格说明书(SRS),概要说明书(HLD) 4/编码   编码是由谁来编的?开发工程师,要输出详细设计说明书

软件测试之性能测试,自动化测试,接口测试

我是研究僧i 提交于 2019-11-29 11:42:37
软件测试的上升道路只有写代码嘛,像那些性能测试,接口测试,自动化测试? 国外软件测试和软件开发人员的配比是1:1,而国内则是1:4甚至更少,可见国内对于软件测试人员的需求量是巨大的。而现在越来越多国内的软件公司认识到了软件质量的重要性,所以持续不断地在扩招软件测试人员。目前国内软件测试行业每年约新增20万岗位,但因为大部分IT院校尚未开设软件测试专业,所以每年企业和学校培养的测试人才还不足需求的1/10。所以从事软件测试行业,拥有一份工作并不是一件难事。 另外软件测试行业注重的是经验的积累,所以年龄大了并不会因为脑力体力跟不上而被迫转行,反而会“越老越吃香”。另外在职业发展上,软件测试岗位也是十分有前途的,积累了一定经验过后,甚至会比软件开发岗位更容易转到产品经理岗位。因为软件测试工程师会从多方位考虑问题,注重细节。另外如果专心钻研技术,有了几年经验后就可以从初级测试工程师晋升为中级或高级测试工程师。 软件测试除了有前途外,也很有“钱途”,软件测试并不像软件开发那么累,需要经常加班熬夜。测试工程师只要按时按量完成好工作就可以,相对来讲较轻松。但是软件测试行业的薪水并不比软件开发低,如果你会用简单的代码编写脚本,做自动化测试,那么你的薪资待遇还会更高。 不一定要 ,比如说后期转产品经理呀,要不然就做管理层 来源: https://www.cnblogs.com/cs1188/p

在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?

对着背影说爱祢 提交于 2019-11-28 15:20:59
导语:”在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?” 偶然在知乎上看到一篇关注度很高的话题,标题如上。 作为一名从业8年有余的软件测试工程师,并且一直在外企做测试的我, 忍不住想发表一些自己的看法和见解。 我觉得在国内,很多公司或者个人把自动化测试当成一个了不起的资本,根本是源于国内大家对代码的无上崇拜,这也造就了国内现在IT互联网行业内一个鄙视链: 开发---> 测试开发--->自动化测试--->纯手工测试。所以,在这个鄙视链中,纯手工测试属于底端被碾压的生物。 实际上,我觉得这是一种严重的偏见,并且体现了其对测试行业认知的极其不专业。 首先,我们不能否认自动化测试的作用,他肯定是将来软件测试发展的一个大方向。自动化测试将QA从繁重的重复劳动中解放出来,优化测试资源,提高测试效率,对产品质量保证起到积极的作用;另外,一个有自动化测试脚本、框架、工具开发能力的QA,更有竞争力也是一件毋庸置疑的事情。 但是,但凡做过测试工程师的朋友都知道,一些逻辑非常复杂的场景是很难用自动化脚本实现的,就算要强行实现,也性价比很低,因为太费时费力了。所以用手工测试来执行一些奇葩的场景更灵活方便并且可以发现很多问题;而且,从事过测试的人应该很清楚,同样的一个测试任务,交给不同的测试人员是会有特别不一样的结果

软件测试基础入门知识点

£可爱£侵袭症+ 提交于 2019-11-28 13:56:59
软件测试基础入门知识点 一、行业前景 前言 ​ 程序员之间流传着这样一句话:有人喜欢创造世界,他们做了开发工程师,有人喜欢挑毛病,所以他们做了测试工程师。 什么是软件测试 软件测试就是利用手工或测试工具按照测试方案和流程对产品进行功能和性能测试,简单的来说就是为软件做“质检”。 软件测试的重要性 ​ bug 的经济损失: ​ 软件 bug 对我们的生活,工作都会带来毁灭性的破坏。据悉,每年的软件 bug 会让整个市场经济带来近600亿美元的损失! 成立软件测试部门的原因 软件测试能提前发现软件存在的缺陷 社会分工越来越细 -- 要求软件测试越来越精细 专人负责,责任到位 二、测试基础 2.1、什么是软件测试 ​ 在规定的条件下对程序(App,.exe安装文件,网页等)进行操作,从而发现错误,对软件质量进行评估的一个过程。 2.2、软件测试的目的 ​ 是想以最少的人力,物力和时间找出软件中潜在的各种错误与缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患以及带来的商业风险。(注意这个问题的答案,经常会与软件测试的定义混淆) 2.3、软件测试的定义 ​ 使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。 2.4、软件测试的原则 所有的测试都应追溯到用户需求(视频网站,点击后最大化

老牌软件测试人员如何突破职业瓶颈扭转乾坤?

余生长醉 提交于 2019-11-28 05:42:17
任何一个职业都有瓶颈期的时候,软件测试人员也是如此。倦怠期、瓶颈期都是一个人在工作和生活上必须面对的一个坡,爬过去了一切安好,没爬过去可能回到原点。 对优秀的软件测试人员来讲,除了要具备全面的技能、丰富的经验、良好的心理素质,最重要的还有:态度。有端正的态度,会产生责任心,去尽力完成一切工作,努力克服困难。 从事软件测试工作久了,总会出现倦怠甚至排斥,这些是心里上的瓶颈期。工作进展没达到自己预期,和同事相处不太融洽,所负责测试的项目上线后出现bug,自身技能没有更上一层楼等,这些是工作上的瓶颈期。所以两方面夹击,出现瓶颈期也就难以避免了。 那么作为一个老牌软件测试人员,我们应该如何度过瓶颈期?如何突破瓶颈期? 1、学习是提升自己的唯一途径。 开发人员发展到高级程序员就会成为很多人的发展瓶颈,薪资和职务都很难再提升。而测试与开发相比的一个巨大优势在于它是一个新兴的领域,拥有更多的机会,测试人员工作三五年,再有一些管理经验,很容易做到测试主管,虽然薪资待遇相对低些,但是给个人的长期发展打好了基础。看准了就应该去做,实实在在的学到知识才是最重要的。 2、任何职业都有瓶颈期,正常看待。 工作一段时间难免会思考测试行业的职业发展,其实任何职业都会遇上瓶颈期,很正常。关键是要看你如何去克服它。 3、保持好心态和工作责任感。 优秀的软件测试人员,除了要具备全面的技能、丰富的经验、良好的心理素质

软件测试实习随记

允我心安 提交于 2019-11-26 09:32:43
软件测试分为黑盒测试和白盒测试,黑盒测试比较容易,不需要了解功能实现的代码逻辑,手动测试或者用工具测试就可以了;而白盒测试是根据软件设计文档进行测试的,需要了解代码各部分的接口再进行测试,本质上就是一名用代码模拟场景测试软件的可用性的程序员了,比较难同时也更牛,在工具很难测试的情况下,白盒能更好地测试出软件的性能性能,以及代码的问题,作为测试工程师,其思维将比普通的开发工程师思维更加缜密以模拟生产线上的场景,尤其是考虑一些边界问题。 实习中,从文档(需求和用户手册)接触开始起步接触项目,让我一步步了解到测试工作的重要性。一个项目从开发到发布,开发人员和测试人员是同等重要的,而且是相互独立的,没有开发做不成项目,然而没有测试无法发布项目! 在很多公司中大项目开发与测试人员的比例几乎是1:1,足可见测试的重要。 测试不仅是为了找bug,更是为了尽早修复缺陷,提高软件的质量。 其实在项目组中是比较缺乏测试人员的,我作为实习生能力也较为有限,黑盒测试比较快上手,测试工具很多也在慢慢熟悉,但想成为一名高级测试,更要懂得如何写测试脚本。 由于项目中使用webSocket技术实现实时聊天,工具很难进行压力测试,白盒测试尤显关键,测试不准确将直接影响发布后的效果。 在大神的带领下,我也在努力学习灰盒测试。项目组开发的是圆通的在线客服系统,使用go语言开发,鉴于大神资源比较多