测试问题以及基础知识点总结

前言

一些常见的测试问题以及基础知识点总结。

测试流程

  1. 根据项目、产品的需求提炼测试需求
  2. 根据测试需求和项目的整体计划,制定测试计划,测试方案等,包括测试的时间节点安排,人力资源安排,测试策略等,并进行评审
  3. 根据测试需求以及相关的设计文档,编写测试用例,即明确每个测试点的具体的操作步骤,预期结果等内容,并对用例进行评审。
  4. 准备测试环境和测试数据,包括测试系统部署的硬件环境和软件环境。
  5. 执行测试用例,提交测试过程中发现的bug,并通过版本迭代进行回归测试,验证相关的bug。
  6. 完成内部软件系统的功能测试,系统测试之后,系统趋于稳定,提交客户进行验收测试
  7. 编写软件测试报告
  8. 对测试过程进行总结,并将测试过程中的所有文档进行归档

测试开发的理解

测试开发的核心有2点:

  1. 通过技术手段提高产品质量
  2. 通过技术手段帮助开发提高效率

测试开发能够很好的把握软件测试各个方面的环节,更懂得如何提升软件测试的效率和测试需求中心点。能大幅度降低测试人员和开发人员之间不必要的无效沟通和对接,也能更全面的保障公司产品的不间断性运行。

POSTMAN

postman添加cookie cookie是否明文

  1. 在Headers中直接设置
  2. 根据Cookies标签设置
    • 在浏览器中找到cookie信息
    • 在postman中右上角有Cookies设置

Cookie是明文

抓包工具 WireShark VS Fiddler

Fiddler:专门用来捕获HTTP、HTTPS的。

WireShark:能获取HTTP,也能获取HTTPS,但是不能解密HTTPS。

如果处理HTTP、HTTPS,使用Fiddler,其他协议用WireShark。

使用的抓包工具如何测试APP端

WireShark 为例:

  1. 电脑开热点
  2. 查看热点的设备网段
  3. 使用 ipconfig 查看接口
  4. 打开软件,Capture -> Options -> Input 找到对应接口,点击开始
  5. 后续抓包可过滤相应字段

兼容性测试

分类

  1. 浏览器:在不同路蓝旗上是否可以正常运行,功能是否正常
  2. 屏幕尺寸和分辨率:不同分辨率下可否正常显示
  3. 操作系统:不同操作系统下正常运行,功能正常,显示正常
  4. 不同设备型号:针对APP,在主流设备上能否正常,是否崩阔

优点

  1. 进一步提高产品质量和用户体验
  2. 是的软件能够和其他软件不冲突,尽可能达到平台无关性
  3. 尽可能保证软件存在价值,是衡量一个软件质量的重要指标
  4. 使产品市场更广阔

在短时间怎么完成,难点在哪

  1. Web
  • 人工测试,主流浏览器和操作系统
  • 借助第三方测试工具:IEtester、SuperPreview、Browsershots(在线)
  • 记录bug,提交bug,告知开发人员修改
  1. APP
  • 人工测试,测试主流程和主界面
  • 借助第三方测试工具:百度众测平台和云测平台,打包apk或IPA上传,选择性好,会生成测试报告
  • 记录bug,提交bug,告知开发人员修改

如何测试一根铅笔

  1. 需求测试:查看说明书

  2. 功能测试:是否能写字

  3. 界面测试:外观

  4. 可靠性:怎样能摔坏,摔坏的程度

  5. 安全性:细菌或毒

  6. 可移植性:不同纸质、温度等环境下是否能使用

  7. 兼容性:是否能装下不同颜色、大小的笔芯

  8. 易用性:是否方便使用、携带

  9. 压力测试:不断增加压力,看什么时候坏

  10. 振动测试:在包装时候,各面震动,检查能否应对恶劣的运输

  11. 跌落测试:包装时候多高摔不坏

如何测试直梯

功能测试:

  • 是否能打开门、关门
  • 是否能上行、下行
  • 是否能按下按钮
  • 是否按下按钮后能到达对应楼层
  • 是否能在关门时按下开门按钮打开
  • 电梯显示层数是否与真实层数对应
  • 报警功能是否正常
  • 选择上行时按下层无用,同理下行
  • 超载是否提示、不关门

界面测试:

  • 是否损坏
  • 是否无法合上门
  • 外观是否符合要求

易用性测试:

  • 按键是否清晰
  • 是否能让人理解
  • 提示声音是否合理
  • 光照是否合理
  • 通风是否合理
  • 老弱病残用户是否兼容

安全性测试:

  • 暴力破坏是否能够报警
  • 超载是否报警
  • 应急电源
  • 能否强制开门

性能测试:

  • 不载人运行情况
  • 单人运行情况
  • 多人运行情况
  • 多人较长时间运行情况
  • 超长时间运行情况
  • 载重能力
  • 使用次数、年限

压力测试:

  • 最大载重
  • 超载看运行
  • 不断上升、下行

如何测试朋友圈

