一、常规面试题:

1、请做一个简单的自我介绍

  之前有写过自我介绍的博客,可跳转查看:https://www.cnblogs.com/azibaby/p/14961461.html

2、简单介绍上一个项目的你负责的业务流程

    一般考查你的表达能力,看是否把这个业务流程描述清楚。

    公式:项目名称(什么行业)+什么端(pc端、app端、portal端)+上线多久+使用对象是谁,业务流描述

    例如:

    1、我目前负责的是车商城购物系统,主要测试的是app端+portal端,目前已经上线半年了,使用的对象是市场用户。

    2、其中的app的业务流程有:用户注册、预览商品、查看商品详情、加入购物车、用户下单、查看订单列表、查看订单详情等。

    3、portal端出要业务流程有:商品分类、添加商品、修改商品、商品库存、商品上架、商品下架等等。

3、你们公司的测试流程怎样

     可以大概说下项目组的组成人员结构,再描述测试流程

     例如:我们项目组由产品、开发、测试组成,测试开发比是1:3,一般产品出需求、原型后,产品组织大家开需求评审会,需求确定后,测试写测试计划,测试计划包含本次需求的内容,测试用例完善时间,用例评审时间,开发提测时间,uat上线时间,以及生产上线时间。

4、Bug的生命周期

   一般介绍下上家公司所使用的项目管理工具  ,讲一下你们所在的项目组中,这个生命周期是如何配置的

   例如:我们公司目前所用的项目管理工具是禅道,生命周期是:测试去发现BUG–>提交BUG–>指派BUG–>研发确认BUG–>研发去修复BUG–>回归验证BUG–>是否通过验证–>关闭bug

      *如果开发修复的bug未通过就从新指给开发

      *如果开发将bug状态修改为延期处理,将和开发、产品沟通延期到什么时候

      *如果开发将bug状态改为无效bug,测试将再次回归该bug是否重现,或与产品、开发确认需求,直至bug解决

5、如何判断是前端还是后端的bug

      通常通过抓包工具,查看请求参数和响应结果,如果响应结果和前端展示的不一致,就是前端的bug,如果前端显示错误了,接口响应结果也是错的,那就是后端的bug

 6、常见bug类型

     6.1、页面布局、UI颜色、文字bug

     6.2、兼容性bug

     6.3、业务逻辑bug

     6.4、数据计算bug

     6.5、性能bug、安全bug

7、测试用例包含哪些模块

     用例编号、所属模块、用例标题、前置条件、操作步骤、预期结果、实际结果、是否通过、测试日期、测试人

8、常用的测试方法

     等价类、边界值、错误推测法、因果图法、判定表驱动分析方法、正交实验设计方法、场景分析法

9、刚入职公司,给你一个界面如何开展测试

      无论给什么让你测,首先获取完整的需求文档,从界面、功能、业务、安全、性能、可用性等角度去设计测试用例,执行测试用例,以及回归。

10、你觉得是bug,开发不觉得是bug(无效bug,你是怎么处理的)

        首先确认需求,是否和开发理解的一致,如果不一致就找产品一起确认;如果和开发理解的一致,就重新复现bug,告知开发复现结果,一起排查bug,直至bug关闭

11、如何保障测试质量

   11.1、首先要保证流程的规范,无论是需求评审还是测试用例的评审

      11.2、充分了解产品需求,熟悉用户使用场景、充分完善测试用例

      11.3、充分做好回归测试,项目和时间的允许下完善自动化测试

12、如何造测试数据的

      12.1、inster into批量造数据

      12.2、jmeter接口关联,第一个接口数据传输到第二个接口

      12.3、jmeter csv参数化配置

13、bug清单通常包含哪些内容

       13.1、所测试的环境、测试账号及密码

       13.2、如果是接口测试的清单就贴上接口请求的地址,如果是界面上的bug贴上界面的url地址

       13.3、bug描述,bug复现的步骤

       13.4、bug的截图

二、接口面试题:

