测试基础知识

目录

  • 对测试的理解
  • 定位问题
  • 测试任务流程
  • 接口测试-一句话
  • 性能测试
    • 接口压测步骤
    • 负载过大
      • 解决方法
      • 解决过程
    • jmeter性能测试步骤-Demo
  • 兼容性测试
    • PC兼容性
    • Wap移动端兼容性
  • Demo
    • 一个水杯
    • 登录界面
    • 视频播放器
  • 为什么要选择测试
  • 解决过什么问题比较深刻

对测试的理解

  • 作用:1)帮助研发尽早定位问题 2)把控软件质量
  • 黑盒/白盒
    内部结构:黑盒测试:功能测试(等价类划分/边界值/正交实验(退款:退款类型+支付方式))/白盒测试:基于代码,代码检查/路径覆盖(语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合、路径覆盖)Jacoco

定位问题

  • 状态码(页面功能测试)
    400请求语法错误;
    404找不到资源/找:请求url;nginx配置不当
    500服务器内部错误/找:日志>代码>参数;
    报空指针:数据库中关联表的数据被认为删掉
    502错误网关:服务器挂了
    503服务器不能处理HTTP请求:临时超载/服务器进行维护
    504网关超时:单次调用/配置;压测/压力过大
    200:(接口文档/抓包>入参)接口测试复现
    看接口请求(前端)/响应(后端):接口吐数据错/数据库错了/缓存错了
  • 数据库(软件没有问题)
    例1:存数据报错:前端/接口校验文本长度50,数据表字段设定varchar(30);
    例2:问题测试环境没有,预发环境有,数据库版本不同

测试任务流程

  • 需求评审:需求背景目的;评估开发测试周期;工作内容交付时间
  • 研发-代码评审:可测性好不好;边界值,溢出;复杂逻辑需解释;关键节点日志
  • 提交测试-测试设计:测试方法(根据产品说明书/需求文档:黑盒/白盒,功能/接口,手动/自动);覆盖场景;用例覆盖多场景(减少成本)
  • 用例评审:是否覆盖所有场景,改动点对哪一部分有影响,风险
  • 测试前准备:测试环境、配置、测试数据、测试资产
  • 测试-提Bug-回归测试-测试报告-软件上线-线上观察-维护

接口测试-一句话

检查各系统之间数据的交换,逻辑关系。

性能测试

接口压测步骤

  • 梳理高峰业务场景(双11零点,多少万的用户同时抢神券)
  • 压测数据来源:之前日志线上流量复制,数据库建数据,业务接口建数据(线上:业务低峰,压测隔离环境)
  • 接口单元压测测试-forceboot
  • 小流量试压-阻塞性问题
  • 压测:逐步加压并发用户数大于2千万到目标QPS,响应时间小于50ms
  • 观察指标:接口使用率,内存使用率,QPS,响应时间
  • 压测报告

负载过大

解决方法

  • 服务器硬件
  • 缓存技术,数据存储
  • 前台静态化
  • 减少SQL语句select
  • 阻止大文件下载

解决过程

  • top 查load Average(进程队列的长度。1、5、15分钟内平均Load。要
  • 查看系统负载vmstat

jmeter性能测试步骤-Demo

20个用户访问url,在负载达到30QPS的平均响应时间
1)查看接口文档/Fidder抓包
2)添加线程数/循环次数/QPS(服务器每秒查询量)定时器(吞吐量)
3)设置发送的http请求:服务器ip/发送请求的方法
4)添加监听器:聚合报告/查看结果树
5)保存之后,启动
6)查看结果:聚合报告:实时,发送请求数目,响应时间,请求错误
查看结果树:每条访问的结果(成功/失败,请求返回值页面信息)
7)响应:状态码,
响应时间的性能监控:postman的Test功能:responseTime<200

兼容性测试

PC兼容性

  • 操作系统兼容性
    重点:win7、win8
    一般:Mac os、win10
  • 分辨率兼容性
    重点:小分辨率:1024 * 768;大分辨率:1920 * 1080
  • 浏览器兼容性
    重点:IE6(重点)、IE8、谷歌浏览器、狐火浏览器
    一般:QQ、360、猎豹、搜狗、遨游、Safari、win10的Spartan、IE7、IE9、IE10

Wap移动端兼容性

  • 操作系统
    2.3.5、4.1.2、4.2.2、5.0等等
    推荐测试机(小米、红米、三星)
  • 浏览器兼容性
    ios : Safari自带浏览器、UC、百度、360、QQ、微信(内嵌浏览器)
    安卓: 安卓自带浏览器、UC、百度、360、QQ、微信(内嵌浏览器)
    重点:ios自带浏览器、安卓自带浏览器、UC浏览器
  • 分辨率兼容性(尺寸)
    重点:480320、800400、 720 * 1280
    一般:其他

Demo

一个水杯

  • 界面测试:查看外观
  • 功能度:用水杯装水看漏不漏;水能不能被喝到
  • 安全性:瓶子的材质有没有毒或细菌
  • 可靠性:从不同高度落下的损坏程度
  • 可移植性:再不同的地方、温度等环境下是否都可以正常使用
  • 兼容性:是否能够容纳果汁、白水、酒精、汽油等
  • 易用性:是否烫手、是否有防滑措施、是否方便饮用
  • 用户文档:使用手册是否对的用法、限制、使用条件等有详细描述
  • 疲劳测试:将盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等
  • 压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

登录界面

  • 功能测试
    1)输入框的功能:
    合法用户名/密码:成功进入;合法用户名/不合法密码;
    验证码:空,不正确,区分大小写
    不合法的用户名/密码:错误;字符长度>限制;特殊字符,空,
    2)请求测试
  • 界面测试
    布局合理,2个testbox和一个按钮对齐,无错别字,顺序打乱。
  • 性能测试
    1)打开登录页面,需要几秒
    2)登录成功跳转到新页面,时间
    3)【一用户在多台机器同时XX】
  • 安全测试:
    1)登录成功后生成的Cookie,httponly属性
    2)用户名/密码:加密发送>服务器;验证,服务器端/客户端JavaScript验证
    3)错误登录次数(防止暴力破解)
    4)多用户同一机器能否登陆
    5)用户名和密码的输入框,应该屏蔽SQL注入攻击
    6)用户名和密码的输入框,应该禁止输入脚本(防止XSS攻击)
  • 兼容性测试:
    主流浏览器(Google/火狐):显示/功能;Android端/ios端/pc/微信端/

视频播放器

  • 功能测试
    播放:
    1.资源获取:服务器返回值/后台添加
    2.切换:上/下一个视频
    3.画质:选择,主动/被动(网络下载速度)
    4.播放方式:开始/暂停/快进/快退/倍速
    5.保留进度:a换b换a,a进度保留
    其他:
    1.音量:大/小/静音
    2.页面:最大化/最小化/浮动窗/横竖屏
    3.播放列表:播放顺序,列表模板展示,增删改
    4用户权限
    5.页面UI
  • 兼容性测试:
    1.平台兼容性:安卓/ios
    2.版本兼容性:系统版本
    3.客户端兼容性:视频/音频,视频格式
  • 网络测试:
    卡顿/黑屏/闪退;提示
    1.网络切换:wifi-移动网络,无网-有网
    2.弱网
  • 性能测试
    压力测试
    响应时间

为什么要选择测试

测试比较适合自己,工作强度相对与开发来说没有那么大
相对于研发和别的计算机相关的行业来说,比较看重综合能力,技术能力,业务能力和沟通能力,提升能力的空间很大

解决过什么问题比较深刻

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