做了一两年的功能测试后,突发发现能胜任全部工作,在已有的公司已经得不到任何技能方面的提升后。准备跳槽,说一下跳槽面试遇到的问题吧。
面试中软国际的外包,中移物联网。就我本人来说我是不愿意进外包的。但是好久没有面试工作了,去试试水。
2019年2月15日上午十点的面试时间,为了这次面试我提前进行一番准备,包含WEB功能测试的13个测试点
包含:1 输入框
2 搜索测试
3 添加修改测试
4删除测试
5登录和注册模块测试
6图片上传测试
7搜索页面测试
8页面易用性测试
9 关于兼容测试
10 网页的链接测试
11 业务流程测试
12 安全测试
13 网页测试中应该注意的其他问题
上面就是我面试前准备的面试的测试点,当然测试点还包含对应的用例设计方法,测试方法之类的。
也准备了APP测试的具体流程方面:
APP测试其实总的来说包含11个步骤
1 功能测试
2 性能测试
3兼容测试
4安全测试
5易用性测试
6 交叉事件
7 更新升级
8 安装卸载
10 接口测试
11 容量测试
如上的测试流程我均是都有所准备的,接下来我准备的性能测试的准备工作
性能测试如果看文章讲解实在太多了,我归纳了一下应该包含如下一些方法:
7个测试步骤:
1 确定性能需求
2 确定通过标准
3 设计测试用例
4 搭建测试环境
5 执行测试,并 监控
6分析测试结果,调优
7测试报告
日常流程应该是包含五部:
1 基准测试、
2 日常压力测试
3 峰值压力测试
4 容量测试
5 稳定性测试
如前文所述:对于对应的测试点或者流程步骤对应的知识都有恶补。
紧接着准备的内容是:关于WEB自动化和APP自动化方面的内容;
实在的来说相对于性能,我决定自动化是比较不容易的,原因有两点
1 来自于编程语音方面的。
2 来自于你对一些处理异常的思路
我准备的关于APP自动化测试方面的内容,appium,selenium全套环境搭建,这些环境都是基于Java的。
其实自动化看似复杂其实流程挺简单的:
仔细想想就包括如下3点:
1 元素定位
2 元素操作
3 页面切换
看似非常简单的步骤,你要把它做好实在不容易!如前文说的来自于语音的问题。
接下来准备的是各类测试文档的编写。
包含测试计划,测试方案,测试用例,测试报告他们的测试点分别是:11,8,17,10
什么是11,8,17,10?他是指的关注的元素:
这么给你说吧测试计划包含11个类别:
分别是 1 封面,2修改履历,3目录,4概述,5组织形式,6需求分析跟踪矩阵,7测试通过失败标准,8测试挂起恢复条件,9测试阶段人力分布计划,10测试交付物,11本方案的审批意见。
下面是测试方案应该包含的内容
1 封面,2修改履历,3目录,4概述,5测试环境,6测试策略,7测试风险评估与预防措施,8本方法的审批意见
下面是测试用例的17个维度
1功能模块,2子模块,3编号,4用例名称,5优先级,6预制条件,7测试数据,8操作步骤,9 预期结果,10实际结果,11完成情况,12用例编写人,13用例编写时间,14用例编写方法,15用例执行人,16用例执行时间,17备注
谈到这里我们是不是也应该关注一下测试报告,它包含10维度:
1 封面,2修改履历,3目录,4概述,5BUG记录,6测试BUG分析,7测试用例执行情况,8遗留问题,9评估结果,10改进建议。
如上准备之余还关注了:TCP7层协议
1 物理层,2链路层,3网络层,4传输层,5会话层,6表示层,7应用层
谈到TCP不学一下IP的四层是不行的
1 网络传输层,2Internet层,3传输层,4应用侧,TCP/IP之间的对应关系要搞清楚。
后面我关注的TCP建立连接的3次握手
1客服端发送SYN报文,并指发送序号为X SYN=1,seq=x
2 到服务端,服务端接到这个请求后,服务端发送SYN+ACK报文,并指发送序号为Y, 在确认序号为X+1 SYN=1,ACK=x+1,seq=y;
3客服端接到服务单发来的请求后;发送ack报文,并指发送序号为z,在确认序号为Y+1,ACK=Y+1,SEQ=Z传输到服务端,至此连接建立。
由于TCP是全双工的,断开需要4次挥手才能断开
1客服端发送FIN+ack报文,并指发送序号为X FIN=1,ACK=1,seq=x,ack=y
2 服务端发送FIN+ACK报文,并指发送序号为Y,确认序号为X+1 FIN=1,ACK=1,seq=y,ack=x+1
服务端发送ACK报文,并指发送序号为Z,在确认序号为x+1 ACK=1,seq=z,ack=X+1
客服端发送ACK报文,并指发送序号为x+1.在确认序号为y+1 ACK=1,seq=x=1,ack=y+1至断开连接。
你以为上面的知识复习完了就完了?太天真
Linux,操作系统的各类命令必须掌握,MYSQL的掌握情况怎么样?Mysql新建表,UPdate你会吗?
前面一大揽子就是我所准备的面试,接下来是我前文提到的面试来了:
来到光电园,中移物联网这个公司,它就是一栋楼,去前台说面试,人家拿起表格找半天没找到我,立刻反应过来我是外包,从这里开始就可以看出来,外包没有任何归属感。
插一句,当时正儿八经的去面试中移物联的,基本都是重庆大学,或者四川大学的同学,没有985 211这家公司不得要你的。除非你像我一样是通过外包渠道面试。
打电话,并且经过保安确认过后,要我到12楼,好像叫智能连接部,电梯到这个楼层的按钮是按不动的,智能到11楼,13楼的按钮也按不动,具体是什么原因,只能是内部人员知道。
忘记说了,这是重庆的中移物联网。
饶了半天爬楼梯到了12楼,一个小姐姐带我去面试,到了办公室,前面看到的是像网吧一样的一排排的电脑,面试的地方还要一大堆烂七八糟的电脑键盘。左侧找了两个年轻人面试的我。等了一会。
当然我们外包面试时不能进入小玻璃隔间里面详谈的哟,在次说一下外包没有任何归属感,第二次感觉到。
整个面试感觉非常不专业,按照你提供的项目问一下,主要谈的是性能测试和自动化测试。
前面谈得很顺利,谈到JMeter做性能测试的时候,因为我说了一句,JMete|做性能测试,我们没看结果树,这个口误,导致这个问题一个面试官纠结起码二十分钟!
因为之前我们做性能主要是用loadrunner做的,比较全面,包含容量测试,压力测试,并非测试,结果导出分析,容量拐点之类的图标非常容易看出来。
面试官问我:你不要结果数树,你怎么判定测试结果达到预期。当时紧张没说了,当我们用JMete做测试的时候,可以添加一个Eexcel看运行的结果,也可以在断言里面添加一个summerreport的报告是可以看到的。当时没想到。纠结半天后面。
年轻的面试官又问了怎么做的自动化,我谈得很好。差不多十多分钟。
后面胖一点的面试官问一个问题,当我们的自动化测试,比如测试到下载百分之90卡住了,你如何解决这个问题,并且说明这个问题时自动化里面经常遇到的,问我怎么调试。
对于这个问题,我回答得很不好,当时回答的是,检查定位的下载元素,元素定位的后台路径,和服务端存放位置等方面。但是明显没有达到面试官的需求。
如上两个问题时我此次面试失败的两个点。
奔波在找工作的路上,一致在努力。其实看过其他人的面试经验,发现了我未来软件测试的方向:
1 来自于语音方面的问题: Java的垃圾回收机制、内类的几种方式、堆和栈区别 在写自动化代码中,用到了哪些设计模式? 最近读过的关于软件测试的书,文章?有哪些给你留下了比较深的印象? 我发现自己对测试的理解还是不深,对Java中的很多概念还是比较模糊。
2 Java: HashMap与HashTable的区别 Java: 对抽象类与接口的理解 设计模式:如何实现线程安全的单例模式 设计模式:监听者模式 算法题:判断一个链表是否有环 算法题:字符串左旋 算法题:二叉树中,两个节点间的最大路径。
3 自动化框架的实现,为什么这么做? 自动化过程中遇到的难点,困难? 面向对象的特性,简单阐述这些特性带来的优势 接口与抽象类的区别 异常类处理机制 反射机制,在实际写代码中应用 final,finally,finalize的区别 有没有用过spring框架 测试用例设计题:就linux下的CP命令设计测试用例。 如果让你设计一些log监控系统,你会从哪些方面考虑?
4“自动化框架,关键字实现的Java代码总共有多少行”,“Python程序共有多少个module”,“两个Linux系统之间如何传文件” 。
5自动化框架、流程。
6自动化测试执行时间,容错处理机制 Robot Framework 框架的优缺点 自动化测试下一步的有哪些可以提高的地方 Java的多态机制 平日工作是如何设计测试用例,讲解下目前所测产品的一个模块的测试用例设计策略 在整个项目周期中,测试要做哪些事情
7 C++和Java对内存的操作有何区别?Java的垃圾回收机制为什么不能避免内存泄露问题? 熟悉哪些网络协议? 不同网段的两台机器是如何通信的?
如上7个点事完善个人经验的方向。
最后总的来说,不推荐外包公司干活!个人观点不喜勿喷。