一、简历重要性以及编写原则
能力,经验,技能和工作态度的提现。对自身的说明书。
主要是提现你的价值。
包装简历的原则︰(不失真的包装)
1.合适原则∶需要的是合适,能够为企业带来价值的人。
⒉.营销原则∶不是说需要陈述一个真实而全面的你,而是一个简短的营销稿,需要扬长避短,突出重点和优势。
二、简历模板
简单大气,清晰整洁。最好上下结构。不要花里胡哨。
三、简历包装
1、个人信息
七要素必备︰姓名,性别,年龄(男生接近32,女生接近30,可以考虑稍微包装一下),电话,邮箱,住址(精确到市),求职意向。
优势必填∶英语四六级,学历:211,985本科。女生:婚姻︰已婚已育。
身高,籍贯,工作年限(测试之前有3年,测试4年),政治面貌。么有意义的不要写。
2、教育经历
2006.9-2009.6 湖南大学 专业/学历
注意:
1.计算机相关专业可以写专业,非计算机相关专业只写学历,计算机科学与技术,软件开发,软件工程,网络工程。
2.如果既有专科学历,又有自考本科学历。
情况一∶专科学历和本科学历毕业时间很近。只写本科学历。
情况二∶专科学历和本科学历毕业时间很远。两者都要写。
情况三∶民教网(写了可以增加面试机会,但是会有面试通过了,也会被筛的情况)3.写一些加分项
证书,核心课程( python , c语言,计算机技术,数据结构),励志奖学金,活动的组织。
3、专业技能
错误示范∶(不能看出你的技能深度)
1.熟悉软件测试流程和理论,熟练掌握测试方法。
⒉.熟练使用Postman,jmeter等接口测试工具。
3.熟练seleniun+webdriver的自动化测试。
4.熟练requests的接口自动化测试。
(一)、专业技能
正确示范∶(技能至少8-10条左右,熟练的写上面,不熟练的写下面。包括︰功能测试,Linux,数据库,接口测试,自动化测试,性能测试等。其他的特别的技能写1-2条在最后面。)
1.熟练测试理论,测试方法,测试流程以及常用的测试文档的编写,如∶测试计划,方案,用例,报告等,能够根据项目需求提取测试点,设计合理的测试用例,执行用例以及提交测试报告。保证软件的质量。
⒉.熟练Centos操作系统,熟练使用Linux常用命令,如∶查看进程,查看端口,查看内存和进程,动态日志等。熟练通过xshell远程连接linux服务器查看错误日志以及bug定位分析等。熟练shell编程。熟练搭建测试环境。
3.熟悉http协议,熟悉接口测试流程,接口用例设计,熟练使用Jmeter或Postman执行接口测试,熟练接口关联,动态参数,接口加密,接口鉴权以及接口签名,熟练
Postman+newman+git+jenkins或Jmeter+Ant+git+jenkins实现持续集成。
到这里薪资封顶在14K。不考虑管理能力!
4.熟练Git , Svn,Github,Gitlib ,Gitee等版本控制工具,能够熟练的处理文件以及代码的版本控制以及各分支和主干的文件冲突。
5.熟练基于Python+requests+pytest+allure+logging+jenkins的接口自动化测试,能够独立搭建接口自动化测试框架并在实际的项目中开展实施。95%覆盖率。
6.熟练HTML和JS语言,熟练基于Pytrhon+Selenium+unittest/pytest+htmltestrunner+logging+jenkins的web自动化测试,熟练POM和关键字驱动设计模式,熟练基于ddt结合exctl的数据驱动并有实际项目经验。30%覆盖率。
三年的产品∶分五期来做,36个月/5=6个多月。web自动化比较合理的介入时间。在第一期6个月之后才开始写脚本。
一年以内的项目︰大部分不考虑web自动化,除非覆盖率很低,低到只做冒烟用例。7.app自动化一般不写。
8.不会的写自学。
(二)、管理技能
组织沟通能力,团队建设能力,工作压力,工作业绩。带了多少人的测试团队。
要么根据你的技能来问,要么问的是公司需要的技能。
4、工作经验
2019.9-至今 公司名称 任职岗位
2018.9-2019.9 公司名称 任职岗位
注意︰
1.工作经历必须是从大学到今天所有的经历,不能少、
2.如果是中途通过培训进入的测试行业,那么以前的经历要写和计算机相关的岗位,比如︰网络
程师,运维工程师,系统管理员,技术支持,实施。财务系统管理员。
3.尽量不要超过三家公司,不要出现频繁跳槽,最好是2-3年一家公司。最近的一家的公司可以写真实的,其他的按前面的写。
4.工作经验里面不要和项目经验混到一起写。看不清楚。
5、项目经历(4-5个项目))10年,只写最近的四个项目。后面的项目和时间都不写。
项目一:顺丰CMS全球供应链一站式服务平台 项目时间:XXX
项目描述:XXX
项目职责:XXX
注意:
项目名稍微包装得高大上一点,看起来像一个真实的项目。
项目时间︰需要连贯的,可以重叠。时间一般为4-8个月,
项目描述︰需要5行,包括项目背景,行业,用户规模,主要业务,主要模块等,特别是一定要注意项目的价值。CRM系统,理财项目P2P,区块链技术。
项目职责︰(需要8行,提现你在项目中的重要性,技能一定要融入职责)
6、自我评价不要太泛。
写个人突出的业绩,工作态度,学习能力等。
四、互联网公司常用接口测试面试题
1、HTTP和HTTPS协议的区别?
http协议是超文本传输协议,信息是明文传输,https协议是由SSL+HTTP协议构建的加密传输协议,他们所使用的端口不一样,http:80 , https : 443
2、常见的Post提交数据的方式有哪些?
主要有四种方式∶四种方式取决于Content-Type这个请求头:Content-Type:application/x-www-form-urlencoded
特点∶数据报文是字典,
相当于通过表单方式去提交数据,数据的格式: a=1&b=2&c=3
Content-Type:multipart/form-data特点︰报文包含有文件上传。
Content-Type:application/json(text/plain , text/xml...)特点∶报文都是字符串类型。Content-Type:binary特点:报文类型是以二进制的方式上传文件。
3、常见的请求头以及它们的作用是什么?
Accept :客户端接收的数据格式。
x-Requested-With:异步请求。ajax异步请求。无刷新。User-Agent :发送请求的客户端的类型。
Content-Type:请求的内容的报文格式。Cookie : Cookie信息。
4、get和post的区别是什么?
get和post都可以向服务器提交数据,并且都会从服务器获取数据。区别在于∶
1.传送参数方式不同:get通过地址栏的方式传参,post通过表单报文传参。post比get安全
⒉.传参的长度不同: get的参数有长度限制,post没有。
3.一般情况下,get是获取数据,比如查询,post提交数据,比如∶增,删,改。
4.get只发送一个tcp数据报文(包含请求头和data ) ,post发送两个报文(1.请求头,返回1002.data,返回200 )
5、接口请求中常用的返回状态码
1xx信息提示
2xx成功
3xx重定向(发送一个请求时,这个请求多次请求了服务器的多个资源。)
4xx客户端错误
5xx服务器错误redirect
6、cookie , session , token有什么相同点和不同点。
相同点︰都是用于鉴权并且都是服务器生成的。
不同点︰(原理)
cookie保存在客户端的浏览器上,cookie不安全,可以去分析存在在本地的cookie进行cookie欺骗。
session保存在服务器的内存,默认保存30分钟,比cookie安全,缺点就是当登录的用户越多,比较占用服务器的资源。session一般会生成一个sesionid(名称自定义),sessionid可以通过cookie传输。
token存储在服务器的数据库里面,通过一个接口或通过登录获取,然后后续所有的接口都必须要传token才可以请求成功。token也可以通过cookie传输。
7、请问你们公司是如何做接口测试的?(包括:接口测试流程,方案以及用例设计)
1.获取接口文档,熟悉单接口以及链路接口(接口业务流程)的业务,包括接口地址,鉴权方式,入参,出参,错误码等。
⒉.编写接口测试用例并评审
正例( 1-2个)︰单接口返回成功场景,链路接口业务流程实现。(功能业务流程)反例:
鉴权异常∶空,错误,过期......
参数异常:空,类型异常,长度异常。错误码异常:
其它异常︰接口黑名单,接口调用次数限制。分页(少于0,0,中间页,最大页,
超过最大页)。
3.使用接口测试工具或代码的方式执行接口测试。
重要考虑以下情况︰
1)接口关联,接口参数加密,是否动态参数,接口参数是否签名,是否需要带请求头。
4.实现持续集成并输出接口测试报告电子邮件,有Bug提bug.
8、没有接口文档,如果做接口测试?
方式一:可以使用Fiddler,Charles抓包工具抓取接口数据之后整理成接口文档,如果有不清楚的字段,找时间集中找开发验证,然后在进行接口测试。
方式二:可以通过Jmeter的代理录制功能,先把接口请求录制下来形成接口文档,然后再逐一的进行接口测试。
9、接口测试中,依赖登录状态的接口如何测试?
依赖登录的接口本质上是每次发送请求的时候需要带上cookie和session才能够发送成功。在请求时需要添加上cookie和sessionid。当然:如果是通过Postman来测试,Postman会自动去管理,如果是通过Jmeter来测试,需要增加Cookie管理器组件。如果是通过代码来实现接口测试,那么需要生成sesion对象,然后通过sesion对象来发送请求。
10、你平常做接口测试的过程中发现过哪些bug?
常规Bug :接口没实现,没有按接口文档返回结果,输入异常值(空值,特殊字符),接口报错,没有返回合理的错误提示。
如︰购买商品接口,其中有价格参数,我去测试时把商品的价格改成-3,购买成功。权限Bug :
如∶测试修改不商品信息接口,接口文档要求只有商家和超级管理员才有权限修改,我传入一个普通用户的ID或者是传入其他商家的ID,修改成功。
接口测试就是为了避免绕过前端验证,直接访问后端接口的BUG。
11、你在接口测试中是怎么校验结果是否正确?有两种需要校验∶
第一种:状态码校验,验证返回的状态码为200。第二种:业务校验︰
1.错误码为0
⒉当接口响应报文比较短,比较固定的情况下,校验完全一致。
3.当接口响应报文比较长,比较多的情况下,校验最核心的业务信息。
4.当接口响应报文为非常复杂的多层级XML格式或JSON格式,通过Xpath,JSONpath,正则表达式的匹配方式获取到最关键字的业务节点,然后再校验。
5.查询数据库校验或者是通过其他接口校验。
12、如何分析一个bug是前端还是后端的?
通过抓包工具抓包,然后查看请求报文,如果请求报文对比接口文档有问题,那么就是前端的问题。
如果请求报文没有问题,那就看返回报文,返回的数据不对,那就是后端开发的问题。
13、依赖于第三方数据的接口如何进行测试?
接口关联(依赖)是项目中的接口依赖于本项目的接口。
可以通过Postman搭建Mock服务,但是Postman的Mock服务有访问次数限制,一天只能访问1000次。也可以通过Servlet ,Flask等技术来实现接口Mock服务。
14、对于加密接口,签名接口如何进行测试?加密(签名)接口︰
在调用接口的时候,首先要弄清楚接口的加密方式什么什么?如∶
1.对称式的加密方式(私钥加密)︰不常用的有DES,AES,常用是Base64加密方式。
2.非对称的加密方式(双钥加密):RSA加密方式。
由一个秘钥密码生成双钥(公钥和私钥),公钥加密,私钥解密,私钥加密,公钥解密。
3.只加密不解密。
1.MD5加密
2.SHA1,SHA3 , , . ' ·
4.自定义加密规则。混合加密方式。
了解加密规则(签名规则)之后,在请求接口之前先要对参数做对应的加密(签名)之后在发送请求。单一加密方式,postman和Jmeter有些是支持的,postman使用javascript脚本实现,Jmeter使用beanshell中的java代码实现。
五、互联网公司常面自动化测试面试题
1、接口自动化和web自动化有多少case ?覆盖率是多少﹖全部执行完需要多久?
1)接口自动化测试的case数是根据接口数而定,100个接口,接口自动化case大概在2000-3000之间。接口自动化的覆盖率可以达到100%,web自动化测试case是根据业务用例而定,10000个功能测试的用例,那么web自动化的用例,大概2000-3000左右。覆盖率一般在30%左右。所有的用例全部执行完成在30分钟-60分钟左右。
2、接口自动化测试怎么做? web自动化测试怎么做?
1)项目组做自动化的可行性分析,自动化率能够实施什么样的程度。
2)调研测试团队对于自动化技术的程度,一般会伴随着demo演示( selenium,rf,requests )
3)计划制定,自动化测试框架搭建,逐步实施。发现框架的问题进行改善。
制定计划,提取或编写自动化测试用例,由leader编写自动化测试框架,组员编写和调试自动化呢测试脚本,无人值守jenkins,脚步的维护。
4)把自动化流程化,框架出使用文档和规范文档。
5)持续不断的完善框架。
6)把自动化测试标准推广到其他的项目。
3、什么是POM模式﹖为什么要使用它?
POM模式∶全称page object model,简称PO,页面对象模型。意思是把一个页面当成一个对象,页面的元素就是对象的属性,页面的操作就是对象的行为(方法),一般情况下PO分三层架构︰基础封装层BasePage ,PO页面对象层,TestCase测试用例层。
使测试用例更简单,更清晰,把很多的业务操作封装到PO页面对象层,用例只需要调用即可。
如果页面有变动,只需要修改PO页面对象层的属性即可。增加代码的可维护性。
4、说说你对数据驱动和关键字驱动的理解?
数据驱动是从数据文件(Excel , csv,YAML,数据库)读取输入、输出的数据,然后通过变量传入自动化用例用例中,在整个过程中,数据的读取,测试状态、测试信息全部在测试用例里面,测试数据都是数据文件中,通过修改数据达到驱动自动化用例执行的方式叫数据驱动。
关键字驱动是从面向对象的思维出发,同样的业务逻辑会封装成一个函数,这个函数名就叫关键字,不同的关键字实现不同的业务逻辑,当所有的业务逻辑都可以通过调用关键字来实现的时候,就是关键字驱动框架。、
—般情况下企业里面都是数据驱动+关键字驱动一起使用。
5、web自动化测试用例如何设计?如何提高web自动化用例脚本的稳定性?
用例设计∶
自动化用例是从功能测试用例里面提取出来的,主要提取的是冒烟用例和回归测试的用例,提取需要遵循以下原则。
1.优先覆盖核心功能用例。核心流程用
⒉尽量不要选复杂的用例。
3.选取一些重复执行的的用例。
4.一般选取正向用例。
如何提高稳定性:
1.尽量使用相对路径定位元素。
2.定位元素需要封装显示等待。
3.用例和用例之间尽量避免依赖
4.加入用例失败重跑机制。
5.自动化测试的环境区分开其他环境。
6、举例说明一下你在自动化测试过程中碰到过哪些异常?用到了哪些Python库?
异常∶
NoSuchElementException 没有如此元素异常
NoSuchAttributeException 没有如此属性异常
NoSuchFrameException 没有如此框架异常
ElementNotVisibleException 元素不可见异常。
(style:display:none)ElementNotSelectException 元素不可选异常。
TimeOutException 元素超时
ArrayIndexOutofException 数组下标异常。
TypeException 类型异常。
Python库:
webdriver, webdriverWait, os,xlrd,xlwt, time , unitest , logging , sys ,htmltestrunner
json , csv , jsonpath , yaml, , requests , re , pytest , allure , pymysql
7、自动化测试过程中,你遇到了哪些问题,是如何解决的?
1)元素定位不到。
2)自动化测试用例出现误报。
3)每一次自动化测试的结果会被覆盖。4)数据库校验。(对数据库结构非常清晰)
8、在上一家公司做自动化测试用的什么框架?
python+seleinium+unittest/pytest+ddt/parameters+htmltestrunner/allure+jeninsrf+selenium2library
python+requests+pytest+parameters+allure+jenins+yaml
9、自动化中有哪三类等待﹖他们有什么特点?
线程等待∶建议少用。
隐式等待:全局等待。
显示等待:一般会和一个匿名函数一起使用,一般用不结合定位元素的封装。
10、在执行脚本过程,如何实现当前元素高亮显示?
必做,利用javascript去修改你当前定位到的元素的style,在style里面加入border:3px redsolid这个样式。
11、在现有基础上给你一个新的业务线你是怎么做接口自动化的?
首先熟悉新的业务线接口的业务,然后熟悉已经搭建好的接口自动化测试框架,然后在当前的框架里面加入符合框架的接口自动化的测试用例即可,根据实际情况可以提出一些对框架的改进建议。
12、接口自动化测试框架中接口关联你们是怎么处理的?
1.通过一个yaml文件来独立的保存所有的中间提取的变量,这个变量在执行用例之前清空。conftest
⒉.在测试用例的yaml文件里面通过一个关键字extract提取变量:json提取和正则表达式提取。
3.在下一个接口通过{⑾或$或热加载的方式取值。
13、Requests中的Session会话管理的作用是什么?
因为很多接口都需要使用cookie或session来记录登录状态,而很多的接口必须要有这个登录状态才可以请求成功,Requests中的Session会话管理的作用就是自动的记录cookie和sesion的登录状态。
14、接口自动化测试中断言是如何实现的?
把断言封装成一个方法,这个方法会读取yaml文件里面的validate字段,包括断言的方式和断言的数据,然后在后台实现了断言。并且提现在报告里面。框架封装完成之后不需要写任何Python代码就可以实现断言。
功能测试不需要写任何pythhon脚本,只需要写yaml格式的测试用例即可实现接口自动化。
15、接口自动化测试框架中动态参数接口,加密接口,签名接口你们是怎么处理的?
热加载。
作者:百里说测试