前言
最近看到很多人都在找工作, 而且很多人都感觉今年找工作比去年难很多, 竞争力也增加不少, 因此激发我整理这份资料, 希望能帮到正在找或者准备找工作的童鞋们.
首先我们能否获得一个面试机会, 那肯定是从简历开始, 简历需要做好功夫, 一份好的简历才足够吸引企业得到面试机会, 接着就是面试了, 面试前必须要先做好准备, 多看一下前辈们总结面试题, 有哪一方面不足的地方赶紧补充一下, 还有要了解一下你即将面试那家公司.
技巧篇
做题
看完面试题之后那就来做一下面试题目吧, 目前找到两个网站
- SillGun(国外网站, 自备梯子)
- 牛客网
聊面试
(帅张)stormzhang 跟你谈一下面试那些事儿
- 面试时企业最看中你什么能力?
- 我面试到底问什么?
- 面试那些事儿
互联网招聘平台
- 拉勾-专注互联网职业机会
- 简寻-让职位推荐更精准
- 100 offer-帮最好的互联网人发现更好的offer
- BOSS 直聘-互联网招聘神器
- LinkedIn (领英)
- 哪上班
一力顶十巧(刷题)
【热身题】
1.为什么选择测试这行?
因为其具有挑战性和成就感,找一些系统隐藏的逻辑漏洞的时候,自己就非常的开心。并且测试需要细心和耐心,自己可以很快的分析bug的来源。
2.请描述下你公司的测试流程?
需求分析讨论-确定测试策略-设计测试用例-测试用例评审-beta测试-uat测试-测试报告
【基础题】
1.软件测试项目从什么时候开始为什么?
需求确认开始,因为在需求阶段,测试可以评审需求并进行静态测试,减少开发过程中的bug。
2.软件的评审一般由哪些人员参加?其目的是什么?
参加人员:需求业务人员、产品经理、项目经理、开发人员、测试人员;
目的:查看软件在未正式投入运行前是否还存在问题。对于不同软硬件平台能否正常运行,是否有与客户理解不一致的地方,同时可以对一些可以改进的地方再多加改进。
3.如何设计测试用例?什么样子的测试用例是好用例?
掌握边界值分析、等价类划分、错误推测等方法来设计测试用例。
好用例是一个完备的集合,它能够覆盖所有等价类以及各种边界值;需要从软件功能需求出发,全面地,无遗漏地识别出测试需求;最好是代码覆盖测试也全面的测试。
4.不能发现BUG的测试用例不是好的测试用例吗?
不一定,要看情况,如果测试用例质量高,没有发现bug,说明开发质量高。但一般程序都会有bug,如果没有发现BUG,就要思索测试场景是否有遗漏,需求是否理解没到位。
5.测试用例需要哪些人来评审?
产品经理,开发人员,测试人员,业务需求人员。
6.什么是bug?
没有实现需求说明书列出的功能,出现了没有需求说明书提到不该出现的事情;实现了多的功能;没有实现应该实现的逻辑。
7.简单概述缺陷报告,并说明包括哪些项?
缺陷描述,缺陷的优先级,缺陷的标题,缺陷所属版本号,缺陷所属的功能模块,操作步骤,预期效果,缺陷原因,缺陷所属的开发人员。
8.开发人员修复缺陷后,如何保证不影响其他功能?
重新执行测试用例,并且针对这个缺陷影响的相关点写新的测试用例。
9.开发人员说不是bug时,你如何应付?
首先把自己的理由,并以需求说明书为自己的站点,如果开发人员还是不认同,可以把自己的观点和理由,提交给产品经理,由其去决定是否为一个bug。
10.当测试过程发生错误时,有哪几种解决办法?
a.跳转其他的测试流程;
b.调用某个程序能绕过这个错误,继续后面的流程。
11.所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗?
能修复,但不一定所有的缺陷都要修复。
12.进行测试时产生了哪些文档或记录?
测试用例,测试报告,测试日报
14.功能测试在 beta 版本对外的上线标准是什么?
测试用例全部跑完并且bug都已经关闭,然后业务验收后可以上线。
15.开发人员老是犯一些低级错误怎么解决?
a.要求开发人员进行自测,把这些问题在开发阶段就解决好
b.通过缺陷管理系统对开发人员进行控制
16.为什么尽量不要让时间富裕的员工去做一些测试?
a.非专业测试人员,没有组织性的测试工作,没有规律和针对性,会影响到测试的质量和版本更新的速度。
b.专业测试人员(但不是这个项目的测试员)这些人员不受测试计划的时候和任务约定,测试完毕后评估测试小组的工作质量,不利于bug管理。
###【进阶题】
1.什么是单元测试、功能测试、集成测试?
加分项:单元测试、功能测试、集成测试分别在web端、接口端、移动端的定义,你平时是怎么理解它们的?
单元测试:是针对程序模块来进行正确性检验的测试工作;
功能测试:在单元测试的基础上,测试某一个功能点;
集成测试:将所有模块按照设计要求组装成为子系统或系统,进行集成测试;
web端
单元测试/功能测试:页面元素是否正确显示其有效功能,如提交的action是否正确,搜索点击是否执行;
集成测试:调用了后端接口的数据是否显示正常,能否满足需求;
接口端:模块/系统之前的调用,接口是否与设计相符,模块组合后是否满足需求;
单元测试:某个函数/方法 写的代码是否达到编写者的预期;
功能测试:为实现一个功能点,调用几个方法/函数。
2.什么是兼容性测试?
兼容性测试是检查软件在不同软件平台,硬件平台上是否可以正常运行的测试。
主要查看软件在不同操作系统、浏览器、数据库中是否运行正常.
3.白盒和黑盒的区别,你是怎么运用的?
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。利用其检查功能是否符合需求说明书,能够正常使用。
白盒测试:已知产品的内部工作过程,可以进行测试证明每种内部操作是否符合设计规格要求,所有内部成分是否经过检查。
利用其检查程序模块的内部逻辑走向,主要覆盖程序内的逻辑。
4.静态测试和动态测试有什么区别?
静态测试:不运行程序,针对PRD等检查代码,审查代码,静态结构分析,分析代码质量;
动态测试:运行程序进行黑盒测试和白盒测试。
5.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
黑盒:
边界值分析法:如参数的范围0-128,输入128,129,0这些值,查看是否有错误等;
错误推测法:导入功能时,表格为空表格,表格输入1行,表格输入10000行等;
因果图方法:组合参数逻辑图;
场景分析法:根据用户操作模拟用户操作。
白盒:
逻辑覆盖法,基本路径测试。
6.您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
做过web测试,小程序测试,H5页面测试,后台测试,接口测试。最擅长接口测试,自己给公司的业务流程写过一套自动化框架,用于回归业务流程。
7.在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
前提条件、测试环境、操作步骤、预期结果、实际结果、严重等级、版本信息,出现概率;
问题描述和操作步骤要尽可能描述详细,可以初步分析bug是客户端的问题还是服务端的问题。
8.什么是内存泄漏、Http错误率、吞吐率。响应时间分别在web端和移动端是多少?哪些场景可以证明响应超时?
内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放&#