最近换工做,考虑将每一个公司的面试一并总结到这篇随笔里面,按期更新,直到我拿到合适的offer为止,祝福我吧!html
--2016.7.23前端
今天去参加金山的软件测试面试,项目组作增值服务功能测试,现将面试过程总结以下:linux
一、第三方支付测试:这方面问的最多,基本上前20分钟都在纠结这个问题,先附上第三方支付的原理:http://www.51testing.com/html/61/n-866261.htmlweb
组图为第三方支付通常模式流程和支付宝模式流程面试
对于支付这一块,主要追问如何模拟支付失败的场景,如何判断是否支付成功(以支付宝为例);sql
我:经过支付流水来判断,支付成功以后支付宝会生成一条流水账号,表示付款成功,这时对应的订单状态也应该由“待支付”状态更新为“待发货”状态,若是订单状态没有改变过来,说明支付有问题(注:这个答案没有说服力,生成流水后订单状态没变化只能说明是订单处理有问题,没法说明是支付出了问题,相反,由于已经生了支付流水,说明支付是正常的。要想说明支付失败,应该是支付以后钱被扣了可是没有生成相应的支付流水)数据库
面试官提示:支付失败时支付宝应该会返回一些错误信息,你的平台是怎么处理这些信息的,是怎么展示这些处理结果给客户的浏览器
我:支付的结果有两种状况,一种是支付成功,一种是支付失败,都会有对应的页面,返回支付失败的信息咱们app这边会有一个对应的支付失败的页面,还会有相关的“从新支付”的按钮提示用户再次支付缓存
题目总结:面试官想问的应该是想让我列出支付失败的各类状况,app这边如何去处理支付宝返回的支付结果,因此我回答的内容应该不是她们想要的,附上我能想到的支付失败的场景:安全
1)跳转到支付宝页面时断网;2)支付宝余额不足;3)跳转到支付宝页面后不支付直接返回;4)支付时断网;5)若是是直接跳转打开支付宝app,受权时选择拒绝
二、问到数据埋点,对用户的操做会生成一个log文件上传到一个平台,从log文件中能够查看到用户的操做流程,如何对数据埋点进行分析。
先附上数据埋点的概念连接:http://www.zhihu.com/question/36411025 https://ask.hellobi.com/question/14191
总结:数据埋点没接触过,用户的数据分析应该是数据部门和产品的活了吧,目前大部分公司用友盟来跟踪用户数据(活跃用户之类的统计),线上的报错率也能够用友盟来抓取,具体的操做不了解,日常测试过程当中也没有对这一块进行专门的测试,因此我只说了我知道的东西。
三、最后面试官开始放大招,问了两个功能的用例设计
1)天气预报软件,用的是第三方提供的sdk,做为展现在手机屏幕的一个banner,如何测试这个软件的城市,时间和温度
我:(1)先从UI页面入手,查看展现的banner是否符合UI稿并对用不一样尺寸和版本的手机对其进行兼容性测试;
(2)温度的变化能够经过城市+时间这两个字段来确认,因此咱们在测试温度变化的时候,能够经过修改数据库(默认会有一个新的数据表来存储这些数据)表里的城市和时间就能够查看温度相应的变化;对于城市:
*城市名的长度,是否有一个长度的限制,最长展现多少,超过这个长度应该怎么处理,会不会形成页面错位;
*对于各国的城市是否兼容各国语言的展现,会不会乱码;
对于时间:
*考虑边界值时间,00:00和23:59时对应城市的温度展现是否正常;
*等价类考虑时间,6:00,12:00时对应城市的温度展现是否正常;
*考虑时间的展现方式,是以“今天”“昨天”“明天”的形式展现,仍是以“YY-MM-DD”的形式展现;
*考虑能查看到的记录时长是多少,是一周的时间记录仍是一个月还半年;
*查看时间是不是即时显示;
对于温度:
*温度的展现单位是什么,华氏仍是摄氏度;
*温度的最大值是多少,最小值是多少,超过了会怎么显示
*确认温度是否显示精准,最简单的方法是百度其余的网站来查看即时的温度显示进行对比(也是等价类)
面试官提示:对于地址的定位,应该是要开启本地的GPS,那么这里有一个受权的机制,并且会有一个联网的问题,你这些数据应该是要联网才能读取获得
我:(补充)*受权问题--容许--能够定位到位置;
*受权问题--拒绝--没法定位到位置;
*网络问题--移动互联网下的数据展现,wifi下的数据展现,无网络下的数据展现,网络很差状况的数据展现;
2)如今的app引导页都会有不少条件筛选而后再跳转到首页,如何设计测试用例
我:*对每一个条件进行单一的筛选,而后查看跳转,是否数据是对应的;
*对条件进行组合筛选,查看跳转,是否数据是对应的;
*对跳转时的网络环境进行测试,跳转时断网后应该怎么展现,网络很差时应该怎么展现;
面试官提示:对引导页的文案,触摸点也要进行测试
我:(补充)*查看文案的展现--是否正确;
*文案是否能够后台更改,若是能够更改,字数限制是怎样,超出长度应该怎么显示,对特殊字符,数据和表情是否有限制;
*图标是否能够后台更改,若是能够更改,查看后台更改后是否有更新到引导页,是否有缓存,缓存时间是多久;
*兼容性测试
总结:面试官给出的这两道题都是平常测试中常见的模型,用例设计也比较常态化,对于天气预报软件,面试官还提示安装以后要查看如下外置的sdk文件的位置,我在平时测试中没有进行这种操做,也不理解为什么要去查看它外置sdk存放的位置,查看了又能怎样?后续再了解。
总的来说,金山的面试问的问题都是平常测试中常见的普通问题,问的测试方法和操做也是平常工做常见的基本操做,没有问很深的技术问题(可能主要是招功能测试吧),也不会问太偏的问题,至于后面的用例设计,现场回答,感受本身的条理不算清晰,受权和网络环境真是个梗啊,平常常常遇到过却总被我忽略。
--2016.7.25
上午是“耶萨”公司的面试,据测试经理跟我说的招的是中级,到公司以后先是填写我的的资料,后面有一份笔试题(很差意思,题目基本上都忘光了),没什么难度,都是以简答题的形式问你以前的项目流程,测试经验等。最后一道题是测试用例设计,给的模版是多条件筛选,这道题在后面的交谈中也有继续追问。我如今以京东搜索页为模版,说一下对这道题的理解。
这个筛选页,光从页面大类上看,有8个选项,每一个选项下来还有本身各自的小类,点击“筛选”按钮后还会弹出更多的选项出来,让你来设计测试用例。
分析:首页类目繁多,各类类目之间的组合也不少,因此基本上能够排除逐个组合去测试的方法。我给出的测试方法是:把全部的筛选条件都随机挑一个,保证每一个筛选条件都有被选中,筛选出商品,而后随机挑选2~3件符合条件的商品,查看商品属性,看看是否全部条件都一一知足。同时,也能够经过抓包,每一个条件都会有对应的返回字段,一一对比每个字段看有没有返回错误或是遗漏的。
上面就是我给出的测试方法,不过貌似面试官不是很满意啊。
这家公司比较注倾向于招有电商经验的测试人员,主要问的问题有:
1)整个下单流程的测试过程。
2)web自动化:有没有封装过一些方法,如何封装,自动脚本如今有多少条测试用例,画出一个自动化模块的流程出来。
3)项目流程,bug管理流程,测试用例如何去维护和更新,用什么工具来维护测试用例。
4)熟悉Linux么--这一点,Linux我还真不熟悉。
面试总结:该公司主要是招功能测试,因此没有问很深的技术性问题,主要仍是询问你以前的项目经验和测试流程,偏重询问你的测试方法和测试思想,比较注重面试人员的逻辑思惟和测试用例设计。这类公司就见仁见智了,虽然业务不是我喜欢的,可是若是你是善于思考的人,这家公司或许对你的逻辑严谨性的锻炼帮助仍是蛮大的。
--2016.7.25
下午面试“恒大微商城”,不要问我跟恒大有什么关系,貌似真没什么关系,听说是“战略合做”。
这家公司的测试团队才刚起步,据说目前只有一个测试人员,面试的内容也很简单,一个技术人员+HR面,技术人员貌似对测试相关工做也不是很了解(估计是开发),大体问了一下你之前的工做内容及离职缘由等。面试内容没什么好说的,却是笔试题我我记下了,分享一下,笔试题目都是一些基本的理论题,百度一下就能够知道答案。
1)测试的策略有哪些;2)Beta测试与Alpha测试有什么区别;3)测试过程当中若是发现需求文档不完善或者不许确应该怎么处理;
4)你认为作好测试计划工做的关键是什么;5)简述如下缺陷的生命周期;6)软件的安全性应从那几个方面去测试;
7)一套完整的测试应该由哪些阶段组成;8)软件系统中除了用户文档以外,文档测试还应该关注哪些文档;9)如何理解压力、负载、性能测试;
10)没有产品说明书和需求文档的状况下可以进行黑盒测试么;11)测试中的“杀虫剂怪事”是指什么;12)写出bug报告当中一些具有的内容;
13)画出软件测试的V型图;14)请比较一下各类软件测试的区别和联系;15)要对电子商务网站作冒烟测试,你会作哪些类型的测试(注:对这个问题很无语啊,你是说哪些业务啊);
--2016.7.26
此次面试的公司是”广东钱端“,上来先是一份笔试题,我咋感受这份题那么眼熟呢,原来是全在网上抄的,一字不漏啊有木有!线上试题连接:http://wenku.baidu.com/link?url=YsK23kA5ot0HbBkE85DrqyLACgjvEwYYUYN8jBZwOcWohE0vHuGb79Wo3ptFVL9l0_JGQoWymalMVng5ls7VX5D7QNOr-0tLkgXvIPb1qqC
这家公司主要是招中级功能测试,印象最深的就是问我下单流程(这是重点,已经有两家公司问了下单流程了),如何测试订单流程,还在跟我纠结退货退款流程,买家退款以后订单的状态是怎样的,卖家那边的订单应该如何显示,差点被他绕进去了。其余的问题有:
1.用什么测试方法来测试一个模块,举例说明一下;
边界值:测试app首页的上新时间,用边界值方法来测试,考虑到59秒,1分59秒,59分59秒,24小时59分59秒时上新时间的显示,恰好过了59秒后显示是否正常;
等价类:测试手机号注册,电信的手机号码为一类,移动的手机号码为一类,联通的手机号码为一类;
正交实验法:订单流程(好吧我本身的坑我本身跳),订单取消的几种操做,退货退款的几种操做,评价成功的几种操做;
2.如何安排测试计划,是按照完成一个模块测试一个模块仍是所有模块完成后才进行测试(其实就是敏捷开发和常规开发的区别);
整个过程持续了2个多小时,笔试+两轮技术面+HR,回来累成狗,没来得及整理,如今只列出我印象比较深入的几个点出来,这家公司加班比较多,HR和测试经理都跟你强调这一点,因此有意愿的小伙伴本身也要有心理准备。
--2016.7.27
今天面试的公司叫”彩讯科技“,总部在深圳,广州是分部,听说在冲击上市(不过貌似和我没啥关系),一上来就是一份4页的笔试题(心好累)。此次依旧是2轮技术面+HR面,技术总监的面试给个人印象比较深,有两个问题把我问住了,现整理以下(问题部分前后,记多少写多少):
1)说说app测试和PC端测试有什么不一样(这个问题竟然把我问住了,感受有不少不同的地方,但又说不上来,当场蒙逼了有木有),今天回过头来想一想,列举几点:
(1)兼容性:像安卓手机,市面上机型比较杂,各类系统版本比较多,尺寸也不同,固然PC兼容性也受系统版本/浏览器和电脑尺寸影响,但相对安卓来讲,已经简单不少了(这一点说的比较牵强)
(2)测试环境的配置:app测试须要配置wifi环境,pc端测试须要配置host文件;
(3)网络问题:app测试受网络影响比较大,须要考虑网络流畅的状况下,弱网络的状况下,无网络的状况下app的页面显示和运行状况;
(4)版本上线:app是服务端先上线,上线前还要对上一个版本作服务器的兼容测试,运行平稳后再发包;pc端是前端和后台一块儿上线;
(5)app端须要关注占用的手机CPU和内存;须要关注app耗流量的状况,须要关注运行app手机的耗电和发热的状况;
(6)页面交互,app比较注重页面交互,页面的交互也每每比pc端复杂,而且一个原生的app还会有不少内嵌的wap页或sdk;
2)举例说明一下你在日常的测试过程当中是怎么运用那些测试方法来测试的(尼玛又是这个问题);
3)你以为写测试用例的时候更应该注意一些什么内容,你有什么须要改进的地方
这个问题问的比较深,写测试用例其实很考验一我的的逻辑思惟,面对一份需求文档,你可否考虑到文档描述的内容以外的状况,这就须要你对业务的熟悉度和思惟扩散都要有很好的把握。而我回答须要继续改进的也正是这两个点,举例说明恰好用到前不久咱们的”云店“业务免费开放,当从需求文档上,就一句话:免费开放一年。但若是要测试的话,你须要考虑到的测试点有:
(1)时间限制是怎样的,这个一年时间是按用户建立时间来倒推一年仍是取整点;
(2)已购买”云店“用户的老客户应该怎么没处理,合同到期后会自动续一年么,这个时间点又是怎么算的;
(3)对于合同到期的老用户,是否也能够免费开启云店,若是能够的话,这个时间点又是怎么算的;
(4)对于合同恰好到期但免费续用了云店的用户,合同到期后会不会对店铺有影响,店铺会不会自动被关闭,免费续用是否会更新其合同信息,更新合同信息对店铺有什么样的影响;
(5)免费续费以后对云店的原有功能有没有影响;
4)平时工做中是否有进行安全测试
这个还真没有,好吧,我认可这是咱们以前的短板,没有进行过专门的测试,而他问的内容也比较常规,就是sql注入,恰好前几天我上一家公司被黑客攻击,用的就是sql注入,因此我只能描述一下这其中的原理和如何去模拟,但由于没有实战经验,因此我也只能讲个大概。
5)性能测试和linux---一句话,没怎么接触过(我认可,这是个人知识短板,自动化都够我搞好久了,这些知识点只能之后一点一点去积累了)
总的来讲,这家公司给人的感受仍是蛮有诚意的,笔试题是这几家公司中最难的,内容覆盖很广,从功能,性能,自动化,单元测试到网络协议和linux知识,涵盖了全部测试应该具有的知识点,固然,若是我全都会的话那我直接面试高级开他个十几K了,哈哈!笔试题后面再整理,稍做休息