更多课程 选择中心

软件测试培训
美国上市教育机构

400-111-8989

软件测试培训

软件测试面试问题的一些思考

  • 发布:软件测试培训
  • 来源: 小Z老师讲测试
  • 时间:2019-11-22 13:59

软件测试的面试,从面试官上分为两类,人事面试和技术面试。

人事面试的重点,就是要突出自己“稳定!”“稳定!”“稳定!”。

第一个经常挂掉的问题,你的职业规划是什么。

很多人在遇到这个问题的时候,急于表现自己,想要展示自己的野心之类的,或者为了突出自己的能力就说自己想要往自动化或者性能方面发展,结果直接被人事说公司没有自动化或者性能的规划,第一个问题就out出局。

这个时候你要怎么办,记住“稳定”两个字,你的目的是找到一家可以长久做下去的公司,然后在项目中学习公司所需要的技术,和公司一起成长。

你上一家的离职原因是什么。

其实大家都心知肚明为什么离职,要么干的不爽,要么工资太低。但是人事要通过这个问题,看看你对上一家公司是否有怨言、你是不是一个安稳的人、你会不会因为一个很随便的原因离开工作岗位等等。

所以你要给人事的感觉是,我上一家是迫不得已才离职的,我本来是想和公司呆到天长地久的,我们公司搬迁了我实在是太远了、我们公司的项目组解散了我不愿意闲着、公司的主营业务从技术研发转为了销售等等,所以我准备换一家然后稳定的做下去。

你对我们公司有什么了解。

有很多人在面试前只关注自己的职业技能背的怎么样,关注和了解你接下来要去面试的公司也是非常重要的职业素养。经常遇到有人在面试前下载了对方的app应用或者浏览了网页,因为发现了一些细小的bug而面试成功的。

......

人事面试多为一些琐碎的问题,回答的时候灵活一点,只要“稳定”二字常记胸中,人事关都是分分钟秒过的。

说到技术面试,真是心口疼,每个人都把学的内容混着记混着说,只记表面现象,不思考内在原因,这就导致了技术面试屡屡被刷。

其实的软件测试面试技术这一轮是真的好过,绝大多数人遇到的面试官,四到六年测试经验偏多,他们自身都是在工作中摸索,懂的东西很有限,所以大部分的问题其实都是集中在业务层面上。技术资深的面试官有没有?有啊,只是你们现在还面不到。

那么关于业务层面的问题,就有限的很了,这么多年问题都没有换过,没有一点新意的。你要关注的,就是如何让自己在芸芸众生中突出出来,让面试官能够记得住你。

你先来个自我介绍。

自我介绍的时候面试官真的是想要知道你什么时候生的你在哪里读书的吗?他想要知道的是这个人能不能给我一点惊喜。

所以在面试的时候你要突出的是自己会哪些东西,我在项目中除了写测试用例和测试计划等文档,我还要测试app的接口、还要编写自动化的脚本、维护自动化的框架、分析服务器的性能等等。当然前提是你真的会。

介绍一下你的项目。

在回答项目情况的时候,根据项目的大小来回答,一个页面不超过3-4个的app,那就是你一个人测试的了,多一点的项目,我们分成android和ios两块,或者分成浏览器和手机端来测。所以介绍项目的时候不要说自己只测了用户信息这种东西,而且一遇到不太熟悉的就说这不是我测的,明显给自己挖坑。

怎么说?首先公司喜欢能够独立承担测试任务的人,所以一般的app都可以首先强调项目组就我一个测试,整个项目的测试工作都是我一个人完成的;

第二点,一定记住不要像销售一样去介绍项目,不要说项目里面是卖什么的主要是针对什么人群卖东西的,要记住你是一个技术,你要说的是在项目中用到了什么测试方法、用的是什么测试工具等等。举个例子,如果你是做短视频或者其它app项目的,你可以说我上个项目是一个基于手机端开发的短视频app项目,我是负责android测试的,在项目里面我们对整个项目进行了测试用例和测试计划的编写、对业务功能进行了测试、接口测试用了jmeter来验证,除了这些还做了像弱网、交叉中断、兼容、安全等手机的专项测试,会使用到fiddler、xmind、navicat等一些测试工具。

这个时候面试官就该挖细节了,他会让你拿项目中一个具体的例子来进行说明。

很多人开头就是用户的注册和登录,这种模块第一是已经被人说烂了,面试官已经耳朵起茧,第二是这种模块太基础了,基础到你一说注册登录面试官第一反应就是这个人应该是个小白。

所以我们在说项目的时候,应该让自己说点和别人不太一样的,你可以用优惠券模块、商品评论模块、视频上传模块、视频播放、用户视频浏览记录和视频推送功能、购物车模块、push信息推送管理等等。

介绍模块的时候,一定要记住从功能点的角度带入测试方法和测试工具。

例如,很容易被人忽略的push信息推送,首先我们会在后台添加push信息,信息里面会包括推送的文字信息、图片信息、点击的跳转链接、推送的账号、发送时间、推送的用户标签选择等等,要测试的内容除了正常的内容,还需要考虑空的文字、超长的文字、特殊的符号等;图片的话需要考虑不发图片、不同尺寸的图片、不同格式的图片、损坏的图片等;

