既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
需要这份系统化的资料的朋友,可以戳这里获取
3.截图,直观的展示问题,有效帮助开发快速定位问题
缺陷的生命周期是怎样的?
1新建–提交–分配–修复–验证–验证通过关闭–验证不通过reopen
Alpha测试与Beta测试的区别?
1.Alpha测试:把用户请到开发方的场所来测试,用户在模拟实际操作环境下进行的测试,由开发记录下用户反馈的问题
2.beta测试:当开发和测试根本完成时所做的测试,很多不同的用户,在不同的环境下操作,然后用户把产生的问题,定期发给开发者,进行修复(开发不在现场)
3.通常现有alpha测试,后有bata测试
你认为做好软件测试应该具备哪些素质?
1.较好的技术能力
2.对业务逻辑的理解
3.良好的沟通能力
4.解决和分析事情的能力
作为测试人员,在与开发人员沟通过程中,如何有效的提高沟通效率和效果?
1.耐心的跟开发沟通,跟他阐述不过的重要性 说服他解决问题
2.充分尊重对方,哪怕再低级的bug都不要小看他
3.宽以待人,设身处地为他人着想 即使开发因为压力或者其他原因不肯合作 也要心平气和的跟他沟通 讨论bug的优先级
4.平时多跟开发沟通 无论是工作还是生活上的问题,但是测试一定要有自己的原则 对测试的产品质量负责
5.自己先定位问题 帮助开发缩小排查范围
你觉得软件测试工程师在一个团队中,都需要做什么?有什么价值?
1.在产品需求会上 可以站在用户的角度 提一些贴合用户需求的建议
2.测试阶段,根据自己对项目的了解和专业的测试技能 尽可能在项目上线前测出更多问题 保证产品质量
3.对测试过程中出现的问题 合理有效的进行风险评估。
4.对质量严格把关 测试不通过的 一定不能发布生产
你对软件测试最大的兴趣是什么?
1.行业前景比较好,而且近些年 越来越多企业更注重测试
2.测试时间越久 面临的困难和挑战也越多,解决问题的同时 也提高了自身的能力
3.自己的性格比较外向开朗 很容易跟产品和开发沟通 做起事情可以事半功倍
你对自己的职业规划是什么?
先做高级测试 有机会的话,想往管理方向发展,目前在携程做测试组长,也为以后管理做储备
在你以往的工作中,发现的影响大或印象深刻的Bug是什么?为什么?
印象深刻的bug:近期的一个项目,x发单n是发qmq消息,调用发单服务自动发单,测试过程中,我给开发提议加个手动发单–作为发单失败或者未发单的补偿,开发力争 生产不会出现发单失败的情况,但后来还是被我说服,在上线前,加个手动发单的功能。 上线第二天,公司qmq框架出现问题,产生消息消费的延迟,导致一段时间内的订单不能自动发单,这时候大家手动发单,解决部分订单,事情过后,开发更加肯定了 我当时的提的bug修复是正确的
在你以往的经历中,解决过的最困难的问题是什么?
环境问题,是所有测试人员都面临的一个难题;解决的那么多问题中,测试环境无法使用,无法快速的介入测试,仍然是比较突出的。曾经把一个长久未使用的环境,根据经验和clog定位,各个服务之间的调用,一步步完成调通
在你以往的工作或学习中,你最大的收获是什么?学到了什么?
1.业务的积累
2.通过各种自动化,如UI自动化,job自动化,api自动化,不仅提升了自己编码能力,也在每周的常规发布中,起到举足轻重的作用
3.长期的测试过程中,提升了自己解决问题的能力
在没有任何文档的情况下,你如何开展测试?
1.尽量的去获取其他的文档吧,比如开发的一 些设计文档—概要设计、功能设计、详细设计
2.尝试从网上找类似的项目文档,如果幸运,可以从公司的资料库找到类似的文档
3.按照开发的接口或者设计文档,按照功能模块划分,大致写一些用例,然后进行摸索测试,在测试过程中逐渐完善自己的用例
测试用例设计问题
- 测试用例是什么?如何设计有效的测试用例?
为了测试某个产品,编制的一组测试输入、执行条件以及预期结果 设计有效的测试用例:
1.明确需求,清晰的知道需求要实现哪些功能
2.根据需求文档,拆分出功能点和测试测试要点
3.详细的梳理业务需求,设计不同的业务场景,尽可能多的覆盖,尤其重要的逻辑,颗粒度要精细
4.具体逻辑的设计方法,遵循边界分析法,出问题最多的就在边界值,然后用等价类划分方法补充一些测试用例
5.UI测试,界面元素测试+样式+操作控件设计+浏览器兼容性相关的用例
6.时间充足的情况下,设计接口的测试用例,从而保证接口数据的用等价类划分方法补充一些测试用例完整性和正确性–目前携程提倡测试先行的概念,接口要在项目提测前,完成api自动化测试
- 输入三个整数,判断是否构成有效的三角形,针对这个设计测试用例
首先要设计满足三角形的条件,输入的三个数必须大于0,且同时满足任意两边之和大于第三边。假设三条边是A/B/C,则要满足的条件为A>0,B>0,C>0,A+B>C,A+C>B,B+C>A。以此为例来进行设计即可 有效等价类:A>0,B>0,C>0
- 针对文件上传功能,设计下测试用例
- 针对网上购物中订单提交的过程,设计测试用例
测试管理问题
- 你认为测试经理的工作职责和内容是什么?
1.负责建立和维护一个有效的测试流程;
2.负责测试团队的日常管理工作;
3.负责制定和安排测试计划、测试工作;
4.带领测试团队进行程序测试工作、按照制定的测试计划执行,并监督和控制测试工作的进程;
5.负责测试用例的质量,开发高效的测试用例;
6.负责与其他部门的人员沟通协作,例如与开发人员和项目管理人员进行沟通,共同推动项目的顺利进行;
7.负责测试团队的培训,培养团队队员的能力。
- 如果你作为测试Leader,你应该怎么建立公司的测试体系并实施它?
- 说明你作为测试团队的负责人,如何提高测试团队的技术能力?
- 列举你以往项目测试中遇到的风险以及你如何处理的?
- 如果当时间不充裕时,该如何安排测试?
- 列举你曾经做过的测试(你认为有技术含量的或者提高了测试管理能力的),并说下你从中如何受益?
- 在开发和测试存在不合作甚至对立的情况下,你如何平衡和协调工作?
自动化测试问题
- 你认为适合做自动化测试的标准是什么?
- 你认为什么类型的测试不适合做自动化测试?
- UI自动化测试的优点和缺点分别是什么?
- 在一个项目中目前还没有进行自动化,如果我想开展自动化测试,我应该怎么做(一般步骤)?
- 你认为该如何选择最适合的自动化测试工具?
- 什么是自动化测试框架?一个好的自动化测试框架应该具备什么元素?
- 说一下你写过的测试框架的代码目录结构是怎么样的?
- 自动化测试框架的类型有哪些?
- 说一下你在实施自动化测试过程中好的代码实践?
- 自动化测试是否仅仅可以是实施在UI层?为什么?
- 你是否熟悉Selenium工具?说一下它是什么?
- 你是否还熟悉其它的自动化测试工具?各自简单的介绍一下?
性能测试问题
- 什么是性能测试?为什么要进行性能测试?
- 性能测试的类型有哪些?
- 列举下用户会面对的性能问题和性能瓶颈?
- 列举下性能测试中常涉及的性能计数?
- 性能测试中并发用户点击量是什么?如何实现?
- 性能测试进入和结束的标准是什么?
- 说一下在选择性能测试工具之前需要考虑哪些东西?
- 在性能测试中,如何识别性能瓶颈?
- 在对应用程序进行性能测试期间一般会执行哪些活动?
- 性能测试中吞吐量是什么?
- 解释下什么是耐力测试和尖峰测试?
数据库问题
一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15
操作系统问题
- 列出超过10个Linux常用的命令以及其作用?
- 进程和线程是什么?它们有什么区别和联系?
算法问题
- Java面试题
- 基础知识
- 面向对象编程有哪些特性?
- 重写和重载的区别是什么?为什么重载不能根据返回值判断?
- 访问修饰符public,private,protected以及默认之间的区别
- 抽象类和接口的异同?
- Java中的异常有哪几类?分别怎么使用?
- 常用的集合类有哪些以及各自有什么特点?
- ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和优缺点?
- 内存溢出是怎么回事?请举几个可能出现内存溢出的场景?
- ==和equals的区别?
- hashCode方法的作用是什么?
- HashMap实现原理,如何保证HashMap的线程安全?
- Java中一个字符占多少个字节,扩展再问int, long, double占多少字节
- 创建一个类的实例都有哪些办法?
- final/finally/finalize的区别?
- String/StringBuffer/StringBuilder的区别?
- 什么是java序列化,如何实现java序列化?
JVM
- JVM内存结构,为什么需要GC?
- JVM堆的基本结构
- JVM的垃圾算法有哪几种?CMS垃圾回收的基本流程?
- JVM有哪些常用启动参数可以调整,描述几个?
- 如何查看JVM的内存使用情况?
- 你常用的JVM配置和调优参数都有哪些?分别什么作用?
尾声
无论什么技术,热不热门,学习都是不可间断的,乘着年轻磨砺技术才是王道,不然在程序员这个后浪一波比一波汹涌的职业里混,你想吃青春饭都吃不了几年。不过,想提升是一回事,如何有效提升就是另一回事了。我工作近十年,也带过不少实习生、应届生,很多年轻人真的很努力在学,加班加点工作卖力,但也就是差点火候,还是方法不对。
什么是方法,方法就是跟着身边大佬走,多问多学,如果身边没有大佬也可以加入我们学习资源交流群,全国的小伙伴天南地北,可以一起聊天学习,更加了解这个行业情况,趋势与走向。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
需要这份系统化的资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!