请选择行业
请选择职位
请选择省份
请选择城市

XX银行面试

时间: 2019-03-12 09:41   作者: 夏天里的Jasmine   点击次数: 
 

  LZ在一个18线小城市做测试,近来想走出自己的舒适区,去做一点不一样的测试工作。

  18线地区,测试工作并不多。最好的差不多就是LZ目前待着的公司了。遂决定去魔都闯荡几年,对一个在魔都无房无车无户口的人来讲,这意味着很累,然人无远虑必有近忧。即使有一天你的城市通地铁和高铁了,来了一群优质的互联网公司,我除了离得近,有配得上的技能嘛。

  XX银行面试

  年前在BOSS直聘上投递的简历,年后约面试。我要求先电话面试一轮再去。【这里说一下有的公司招人职位要求和面试要求完全不一致,毕竟魔都里的有些远,不想浪费一次年假和自己的无奈,去验证他们的jd和面试内容。】电话里了解到他们想招Java能力好一些的测试人员,以后的工作内容是自动化测试,并且开发一些测试平台和加密解密系统。是我感兴趣的部分...不敢十拿九稳,但想试一下。于是就约了周一10点面试。

  一面

  提前一个小时到,问了问hr是否方便过去,HR让我直接上去。我就拖着热水袋,开心地乘电梯去了10楼。

  HR将我领到会议室,填了个人信息表,调查表,一会儿之后来了一个高个子瘦瘦的面试官。

  1. JAVA怎么读取文件中的内容?

  Property p = new Property

  读取输入流获取的内容

  那要是多个文件,也用这个读吗?

  LZ基础太薄弱,想不出别的方法。

  你有没有想到这种读文件方式的弊端?

  LZ一脸茫然。。。【心更凉,白来了么,亏我5点多就乘着大巴冒着雨赶过来,这种面试题完全没遇到过,工作中亦未遇到过。】

  2.设计模式了解吗?

  饱汉模式,饿汉模式,工厂模式,spring mvc模式

  不对。饱汉模式,饿汉模式不是设计模式,是单例模式中的。

  哦,是的,我记错了。

  设计模式一共有22种左右。

  嗯嗯。

  你手写个单例模式可以吗?

  拿着笔,在自己刚填内容背面,手写着,心中记着单例模式重点叫私有什么来着,

  private class a{}

  又想着单例模式中饱汉饿汉的区别,哪一种安全,还没写完,面试官就说:"我一看你写的就知道你写错了"

  没关系,有些开发也不知道。只要你愿意学,我就可以教你。

  【这是我听到的能让我坚持下继续面试的话】

  【面试官】我想招个开发能力强的人,我没空去写比如加密解密的代码,需要别人来写完。框架我都搭好了。

  3.说说你们的测试流程

  我们,巴拉巴拉,接到需求后,会有一个需求文档,通过邮件的形式发给整个项目组,包括PM,开发,测试和支持。并约定一个接下来的时间,进行启动大会kick off meeting

  每个人对需求文档,提出自己的问题,比如与以往的需求,是否有冲突的地方。

  比如需求实现的方式,是通过接口,还是存储过程,是通过用mq同步数据的方式,还是代码中跨数据库,那是否同一个操作要实现跨数据库的事务等等。

  然后带着这些问题,参加启动大会,项目中的每个人提出来,最后总结具体实现的方式,覆盖的范围。

  假设是接口的话,会详细到接口的字段,字段长度,必填性,字符类型等等,这边主要是测试和开发,会在会议上定好哪些代码中一定要校验,很多情况下,不定的细致,接口校验会漏掉,觉得页面UI已经有了。

  会议结束后,开发人员会将接口文档发给项目中的每个人。这个时候测试人员,要检查接口文档,检查字符长度是否和DB中长度,是否有超过DB中长度;检查异常中返回值和信息是否正确。检查最终数据流相关的字段是否准确。

  检查正常的有复杂逻辑关系的,逻辑顺序是否正确。

  不正确,提出,正确,回复邮件。之后,测试人员,编写测试用例,发给项目中的人员进行评审。

  之后,编写case并构造入参数据,断言,DB中检验,等等。

  等开发提交代码后,进行测试,有bug则提bug,之后再对全部case回归测试。balabala。。。

  4. 我们这儿有个接口,有158个入参,其中有100个入参。对100个入参必填做校验。

  比我们接口中参数要多很多,目前我们有脚本,对少数的入参,只能填写变量名,长度,断言就可以一次性走完异常测试场景。

  你们100个入参,有些多,需要根据接口文档动态生成测试脚本,包括测试用例描述,测试数据,测试结构断言。

  【面试官】我的想法是100个必填入参,用java代码,依次判断,就是100个循环,单独测任何一个入参的必填;在随机个数的参数,不填,验证必填参数的异常。

  我目前在开发测试平台,创建一个对象,包含变量名称,必填性,字符类型,字符长度,范围比如是int型有的referrence表传过来的只能1-10,一个接口中的入参,将是一个listlist中每个对象,根据

  必填这个属性,生成一个list

  list中依次遍历,每次少一个对象变量名称,那测试用例依次生成未传入某某变量,测试数据,其他的变量和值依次拼接起来,map方式,mapkey是字段名,value是自动生成的值,value需要在符合的长度内,值的范围也必须在。

  代码都能实现。一般一个项目的请求体的格式一致的,比如现在常用的json格式,拼接一下key value,前后大括号,等等,最终测试数据也生成。

  断言部分同理,可生成。

  这个平台我在构思和开始设计表结构,实现方式,还未成功。关于你说的再随意若干个字段不传,我一般不会有这个样的case。原因是,java代码中判断入参不传,有先后顺序,你这个随机不传,断言要怎么写。

  还是你们所有的必传入参不全,返回信息是同样的?

  【面试官开始对我有好转了】

  5. 说到我上面的接口测试用例自动生成平台,我的确开始在做。索性趁热打铁,我说了下我已经完成了项目

  我自己用springboot写了一个minibug管理平台,都增加了些什么功能呢? 登录授权后,查看这个项目下,各个测试类型的bug。并且是基于我们公司的情况,

  比如每次任务需要一个CR,没有CR是不做的,CR下来了我们公司还需要有任务编号,等等。说简单了是CRUD,说到CRUD,数据处理层使用JDBCTemplate实现的,页面用的Thymeleaf模板引擎。

  还加了定时,根据bug中的更新时间,每15分钟将更新时间距离当前时间小于等于15分钟的bug信息,逐条发送给测试人员和开发人员。

  这个和JIRAbugtracker等不同,是个定时任务用来发邮件。

  系统出来了之后,要一下子录入原来的bug,一条一条很不方便,我创建了一个jmx脚本,其实就是一个简单的请求,以往测试人员会将测试用例,以excel大多这样的形式保存在本地,脚本中只要填写项目id等信息,可通过类似性能测试的方式,一次导入所有的bug,丰富bug系统,将以往工作中的bug全部呈现在一个平台上了。

  这之后又编写了测试用例管理平台,差不多的原理,这个时候数据处理改成了mybatis,因为涉及的表更多了,用mybaits方便。我们测试的内容有接口,有UI,有存储过程,测试用例格式不太一致,所有测试任务一张表,然后之后具体的测试用例是根据测试类型,分别新增到对应的3张表。

  balabala。。。后来也给大家提供了Jmeter创建的脚本,配置好项目名称等信息后,可一次性导入以往保留在本地的所有测试用例。

  6. springbootmysql是自带的,很方便?

  不是。

  mysql是自带的?

  不是,需要引入mysql驱动jar包依赖的。况且我开发的时候,本地连接的是mysql,后来导成jar包,不能用我本地数据库,我们公司用的sqlserver

  我尽量保证sql一致性,分页部分无法一致,就改一两行代码。

  7. 有没有bug

  有。【哈哈哈】

  什么bug

  小bugbug邮件提醒部分,我们公司的邮箱是outlookoutlook是什么公司,微软,打开后bug信息的具体描述,本来是textarea格式,应当是分行显示的,但是没有分行。

  然后你用手机打开,手机一般是苹果和安卓嘛,邮箱中打开是没有问题的。

  这个也不能算bug。模板引擎不能保持兼容所有的浏览器,很多UI方便的东西,开始抛弃IE,抛弃微软了

  对对对。

  有别的bug吗?

  有,我自己知道,使用者暂时还不知道,我就暂未改。

  什么bug

  额,比如,展示所有bug页面,既有多重查询后,显示符合条件的bugbug页面最右下角有分页。

  因为我分页用的是get请求方法,而多重查询用的是POST请求方法,目前在不输如任何查询条件的情况下,分页功能完全OK

  输入查询条件,不管一个或者多个,第一个ok,接下来查的是所有bug,不再有查询条件的限制啦。【呵呵】

  为什么没被发现?

  bug倒序显示,其次是查询条件限制后,查出来bug较少。所有一般不被发现。查询条件嘛,为了精准查询。

  8. 我们这边的人员分配是xx个外包,其他是JF,只有一个人是行编制,当然这个人不是我。

  你如果进来,是JF,和我一样,待遇上和行编制差不多,比外包要好一些。

  9. 你们冒烟测试怎么个流程?打印本页 | 加入收藏

上一篇:【精品课程】金融交易项目实战之Jmete    

关闭  
主要城市: 北京 上海 杭州 广州 南京 武汉 长沙
全部城市: