测试工程师

【今日头条】测试工程师面试题

試著忘記壹切 提交于 2020-01-02 19:07:48
第一套 答案整理如下: 算法题 二叉树遍历 思路 遍历,就是按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访问一次,而且只被访问一次。 分为递归算法、非递归算法 递归算法又分为:先序遍历、中序遍历、后序遍历 递归算法 //输出 void Visit(BiTree T){ if(T->data != '#'){ printf("%c ",T->data); } } //先序遍历 void PreOrder(BiTree T){ if(T != NULL){ //访问根节点 Visit(T); //访问左子结点 PreOrder(T->lchild); //访问右子结点 PreOrder(T->rchild); } } //中序遍历 void InOrder(BiTree T){ if(T != NULL){ //访问左子结点 InOrder(T->lchild); //访问根节点 Visit(T); //访问右子结点 InOrder(T->rchild); } } //后序遍历 void PostOrder(BiTree T){ if(T != NULL){ //访问左子结点 PostOrder(T->lchild); //访问右子结点 PostOrder(T->rchild); //访问根节点 Visit(T); } } 非递归算法比较复杂,每一级都需要循环所有孩子节点

测试工程师相关技能整理

两盒软妹~` 提交于 2019-12-05 07:16:44
通用技能 业务相关 业务需求知识 业务管理流程 行业现状和发展方向 管理相关 时间管理(四象限法则) 重要且紧急 重要不紧急 紧急不重要 不紧急不重要 目标管理(SMART法则) S(Specific):目标明确 M(Measurable):目标可度量 A(Attainable):目标可实现性 R(Relevant):目标必须和其它目标具有相关性 T(Time-based):目标具有明确的截止期限 知识管理 工具:xmind、有道云笔记、印象笔记、Blog、GitHub、CSDN、testerhome等 团队管理 team leader 任务分工 工作汇报 部门协作 员工技术成长体系建设 员工身心健康发展 team worker 任务职责边界 敢于担当,对自己负责,对团队负责,对公司负责 彼此包容、和谐相处 思考和沟通 思考 今天完成了什么内容、明天需要做什么 自己哪些方面做得好,哪些做得不够好,下次需要改进 近期工作计划、学习计划(制定todolist) 职业规划 人生规划 沟通 敢于沟通:主动了解和听取对方的想法,敢于表达自己的观点 勤于沟通:多和别人交流自己的意见和想法 善于沟通:提升沟通技巧和效率 工具 抓包工具 fiddler Charles wireshark 缺陷管理工具 jira 禅道 文档协作管理工具 wiki--协同创作超文本系统 Docs--在线协作编辑工具

为什么很多人公司都在招测试开发?

匿名 (未验证) 提交于 2019-12-02 23:55:01
**为什么很多公司都在招测试开发? 看到很多人解释为什么公司都要招聘测试开发,在说效率,在说岗位职责,没有人从这个行业发展的变化去说的。 在开始正文之前,我先抛出一个观点, 做80%的做测试的,都称不上为测试工程师 。 好的,带着这个观点,咱们从行业目前的发展来说一下。如果你没有进入这个行业,那么有些概念可能不太理解,没关系,先接触一下。 这里我所说的“ 测试左移 ”,也就是指的研发阶段的质量保证,“ 测试右移 ”也就是发布后的质量监控,搞明白这连个理念,就能很清晰的明白测试开发具体指的是什么了。 如果你是测试人员,你认为自己的公司不大,这些东西涉及不到我,我不关心。那么,上面我已经说了什么是测试开发了,下面就不用往下看了,你选择坐井观天,谁也拦不住的。 下面我就说一下整个测试行业目前,一个整体的一个现状。 这些情况不是我一个人得出的,是私下同阿里、360等行业内的测试经理交流所公认的。 第一个观点:XP、Scrum、CI/CD/DevOps的项目管理迭代的方法论的流行加大了测试压力 你要是刚开始进入这个行业,可能认为测试就是找bug,但是测试工程师的核心是质量保证。举个例子,以前一个项目,按月发布,两月发布一个,一月发布一个,现在呢,一个月也慢慢变成了两周,三周,甚至一周,甚至有的时候2天就可以发布一个功能,如果是按照这个节奏,研发只需要改一行代码,你要保证这一行代码的正确性

测试工程师,选择python还是java?

匿名 (未验证) 提交于 2019-12-02 22:51:30
问:“你平时工作中,用java多还是用python多”? 答:“都还可以,根据具体的场景选择不同的语言”。 问:“比如说呢”? 答:“开发自己的测试平台,肯定会选择java;在centos服务器跑一些脚本,会选择python或shell;某些压测场景,追求高并发,可能会选择go语言”。 问:“我java和python都学了一些基础知识,不知道该选择哪种语言”。 答:“可以先选择一门你相对擅长的语言,先开始用起来”。 这是前两天,一位身边的小伙伴和我的对话。 相信有这样疑问的人不在少数,就是自己到底该选择python?还是java?作为自己主要的语言,这样就能专心的将一门语言学好,因为人的精力毕竟是有限的。我先抛出我的观点和建议:“ 其实语言是次要的,毕竟都是为测试工作服务,不要让选择阻碍了我们前进的脚步。你要做的仅仅是行动起来!就选择python(其实语言无所谓,我的建议如果没基础,就从python开始),先用起来再说。 不要怂,就是干! ” 拿我自己的经历来说,我刚开始工作的头两年主要用java做研发,后来转成测试工程师后,发现有些场景,更适合用python实现,于是开始尝试写python。我从来没有系统的去学习python的基础知识,就是用到什么不会了就查查资料,慢慢的就大致知道了python咋玩的。所以, 编程语言是用起来的,不是学起来的!(这句话略有些偏激,是我个人的想法)

浅谈渗透测试人员职业发展路线

无人久伴 提交于 2019-12-02 21:25:34
引言 你有兴趣成为 渗透测试工程师 吗? 如果你对”五环法和脆弱性评估,以及利用系统和有效沟通调查结果的能力有一个透彻的理解",那么这可能就是适合你的领域。 一个 IT 专业人员如何才能成为渗透测试工程师? 这个问题没有单一的答案; 事实上,渗透测试人员们可以来自不同的阶层。 他们可能是网络管理员或工程师,系统或软件开发人员,拥有 IT 安全学位的毕业生,甚至是自学成才的黑客。 不管这个专业人员已经拥有什么样的技能和知识,所有的渗透测试人员都需要获得正规知识,并且将理论和实践经验正确的组合起来,这才能够在这个行业取得成功。 要做到这一点,他们需要训练,需要始终保持最新技术的更新,以及针对黑客攻击要具有领先一步的能力。 渗透测试工程师们的岗位需求量很大,因为这个领域缺乏真正的人才。 如果你感兴趣,那么你会在这篇文章中找到关于可能的职业道路和学习机会的清晰信息。 渗透测试的职业道路和认证许可 有一条非常标准并且也是最常见的渗透测试人员职业道路: 获得信息技术学科或网络安全的正式学位后,从事系统或网络管理员的工作,经历过专门的黑客道德培训的安全职位。 然而,正如前面提到的,渗透测试工程师也可以走非传统的道路; 一些人甚至没有正式的学位,由于个人的知识和技能,通过自学的培训课程和证书来开始他们的职业生涯。专业人士可以获得许多证书。以一个更广泛的选择来开始职业起步通常是一个好主意,如

网络安全测试工程师职能

人盡茶涼 提交于 2019-12-02 21:20:05
网络安全测试工程师职能 风控部门【信息安全专业】>>>>>【信息安全】 网络安全测试 任职具备技能 岗位职责:>>> 【1】负责为客户的IT基础设施和应用系统(Web类和移动应用类)完成漏洞扫描、渗透测试服务。 【2】协助项目组完成IT基础设施、应用系统等技术评估,如:操作系统、数据库、Web服务器、防火墙、IPS/IDS、WAF。 【3】协助项目组为客户提供IT风险咨询服务。 必备技能:>>> 【1】熟练掌握Nessus、Nmap、Acunitrx、Burp Suite、Sqlmap、Metasploit、Wireshark、 Aircrack-ng等常见安全测试工具使用; 【2】具备Web渗透测试和移动应用渗透测试能力(iOS/Android); 【3】具备网络扫描和基础架构设计审阅的能力; 【4】具备代码审计能力; 【5】熟练Web攻防 安卓及IOS应用分析 【6】熟悉VBA、Java、Python、.net等编程语言 【7】熟悉以下任一SQL、Acess、Oracle、SAP等系统。 能力要求:>>> 优秀的英文书写、阅读能力和良好的中文沟通能力(如候选人在信息安全技术领域的经验及技能较为出众,可降低英语方面的要求); 工作灵活主动,具有求知欲; 抗压能力强,能够适应灵活的工作时间。 来源: CSDN 作者: ChengKaoAO 链接: https://blog.csdn

软件测试必须要知道十个关键点

纵然是瞬间 提交于 2019-12-02 16:42:15
软件测试行业急需大牛   记得2年前刚毕业的时候听说了软件测试这个行业,当时也去百度仔细进行了一番搜索,评价基本千篇一律的看好。看好的原因在于,专家认为未来的互联网市场用户体验至上,而产品质量与用户体验有紧密的联系,自从近年产品经理岗位火了之后,人人都是产品经理的概念深入人心,但其实人人也都要具有质量观念,出色的产品质量可以提供更好的用户体验。   说被专家一席话打动有些牵强,当时就是因为自己的开发功底不足,退而求其次选择了 杭州软件测试 (www.proginn.com/users/hangzhou/csgcs/)一家公司谋生。而生活中很多事都要亲历了才知道究竟是怎样~其实,国内的软件测试行业没有书中以及媒体描述的那么好,规范、流程都需要各个公司摸索制定。流程是否规范,对测试的能力要求高低,自动化与接口测试完善与否,很多工具平台或软件是否能够重复使用,这都说明着该公司在软件测试方面的积累。   但凡接触过软件企业的人应该都知道,从公司的生态链来说,软件测试属于最下游,这也决定了很多情况必须要被动接受。即使某个测试攻城狮理论知识丰富,辨识风险能力强,在测试中独具慧眼,但是一个产品需求的变更就可以让他傻眼,接着很努力的去适应这种节奏。也许他抱怨,也许他吐槽,背后将产品、运营骂了N多遍,但是毫无用处,产品运营主导必然是趋势,测试主导是做不出好产品的。   还有一个点的确争论了很久

不懂网络知识,测试工程师真的能走得很远么

南笙酒味 提交于 2019-12-01 21:59:55
导语:不懂网络知识,测试工程师真的能走得很远么? >>背景 随着现在互联网公司的普及,越来越多的测试工程师从事web应用测试和移动APP测试类的产品,更加偏向应用,所以导致越来越多的测试工程师对网络基础知道的甚少。   我曾经做过一个小调查,大概200多个测试从业者中只有不到20人知道如IP协议和路由协议这样的基础网络知识,这样的现象一点都不夸张。那么不懂网络知识,测试工程师真的能走得很远么? 我是在2010年左右进入测试行业的,那个时候互联网行业还没有现在这么繁荣,需要测试岗位的公司很多都是一些传统公司,比如路由交换设备厂商:思科,华为,华三等;防火墙VPN的安全厂商:如Juniper,深信服,360等;还有一系列外企:如IBM,Oracle,F5等。这些公司的测试工程师,对于网络基础知识的要求相对比较高,不仅在笔试面试中会作为招聘的门槛,而且在具体测试工作开展过程中,也需要实施和使用到。 我在北京就职的其中一家公司就是SSL VPN的一家外企,所有测试工作中很重要的一个部分就是需要自己准备测试环境,也就是要根据需求自己设计出来对应的测试网络拓扑图,然后协调到资源之后,在实验室把这个网络搭建并且调通。   这个过程如果没有丰富的网络知识储备,你就可能会被block在网络环境准备阶段,无法真正的开始执行测试用例,因为没有环境的承载,测试软件根本无法运行。   当然

测试工程师面试常见问题(测试基础,人事问题,自由提问环节)

时光总嘲笑我的痴心妄想 提交于 2019-12-01 18:14:14
对测试面试常见问题做一些总结归纳,以便后期查找: 测试基础: 1.项目流程 2.测试流程 3.bug包含哪些元素 4.bug的生命周期 5.用例包含哪些元素 6.怎么提一个质量比较高的bug 7.如果没有需求文档或者产品说明书,可以进行测试吗?可以从哪些方面开展测试? 8.如果你提了一个bug,开发觉得不是一个bug,你会怎么处理? 9.你项目中用了哪些工具,掌握到什么程度? 10.为什么要写测试用例?写测试用例的关键是什么? 11.如果两天后项目就要发版了,但是你的工作还没有做完,你会怎么做? 12.你印象最深的一个bug是什么?是什么原因引起的?是怎么解决的? 13.你印象最深的一个用例是什么? 14.如果你对接的开发老是犯一些低级错误,你会怎么处理? 15.如果在工作中你和领导的意见不一致,你会怎么处理? 16.你认为一个好的用例的评判标准是什么? 17.你写用例一般从哪些方面考虑? 18.你了解哪些测试方法,请举例说明。 程序题: 冒泡排序等 考察基本编程能力和编程思想 人事问题: 1.近3-5年的职业规划? 2.你觉得你想对其他人有什么优势? 3.稳定性? 4.是否愿意加班? 5.为什么想从事测试工作? 6.你找工作时,最考虑的因素是什么? 7.你对我们公司有过什么了解吗? 8.如果在工作中,你和领导的意见不一致,你会怎么解决? 你可以对公司提问: 1.什么时候可以转正?

腾讯测试工程师:你以为会打LOL就能做测试了?

自作多情 提交于 2019-12-01 09:17:23
  周日参加完公司团建,回家路上拼到一个IT界的老司机,他和几个朋友组件团队承接开发项目,知道我是做测试的,问了我一个问题:   “你们大公司的测试都做什么?”   “测试应该不好模仿吧?”   刚开始我也不清楚他的目的是什么,经过几个收敛性的问题,确认他遇到的困难:   1、 曾经一个项目,客户验收的时候发现多个低级错误,他觉得很没面子,客户信任度也遇到了问题。   2、 随着移动互联网的兴起,他们团队自己做的一个APP(包括运营)问题太多,用户丢失严重。   3、 自己不知道怎么测试,开发完成后团队内部交叉测试,问题(严重问题)仍然很多。   4、 开发不愿意做测试,好吧,这是人之常情,招聘过一个比较LOW的测试,成本太高,效果也不好。   了解这些后,我讲了一件事,我一个朋友跟我说:    “我喜欢玩LOL,已经玩了X年,天梯排名XX,特别喜欢LOL,想去你们公司做LOL的测试,帮我推荐一下好吗?”   那么问题来了?LOL打得好就能做测试吗?显然不是。测试是技术工作,不是在屏幕上点一点,随便用一下。    大致分为:   1、 需求分析、系统分析和测试分析,主要是通过经验找出风险,以及编写用例。代码review。所以经验和技术都很重要!   2、 测试用例执行,检查需求实现是否正确,质量好坏(交付影响有多大,是否达标)   3、 质量流程和标准的建立