功能测试:

  • 发送

    • 是否能点击按钮发送
    • 空值发送
    • 组合发送验证
      • 文字+图片
      • 文字+视频
      • 图片+视频
    文字 图片 视频
    文字数量 是否能上传图片 视频是否能上传
    文字类型 图片上传数量 视频数量
    复制粘贴支持 图片清晰度、格式、大小 视频清晰度、格式、时长、大小
    删除键支持 是否能够预览、左右滑动 视频预览
    敏感词检测 是否能增删改照片 是否能增删改视频
    无法添加图片、视频 相册选择/拍摄 相册选择/拍摄
    长按纯文字模式
    • 所在位置测试

    • 谁可以看

    • 提醒谁看

    • 取消发送

  • 浏览

    • 是否能正常显示朋友圈内容
      • 文本是否被隐藏、能否察看全文
      • 可否复制、收藏、翻译
      • url能否过跳转
      • 支持点开查看图片
      • 发送、收藏、保存、编辑图片/视频
      • 是否能够滑动浏览
      • 能否静音
      • 按播放会播放
      • 收藏
    • 是否能正常点赞
    • 是否能正常评论
      • 评论文字
      • 评论复制粘贴
      • 空值
      • 回复评论
      • 删除评论
    • 评论多条

界面测试:

  • 和需求一致
  • 美观

易用性测试:

  • 标签、说明等是否明晰
  • 是否能放大字体

兼容性测试:

  • 不同系统
  • 不同软件
  • 不同版本

性能测试:

  • 服务器性能: 可通过loadrunner/jmeter工具实现,主要关注TPS、响应时间、吞吐量、CPU、内存等
  • APP: 可通过GT工具实现,运行时关注cpu、内存、流量、电量等占用率

压力测试:

  • 频繁发送、浏览会崩溃吗

如何测试淘宝购物车

  1. 界面测试

    • 打开淘宝购物车页面后,页面的布局是否合理,是否完整。
    • 不同卖家的商品在不同的table区域显示,区分明显。
    • 页面的功能按钮可以正常显示。
    • 商品的最下方显示失效宝贝。
    • 页面的最低端显示“你可能喜欢”
    • 向下滑动页面,在购物车顶端展示“购物车”。
    • 购物车中如果存在有商品降价、库存不足、限购件数等,在商品详情的下面,会有对应的字体展示。
  2. 基本功能

    • 购物车页面的所有连接是否正常。
    • 从商品信息页面添加的商品能显示在购物车中。
    • 若未登录,点击购物车中的商品直接进行结算,则提示用户输入用户名和密码,或者提示用户进行注册。
    • 若没有选择任何商品,点击结算,则提示用户“请添加要结算的商品”。
    • 勾选商品后,已选商品的总价(和优惠满减活动)会显示。
    • 勾选商品,点击结算按钮后,进去确认订单信息页面。
    • 购物车页面中,可以对添加商品信息做信息的修改,并自动保存成功。
    • 可以在购物车中重新修改商品规格。
    • 购物车能添加的商品种类是有数量上限的。
    • 结算的时候商品可以全选,选择底部的全选按钮。
    • 可以在购物车页面对宝贝进行管理。
  3. 性能测试

    • 打开购物车时间是否在已定的用户可以棘手的时间范围内。
    • 编辑购物车:删除、添加商品需要的时间。
    • 在购物车页面选择需要购买的商品进行结算的时候,结算金额可不可以实时显示。
    • 清空失效商品需要的时间。
  4. 兼容性测试

    • iOS:不同型号,不同的iOS系统。
    • 安卓:不同品牌,不同型号,不同的安卓系统。
  5. 网络环境

    • 4G、5G、WiFi网络环境下应用的各功能可正常运行。
    • 网络异常时,数据交换是否会有提醒。
    • 中途断网再很快连网,数据是否可以自动恢复,正常加载。
    • 只允许内网访问的APP,在连接到外网时是否会有提醒。
  6. 异常测试

    • 没有内存时,APP是否能够正常相应。
    • 横竖屏切换展示。
    • APP运行时网络中断。
    • 反复操作某一个功能,不断点击和刷新,是否出现闪退。
    • APP运行时接入电话、短信、社交软件的信息提示时,是否能够正常运行。

黑盒测试 VS 白盒测试

黑盒测试

功能测试,代码实现不可见

  • 等价类划分
  • 边界值分析
  • 因果图
  • 判定表
  • 错误分析

白盒测试

结构测试。

强度从低到高:

  • 语句覆盖:每个语句
  • 判定覆盖:每个判断每个取值分支
  • 条件覆盖:每个调节的所有可能结果至少出现一次,但未必能覆盖全部分支
  • 判定调节覆盖:包含判定覆盖和条件覆盖。说白了就是我们设计的测试用例可以使得判断中每个条件所有的可能取值至少执行一次(条件覆盖),同时每个判断本身所有的结果,也要至少执行一次(判定覆盖)
  • 条件组合覆盖:每个条件的每种组合
  • 路径覆盖:所有路径

也分为:

  • 静态分析
  • 动态分析

自动化测试

----------到结尾啦!! Hoohoo----------