软件测试工程师

十道腾讯软件开发工程师面试题

▼魔方 西西 提交于 2021-01-24 21:04:22
  本来在一家杭州软件测试公司工作,三月初的时候无意中收到深圳腾讯云的电话(对方表明身份后,说看到我的简历,想和我聊聊。当时没有电面经验再加上也没有进来也没有投简历,爽快的答应聊就聊呗。上来就是技术问题,当时蒙了,我简历也不知道啥时候怎么他就知道啦,当时电面后想着估计黄啦),后面就没音讯啦,从那次以后开始踏上2016找实习的征途。之后再内推腾讯互动娱乐,没收收到电面。所以按照正常的实习生流程走下来。经过笔试,一个礼拜后于4月9号夜收到腾讯一面通知(4月10号),今天特意分享一下《十道腾讯软件开发工程师面试题》希望大家能够受用。   1、介绍一下你自己。(严格来说这个不能算一个问题,每家公司基本都要问)   一、OSI模型有几层?   二、说说C++的多态?为什么使用虚函数比非虚函数耗费的时间更多?   三、有一个全局变量int a=0,现在两个线程各自循环执行100次a++操作,问最后a的值是多少?   四、对于海量数据,用什么数据结构存储用户搜索的高频关键词比较合适?比如,当用户输入“黄”字,输入框要自动显 示“黄晓明”,“黄蓉”,“黄山”,“黄鹤楼”等提示,但是能存储的量很有限,所以需要选择恰当的数据结构。(我先后说 了数组和堆,似乎都被否决了)   五、智力题:一片草地的草每天匀速地长,m只羊花p天能吃完,n只羊花q天能吃完,问现在k只羊花多少天能吃完?( 记不清m,p,n

你真的了解软件测试行业吗?

大憨熊 提交于 2020-04-22 08:38:20
  很多人懵懵懂懂进入了软件测试行业,有些人做的开开心心,事业发展顺顺利利,有些人不断地换工作,每次工作都不开心,不知道是自己怎么了,还是周围怎么了。在不断地换工作过程中,你有考虑过自己是否适合这个行业吗?下面我来给你讲下软件测试人员的基本素质。   软件测试人员的基本素质你根据自己的判断觉得自己很OK,想入行,但软件测试行业会喜欢你吗?你符合行业的职业道德吗?可能有些人觉得这都不重要,重要的是我喜欢。但是我个人觉得这很重要。这里插一个真实的例子:一家 杭州软件测试 (www.proginn.com/users/hangzhou/csgcs/)公司主管上周开掉一个很有技术能力的成员,一个执行能力、理解能力、做事非常有效的成员,我曾在领导面前多次夸赞他的做事有效率,但最终我不得不下定决心开掉他。理由是:无团队协作精神,无法和他人一起和谐开展工作。   学习技术都是很快的,只要你聪明,只要你用心,技术都应该不是难事,但有些素养是很难培养的,这个跟成长的环境、接受的教育、心智的成熟等都有很大的关系。人无完人,有些人能准确的感知自己是否符合要求,对做的不好之处会自动调整;有些人需要提点才能感知,他会按照别人的意见去改变:而有些人被提点了也感觉不到,因此他们一直不会变,他们觉得自己没有错,为什么要改?而团队中如有一个人一直不断地同一个错误,终究会被团队抛弃。   每个行业除了对硬技术的要求

软件测试

China☆狼群 提交于 2020-03-27 00:17:17
软件测试 测试的目的是为了用测试用例test case找到bug,测试用例集test suite是一组相关的测试用例。 bug可以分解为症状(Symptom)、程序错误(Fault)、根本原因(Root Cause) 测试的分类 按测试设计的方法分类 测试可以按照测试设计的方法分为黑箱(Black Box)和白箱(White Box) 黑箱是指在设计测试的过程中把软件系统当做一个黑箱,无法了解或使用系统的内部结构及知识,即从软件的行为,而不是内部结构出发来设计测试。 白箱是指在设计测试的过程中,设计者可以看到软件系统的内部结构,并利用这一点来选择测试数据及具体的测试方式。 按测试的目的分类 可以分为功能测试和非功能测试。 功能测试就是测试软件的基本功能,测试的具体种类如下: 为了测试非功能需求(Non-functional Requirement)和服务质量需求(Quality of Service Requirement),当基本功能完成之后还需要做非功能测试: 按测试的时机和作用分类 在软件开发的过程中,不少测试起着烽火台的作用,它们告诉我们软件开发的流程是否顺畅,这些测试如下: 此外,根据不同的测试方法还分为以下几种: 具体的测试方法 之前我们提过单元测试、代码覆盖率测试和回归测试,除此之外还有很多测试方法。 构建验证测试(Build Verification Test

软件测试书籍一览表

不问归期 提交于 2020-03-24 14:51:53
3 月,跳不动了?>>> 最近收藏了许多软件测试的书籍,也在淘宝网站销售。 所有的图书:   测试 入门    软件测试 (第2版)   Software Testing (2e), Ron Patton   一本测试入门的好书,较全面地介绍了各种测试领域和方法,为测试新手提供了正确的观念和宽泛的基础。    软件测试的艺术(第2版)   The Art of Software Testing (2e), Glenford J. Myers, Corey Sandler, Tom Badgett, Todd M. Thomas   一本“久经考验”的测试经典:1979年,第一版面试;25年后,第二版登场。平心而论,有些观点已经不能直接应用在测试实践中,但是仔细品味仍有所收获。毕竟,这是一本需要思考的书,而不是操作手册。    软件测试实战--测试Web MSN   蔡为东   以Web MSN为测试对象,形象生动地介绍了针对图形界面的 黑盒测试 技术,有很强的实践性。围绕一个实例,全面地的介绍各种测试方法,是此书区别于其他测试书籍的一大特色。附文《胶着》是作者一段开发经历的回顾与小结,有笑有泪,仅凭此文便值回书资。    软件测试工程师面试指导   蔡为东   面向初学者,介绍了软件测试行业、测试工程师素质要求、基本 测试技术 、求职策略、面试技巧、典型试题

软件测试的核心价值

喜夏-厌秋 提交于 2020-03-21 03:21:06
既然是“核心价值”,就应该能用一句话说清楚。关于软件测试的核心价值是什么,各种观点争论了很久,似乎很难得出一个明确的结论。这里有个很重要的原因,就是我们都深陷在测试工作的细节里面,没办法看清自己的位置和价值。不识庐山真面目,只缘身在此山中。 要想搞清楚这个问题,我们必须走出围城来进行分析,如果把软件测试看成一种服务,那么从客户的视角来评判,最合适不过了。下面讲一件真实的事情。 有一次我回家跟老友一起吃饭,聊起最近的工作。老友的单位是一家大企业,几个月前委托一家软件开发公司,开发了一套很大的企业管理软件。现在软件已经开发完成,进入了验收阶段。现在问题来了,负责验收软件的是信管部,部门老大非常担心软件的质量,希望能在验收签字前,把软件的严重质量问题都找出来,可是又不知道该从哪下手,如果能有一个权威的软件评测机构,对软件进行专业的测试,就最好了。 “你们淘宝的软件测试,应该做的很专业吧,能不能帮我们来测试一下这个软件?你们接这种业务么?”老友提出这个问题。 虽然淘宝测试现在还没有这种外接服务,不过这是一个难得的,饶有趣味的话题。 “那你想要我们来测试哪些东西呢?哪些地方最担心?” “主要是性能吧,如果全公司人一起来用,不知道会不会出问题。还有就是数据的安全方面,公司的重要数据一定要绝对安全,不能被挖走。” “那软件的功能呢,功能需不需要我们来测一下?” “功能就不用了

考软件测试工程师都需要学什么?

亡梦爱人 提交于 2020-02-29 17:56:38
模块一:全栈测试环境配置管理 物理机测试环境管理: 1.物理机环境基础; 2.物理机操作系统; 3.物理机命令行管理; 4.物理机网络配置; 5.SVN配置管理; 虚拟机测试环境管理: 1.虚拟机基础; 2.虚拟机操作系统管理; 3.Linux命令和网络配置; 4.Linux软件包管理和内核配置; 5.shell应用 Docker容器环境管理: 1.容器技术基础; 2.Docker概念与基本操作; 3.k8s配置与使用 模块二数据库测试技术: 1.库表操作; 2.对数据进行增删改查的操作; 3.多表操作;视图和索引;事务和锁 模块三WEB测试技术: 1.HTML5基础; 2.CSS3选择器; 3.JavaScript相关技术 模块四测试理论与方法: 1.软件测试过程模型; 2.常用的软件测试方法; 3.软件测试生命周期与流程; 4.软件测试计划; 5.软件测试用例设计方法; 6.缺陷识别与跟踪; 7.WEB测试方法; 8.安全测试技术等。 模块五测试开发技术: JAVA语言或者Python语言的学习。 模块六移动端测试技术: 1.Android测试环境配置; 2.adb命令; 3.移动端测试技术; 4.monkey自动化测试; 5.appium自动化测试 模块七WEB自动化测试技术: Python+Selenium技术 模块八性能和接口测试: 1.LoadRunner工具使用; 2

做软件测试三、四年的给新手的建议

给你一囗甜甜゛ 提交于 2020-02-26 12:22:02
做 软件 测试 三,四年了,确实正应了那句“测试不如 开发 ”,只是个人观点,而且我 工作 过都是外企和大型国有企业,软件测试 流程 和 管理 都相对很规范化的。 下面几点给做测试的朋友参考一下: 1、钱肯定少过开发人员,除非你工作七,八年才能拿年薪10W以上,一般的软件测试工程师很难上6K以上,开发人员工作四,五年后拿7,8K是太多数的。 2、加班的现象可以说是很普遍,周一到周五随时加班是很正常的,周末肯定有一天要加班。 3、不管怎么样努力和用什么测试效果的 数据 说明,领导还是不太重视测试部,领导认为我们测试的没有什么 技术 含量。但是我们已经在流程上改进很大, 使用 测试管理 工具 和 自动化 测试工具来提高测试生产力等等,这些努力的结果好象只有我们的老大才得分比较高,我们下面的小兵就只有吃苦的份。 4、团队合作精神比较差,都是做技术的人的通病,以为你在一间公司呆久了,就很牛B一样,说话口气难于接受,好象现在公司就是他的一样。这个 问题 在几间公司里面的测试队伍中得到证实。在工作之余,很少团队一起聚餐或是出外游玩的机会,好象大家就知道上班---吃中午饭--上班--吃晚饭---加班---下班回家---睡觉的简单模式。 5、人际关系和沟通技能都很重要,这一点不用我多说,大家都知道的。 6、还有一点要提醒测试人员的是:做测试容易懒惰,因为重复性的工作比较多,然后在公司呆着好好的

大部分软件测试工程师的出路?

岁酱吖の 提交于 2020-02-22 12:53:33
今天,思索下软件工程师的出路。 首先,必须肯定,无论是哪个行业,只要成为精英,不愁发展。但是,绝大多数人,由于各种原因,成长并不顺利。 下面是知乎的一些内容: 石头哥 公众号:大话IT公司 118 人赞同 谢邀,这个是笔者测试岗位工作7年的总结,有兴趣可以看看。 —————分割线———————— 从毕业到现在已经快七年,同时也进入了30岁的门槛。以前一直以为30岁是一个离自己很遥远的年代,不过却这么快就来到了,好像毕业还是就在昨天。 七年的时间足够让一个人无论从身体、财富、思想、人际关系等等方面发生质的变化。比如:笔者现在身体就大不如前了,也许这也是一个好的信号,提醒自己该注意了。 写了两段废话,这里回答下大家的疑问:为啥毕业不到七年,却标记为八年的测试工作经验呢?答案是:加班,呵呵。下面开始回到正题吧。 一般来说,做测试不久后(可能是半年,也可能是一年),自己就会去思考自己的职业发展方向。对于测试来说(转岗的不算),无外乎就四个方向:测试管理方向、自动化测试方向、性能测试方向和测试分析方向。每个方向要学习的重点都不一样,这里不去讨论哪个方向更加有前途,因为适合的才是最好的,下面分别讨论下每个方向大概的经历以及需要注意的地方。 测试管理: 测试管理一般来说过程为:项目经理->测试经理->测试总监-> 研发总监(CTO角色)。越往上走对具体的技术要求越低,但是对于技术(战略

软件测试管理方法(五)——软件缺陷管理

情到浓时终转凉″ 提交于 2020-02-08 01:45:13
0.软件缺陷的产生 软件缺陷 - Software Defect - Bug; 缺陷 的存在会导致软件产品在 某种程度上不能满足用户的需要 。 IEEE729-1983 对缺陷的标准定义: 从 产品内部 看,缺陷是软件产品开发或维护过程中 存在的错误、毛病等各种问题 ; 从 产品外部 看,缺陷是系统所需要实现的 某种功能的失效或违背 。 在软件的开发测试过程中项目组会特别关注软件缺陷的状况,这是因为一方面软件缺陷状况是项目质量和状态的重要指示数据,另一方面越到软件生命周期的后期修复软件缺陷的成本越高。 1.常见的缺陷 功能没有实现或与需求规格说明不一致; 界面、消息、提示、帮助不够准确或误导用户; 屏幕显示、打印结果不正确; 软件无故退出或没有反应; 边界条件未做处理,输入错误数据没有提示和说明; 运行速度慢或占用资源过多; 与常用的交互软件不兼容; 有时把尚未完成的小 功能 也归属于 软件缺陷 2.产生原因 在软件开发的过程中,软件缺陷的产生是不可避免的, ” 零缺陷 ” 是软件产品很难达到 一个 状态。 导致 软件缺陷产生的原因也是多种多样的,软件工程过程中的人、过程、工具都有可能导致产生软件缺陷,过程中的每一个环节都有可能产生缺陷,概括来说这些原因可以归结为四大类。 软件本身的复杂性 和抽象性: 在产品真正完成之前,每个人对软件的理解都不完全相同

《软件测试工程师》10 测试环境搭建

蹲街弑〆低调 提交于 2020-01-30 16:37:03
【10】测试环境搭建 分平台:windows, Linux, Unix, 分构架:J2EE(JAVA 平台 + JSP); .NET (APSX); LAMP ( PHP) 分web 服务器:Apache,tomcat,resin,jboss,weblogic,websphere, 分数据库:SQL SERVER, MYSQL, ORACLE, DB2, SYBASE 虚拟机 VMware workstation: 搭建,找时间单独搭建一下 【安装JDK】 JDK: 安装时,安装文件路径,不要放得很深,放浅一点可以提高测试效率(如:c: java). 环境变量一般包括 3 个: 1. 新建用户变量:JAVA_HOME, c:\java (JAVA_HOME 便于其他应用调用JAVA) 2. 修改系统变量的PATH:在变量值的最开始,添加c:\java\bin; 3. 系统变量 - 添加类文件变量:CLASSPATH (变量值:.; C:\java\lib\dt.jar;c:\java\lib\tools.jar;)                       = 现在本文件查找;如果失败,再依次到后两个位置查找; 环境变量配置位置:我的电脑 - 右击 - 属性 - 高级 - 环境变量 确认是否安装成功:在terminal 运行:Java -version, 显示java 版本