1、http与https的区别 

    1.1、https协议需要到 Ca (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。
  1.2、http是超文本传输协议,信息是明文传输,https则是具有安全性的 SSL 加密传输协议。
  1.3、http和 https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  1.4、http的连接很简单,是无状态的。https协议是由 ssl+http 协议构建的可进行加密传输、身份认证的网络协议

2、get和post的区别

   2.1、get是不安全的,因为在传输过程,数据被放在请求的URL中;post的所有操作对用户来说都是不可见的。
   2.2、get传送的数据量较小,这主要是因为受URL长度限制;post传送的数据量较大,一般被默认为不受限制。
   2.3、get限制Form表单的数据集的值必须为ASCII字符;而post支持整个ISO10646字符集。
   2.4、get执行效率却比post方法好。get是form提交的默认方法。

3、session与cookie的区别

   3.1、cookie数据存放在客户的浏览器上,session数据放在服务器上.
     3.2、生命周期不一样,cookie的生命周期就是从浏览器打开到浏览器关闭,session预先设置的生存周期,或永久的保存于本地的文件
     3.3、cookie不是很安全
     3.4、通常将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中

4、接口测试流程

     4.1、需求分析,获取完整的接口文档

     4.2、根据接口文档编写测试用例(单接口用例,场景测试用例)

   4.3、使用jmeter先进行单接口测试创建线程组,,添加请求头,添加http请求根据用例设计填写参数,添加断言,添加察看结果树,添加聚合报告,关注察看结果树中的                       响应数据和预期结果是否一致。其次再编写场景的测试脚本,通常一个场景一个线程组。

三、数据库常见面试题

1、创建表的语法

     create table 表名 (列名1 类型 约束,列2 类型 约束…)

2、插入数据的语法

     insert into 表名…values…

3、修改数据

     update 表名 set 列名=值 where 条件

4、truncate、delete和drop的区别

   4.1、drop table删除表的结构,truncate、delete删除行;

   4.2、 truncate只能对table,delete可以是table和view;

 4.3、truncate  table删除表中所有的行,效率快不可回滚;delete可以加上where条件。

 4.4、drop > truncate > delete

5、一般用数据库做哪些操作

  5.1、数据落库、数据修改时,进行数据查询和对比

  5.2、inster into批量造数据

6、左连接、右连接,等价连接的区别
  6.1、left join (左连接):返回包括左表中的所有记录和右表中连接字段相等的记录。
  6.2、right join (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录。
  6.3、inner join (等值连接或者叫内连接):只返回两个表中连接字段相等的行。
 
7、limit的使用

  7.1、查询最近10条数据:  select * from a order by addtime desc limit 10;
  7.2、查询第6条到第15条数据:select * from table limit 5,10;
  7.3、从第三位数开始提取三条记录:select * from table limit 3 offset 2;
  7.4、取第6行后所有的数据:select * from table limit 6,-1;
 
四、Linux常用命令

1、常用的命令

 一般会让举几个自己经常用到的Linux命令和用法,下面这个链接里的可以参考下

   http://blog.csdn.net/xiaoguaihai/article/details/8705992

  目前我们工作中常用到的有以下几个命令,部分命令后面会跟些参数,也需要了解下

  显示日期的指令: date

  改变文件的权限:chmod

  变换目录:cd

  显示当前所在目录:pwd

  建立新目录:mkdir

  档案与目录的显示:ls

  复制档案或目录:cp

  移除档案或目录:rm

  移动档案与目录,或更名:mv

  由第一行开始显示档案内容:cat

  从最后一行开始显示:tac(可以看出 tac 是 cat 的倒着写)

  一页一页的显示档案内容:more

  只看头几行:head

  只看尾几行:tail

  寻找特定档案:find

  压缩文件和读取压缩文件:gzip,zcat

  压缩文件和读取压缩文件:bzip2,bzcat

  压缩文件和读取压缩文件:tar

2、grep和find的区别

   grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式进行匹配查找。

 find是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间。

 

版权声明:本文为azibaby原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/azibaby/p/14973161.html