• 测试开发工程师常见面试题


    一.功能测试用例的设计

    举例:

    (一).我想要回家,让你给我买一张票,然后设计测试用例

    答案:
    1.确定需求(回家回哪,需要什么票,买什么时候的票)
    2.开始测试
    2.1 功能测试(我去买票(买火车票,飞机票),买到票(什么时候),回来给你)
    2.2 可靠性测试(我去买票过程中被撞死了,票买不到怎么办,延期了,买那个点的票没了怎么办让我帮他买票的人的身份,比如是否有特殊优待,如军人,1米2以下儿童等,身份证丢了,或者票丢了,责任划分)
    2.3 可维护性测试(票是否可保存完好)
    2.4 兼容性(还不同人的去买,我中间招人去买,我坐车走路)
    2.5 算法测试(我通过不同的渠道买票花费的时间)
    2.6 竞品测试(别的人怎么买的票)
    2.7 安全性测试(身份信息保密)
    2.8 性能测试(一个身份证买多张票,同时多张身份证买多张票)

    二.工作测试流程

    (一).功能测试流程

    1. 需求评审(重点,你发挥的作用是什么,需求可执行性,关联影响的功能模块,异常情况处理)
    2. 评估测试时间(测试计划)
    3. 测试用例设计(正交,边界值,等价类。。)
    4. 用例review(领导,开发,产品)
    5. 提测(确认开发进行过自测,功能主流程畅通,然后开始介入测试)(产品开发测试一块走流程)
    6. codediff(代码改动点,从根源发现开发的问题,代码中明显测试代码(return,写死值),公共静态变量在发生高并发时容易出问题,所以不能让这个变量的值去内存里面取)
    7. 执行用例
    8. 提bug(禅道)
    9. 回归测试
    10. 确认测试(准生产环境确认)(分情况)
    11. 发布(线上回归))
    12. BUG review(总结问题)

    注意点:
    发布测试来控制,测试环境部署测试来控制
    发布过程中,开发运维做监控。(分批发布)

    三.app专项测试

    1. CPU,内存,流量,电量,弱网,兼容性,FPS,中断,安装,稳定性??

      怎么自动化实现,写一些自动化框架方法封装起来,重复的使用

    2. 冷热启动的区别

      冷启动:在个人电脑中,冷启动是切断电源后重新启动。App类似,就是完全退出(不在后台运行)后重启启动。
      热启动:非冷启动情况都可以称为热启动。热启动比冷启动多了一个触发点,那就是在后台启动App,比如双击苹果的HOME键,进行App的热启动。同时热启动通常会有一个计时器,特别是一些理财和银行的类的App会做此处理,当你间隔一段时间触发了热启动后,会让你再次登录(通过密码/手势/指纹)。也有比如网易新闻客户端这样的,当你间隔一段时间后触发热启动,会弹出广告页。

    四.工具使用

    • postman:接口,功能测试,可以做参数化
    • httprequester:接口,功能测试
    • jemter:接口功能性能工具
    • lr:接口功能性能
    • fiddler:抓包,设置代理,设置断点,mock数据
    • charles:抓包,设置代理,设置断点,mock数据
    • robot:功能自动化
    • uft(qtp):功能自动化
    • docker:容器
    • monkey:性能稳定性(app)
    • jenkins:自动持续集成
    • git,svn:代码管理
    • xmind/visio:脑图
    • soapUI:接口功能测试(HTTP,WEBSERVICE协议)
    • xshell/SecureCRT/putty:
    • slor:关键字分词
    • slor:我测试:我 测试分别去数据库搜索结果
    • nginx(反向代理)
    • tomcat(动态网页发布)

    五.系统基础概念

    • 什么是性能测试
    • HTTP协议(哪些方法,什么区别(GETPOST),怎么组成,状态码)
    • TCP三次握手四次离手
    • 线程,进程区别联系
    • 内存泄露,内存溢出
    • 死锁

    六.自动化测试

    (一).自动化测试脚本的应用场景:

    1.重复性较多的,写脚本能省时间,节省效率,接口重复回归,功能重复回归
    2.手动做不了的测试上万数据的准确性校验,脚本跑,错误数据筛选出来数据更新机制的调整,全量变成增量更新

    (二).自动化框架的搭建:

    接口自动化框架

    1. 结构(1.框架思想(数据,关键字,行为,事件,混合)
    2. 读取用例的模块(excel,txt,mysql,xml)
    3. 发请求的模块(requests封装)
    4. 断言模块(re,遍历断言)
    5. 日志模块
    6. 测试报告生成模块
    7. 发邮件模块
    8. 配置文件)

    (三). 怎么设计测试用例,注意哪些点:

    (四). 怎么断言:

    (五).功能自动化框架

    1. 和接口自动化类似
    2. 对页面各个控件的api封装(哪些封装,下拉框,选择框,对隐形控件怎么处理)
    3. 不同环境处理
    4. xpath定位方法()
    5. js定位方法()

    (六).平台工具:

    1. 接口自动化集成到平台上;
    2. 平台做测试环境,线上环境的监控
    3. 做公用统计线上badcase的统计

    七.算法

    (会多门语言(前端了解。java熟练,python熟练))

    • 排序算法
    • 冒泡
    • 快排
    • 查找算法
    • 二分查找,队列,堆,栈实现

    八.linux

    常用命令背下来,熟悉,知道怎么用
    ls -alih()
    看日志(cat,head,tail,more)
    grep|wc -l

    九.数据库

    • 关系型数据库:
      SQLite
      mangodb
      mysql(sql,慢查询,配置)
      oracal
      GP数据库
    • 非关系型数据库:
      redis

    十.服务架构

    服务分布式架构(超融合):概念实现理解

    十一.网络

    IP
    网关
    路由
    根据子网掩码算网关
    NAT
    VPN
    交换机配置

    十二.典型例题

    (一).Web页面出现空白页怎么定位问题

    1. 抓包(抓包)
    2. 看服务日志
    3. 看你当前url 用接口实际访问模拟下请求
    4. mock数据,给请求,确认是那部分问题

    (二).Web页面响应过慢怎么定位问题

    1. 从一个浏览器输入url到形成页面经历了什么

    (三).你所测试的系统架构

    作者:GI-JOE
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    检测对象类型的两种方式,constructor属性和instanceof
    Javascript中的事件
    工厂模式、寄生构造函数模式、稳妥构造函数模式比较
    ECMAScript中的原型继承
    Javascript中new的作用
    js组合继承
    【原型模式】--重写原型对象prototype的影响
    动态原型模式
    js类型检测
    Javascript中的继承与复用
  • 原文地址:https://www.cnblogs.com/BenLam/p/10402389.html
Copyright © 2020-2023  润新知