软件测试面试总结

最近换工作,考虑将每个公司的面试一并总结到这篇随笔里面,定期更新,直到我拿到合适的offer为止,祝福我吧!

--2016.7.23

  今天去参加金山的软件测试面试,项目组做增值服务功能测试,现将面试过程总结如下:

  1、第三方支付测试:这方面问的最多,基本上前20分钟都在纠结这个问题,先附上第三方支付的原理:http://www.51testing.com/html/61/n-866261.html

  组图为第三方支付一般模式流程和支付宝模式流程

 对于支付这一块,主要追问如何模拟支付失败的场景,如何判断是否支付成功(以支付宝为例);

 我:通过支付流水来判断,支付成功之后支付宝会生成一条流水帐号,表示付款成功,这时对应的订单状态也应该由“待支付”状态更新为“待发货”状态,如果订单状态没有改变过来,说明支付有问题(注:这个答案没有说服力,生成流水后订单状态没变化只能说明是订单处理有问题,无法说明是支付出了问题,相反,因为已经生了支付流水,说明支付是正常的。要想说明支付失败,应该是支付之后钱被扣了但是没有生成相应的支付流水)

   面试官提示:支付失败时支付宝应该会返回一些错误信息,你的平台是怎么处理这些信息的,是怎么展现这些处理结果给客户的

   我:支付的结果有两种情况,一种是支付成功,一种是支付失败,都会有对应的页面,返回支付失败的信息我们app这边会有一个对应的支付失败的页面,还会有相关的“重新支付”的按钮提示用户再次支付

   题目总结:面试官想问的应该是想让我列出支付失败的各种情况,app这边如何去处理支付宝返回的支付结果,所以我回答的内容应该不是她们想要的,附上我能想到的支付失败的场景:

1)跳转到支付宝页面时断网;2)支付宝余额不足;3)跳转到支付宝页面后不支付直接返回;4)支付时断网;5)如果是直接跳转打开支付宝app,授权时选择拒绝

2、问到数据埋点,对用户的操作会生成一个log文件上传到一个平台,从log文件中可以查看到用户的操作流程,如何对数据埋点进行分析。

     先附上数据埋点的概念链接:http://www.zhihu.com/question/36411025     https://ask.hellobi.com/question/14191

总结:数据埋点没接触过,用户的数据分析应该是数据部门和产品的活了吧,目前大部分公司用友盟来跟踪用户数据(活跃用户之类的统计),线上的报错率也可以用友盟来抓取,具体的操作不了解,平常测试过程中也没有对这一块进行专门的测试,所以我只说了我知道的东西。

3、最后面试官开始放大招,问了两个功能的用例设计

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了,哈哈!笔试题后面再整理,稍作休息

posted @ 2016-07-23 19:53  秋水潺流  阅读(2099)  评论(0编辑  收藏  举报