跳转链接有正确的站内链接、失效的和错误的链接、站外链接、无链接等;时间有过去的时间、未来的时间、错误的时间、不填时间等;特定的推送账号有单个账号、多个账号、空信息的账号、错误账号等;

用户标签可以不选标签、选单组标签多组标签等等;

然后还要对不同的有效选项进行内容组合的测试,查看推送的内容、时间和人群是否正确,以及如果用户点击了错误或者正确的推送内容如何展示,用户点击了推送之后后台会不会有数据的统计等等,每次操作完都需要用navicat连接数据库查看操作结果是否成功,数据是否正常。

怎么去定位一个bug。

定位bug的问题,很多就算在项目中工作了一两年的小测试都搞不清楚。但其实只要你把数据的流通过程想清楚的话,这就变成了一个送分题。

还是举个短视频app的例子吧,假如我每天都是看烹饪类的内容,但是给我推送的却还是摄影的视频,这就是一个bug。那这个bug是哪里出的问题呢?

首先我们需要抓包看看我们app端发送给服务器端的用户信息和视频的标签与编号是否正确,推送出错有可能是app客户端发错了信息导致了服务器保存的内容有问题;

如果客户端发送的信息正确,那么我们要看看服务器返回的响应内容是否正确,如果服务器返回有问题的话,那么a。数据库的数据保存错了,例如把用户常看的视频id 001保存成了002,b。服务器的处理逻辑有问题,给用户推送了观看频率比较低的视频种类;

最后,如果服务器端没有错误,内容返回正常,那么就应该是app端对于响应内容的判断有问题,app端取错了对应的视频链接或位置等等。

然后就是流程类的问题,包括了项目流程、测试流程、产品研发流程、产品的生命周期、缺陷BUG的生命周期等等,这些就不在这里赘述了。

再然后就是关于项目中各个测试方面涉及到的数据问题。

项目里面的用户量有多少:100万就很好了;

发了多少版本:以自己的项目时间来算,如果是在项目中呆了半年,差不多就是十四五个版本;

项目时间有多长:一般第一个版本都是2个月左右,现在都是迭代更新,至少也要半年以上;

测试用例写了多少:在项目中的总用例数可以说一千七八九都没有问题;

提了多少个bug:第一个版本问题会比较多,后面迭代的版本平均下来四五十个还算正常,所以总bug数大概说个七八百就可以;

项目有多少个接口:六七八十都可以;

自动化用例写了多少个:一般占功能用例数量的三分之一就差不多,说个五六百也可以;

性能测试的并发用户测了多少个:这个数量是根据用户量算出来的,C=nL/t,总用户100万,活跃用户最多能有个10%也就是10万左右,每个用户访问系统的时间平均10分钟,用户活跃时间从早上9点到晚上12点共15个小时,那么10万*30/15*60等于1100多。

接着就是一些工具的使用方法。

抓包工具fiddler:fiddler在工作中用来做什么。a。用来做接口测试,b。用来分析和定位bug位置,c。fiddler的常用方法,断点设置、过滤器的使用、限速的功能操作等;

接口测试jmeter:参数化(特别是csv、excel、txt、dat文档的读取)、json提取器和正则提取器(值的上下级传递)、控制器的使用、cookie管理器的设置和作用、头部管理器的配置和关键参数的作用、数据库jdbc的配置和连接以及查询值的保存与传递;

编程语言python:for循环、常用模块、文件的读取、数据库的连接、selenium自动化、requests接口测试、appium手机自动化;

性能工具loadrunner:常见函数、指标项指标值、服务器性能瓶颈的分析;

安卓测试adb:常用adb命令(日志查看、截图、软件安装卸载等)、adb shell monkey的命令和参数、monkey结果的分析;

linux服务器:常用的命令(查找、过滤、权限操作、进程、系统监控、日志查看)

......

技术方面只要能把大方向的问题,特别是测试点和项目模块说清楚,然后把项目组最需要的fiddler和jmeter说清楚,其它回答不上的或者说不清楚的问题直接诚实的说暂时没做过不知道,但是会去学习就好了,那么技术面的把握还是很大的。说的更多只是对你在谈薪水的时候更有用。

很多公司其实并不需要技术太厉害的人,只要你能保证功能不漏测就好。

最后祝所有的小伙伴都能找到心仪的工作。

本文内容转载自网络,本着分享与传播的原则,版权归原作者所有,如有侵权请联系我们进行删除。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:思考一下作为一名软件测试的意义在哪里
下一篇:一位7年软件测试工程师的心得

软件测试面试问题的一些思考

思考一下作为一名软件测试的意义在哪里

软件测试中破坏性测试思维的思考

软件测试有哪些方法和技术

选择城市和中心
黑龙江省

吉林省

河北省

河南省

湖南省

贵州省

云南省

广西省

海南省

秒速时时彩 江苏快3 秒速时时彩官网 幸运飞艇精准计划 北京赛车高倍率平台 北京赛车论坛 上海快3走势图 北京赛车论坛 北京赛车时间表 秒速时时彩