测试面经一

头条一面面经

  1. python 元类

  2. python 多线程

  3. 举出熟悉的两个设计模式,并说明

  4. shell 常用命令,查看端口之类,查看进程被占用

lsof:pid
netstat -nlp | grep pid
  1. mysql 注入
  2. postman的原理,header 怎么mock
  3. 测试过程中怎么打桩
  4. 微博发布功能怎么测
高风险,未登录,正常用户;
内容分类,单一内容发布,组合内容发布
重复发布
各种网络
页面兼容性
用户分组发布
  1. 冒烟测试和回归测试,系统测试区别, 测试基本概念
冒烟测试:最基本的功能或最主要的业务流程进行测试(类似于p0准入case);
集成测试:完成单元测试后,各模块联调测试;针对程序内部结构进行测试
系统测试:基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。
回归测试:回归测试是指在发生修改之后重新测试先前的测试用例以保证修改的正确性。
验收测试:
Alpha测试:是由用户在开发者的场所来进行的,在一个受控的环境中进行。
Beta测试:由软件的最终用户在一个或多个用户场所来进行的。
  1. 有哪几种LOG级别,分别说明
 分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL。
Log4j建议只使用四个级别,优先级 从高到低分别是ERROR、WARN、INFO、DEBUG。
  1. 自动化测试框架,如何实现,是否参与框架开发

  2. 举例说明一个接口CASE校验点

1. json格式测试:  
  通常我们的接口一般设计的都是传递json串,那么就需要去测试
  如果传递非json的情况,这时候程序会不会正确的处理,返回相应的        error code

2. 默认值测试:
  很多情况一些非必填的参数会有默认值,比如说一个查询的接口,参数count为返回查询的结果数量,
  默认为10,那么就应该有一条case来测试,当然前置条件是数据库里面必须要存在这样的数据超过10条。

3. 异常类型测试:
  比如上面的count参数,这个参数的类型一定是可以转换为int类型的,这时候我们需要测试如果传的一些不可以
  转换为int类型值来测试代码是否加入判断

4. 必传项测试:
  如果接口的参数有必传项,那么需要测试在不传这个参数的时候接口返回情况,测试是否会提示
  相应的error code

5. 非必传项测试:
  如果接口有非必填项,当我不传递这些参数的时候会不会正常的返回相应的结果

6.非空测试:
  无论是必传的和非必传的参数,传递的key是正确的,但是value=null,这时候返回结果是否正确

7.业务逻辑测试:
  传递正确的参数,接口对数据库进行查询的操作,需要去验证数据库查询是否正确,接口对数据库进行
  增删改的操作,也需要看数据库是否同步进行了这些操作

8.兼容性测试:
  比如说今天接口进行了调整,但是前端没有进行变更,这时候需要验证新的接口是否满足旧的调用方式

9.错误码测试:
  通用的错误码与业务错误码是否能够清晰的说明调用问题,错误码是否能够尽可能的全的覆盖所有的情况

10.数据异常测试:
  假如数据库设计为32位varchar类型,那么如果传33位会是什么情况,会不会抛出相应的错误码,而不会抛出数据库异常

11.返回值测试:
  返回值除了内容需要是正确的,还需要类型也是正确的,保证调用方拿到这些参数能够正确的解析

12.加密测试:

  1. 算法
  2. 项目相关
  3. NGINX 转发

你可能感兴趣的:(测试面经一)