zoukankan      html  css  js  c++  java
  • 抓包问题的提问整理

    你都知道目前市面上几种抓包工具?

    fiddler  charls  wirshark 

    这些抓包工具的原理?

    代理服务器,发请求从我这里发,出请求也从我这里出 

    将本地代理默认改成8888 端口 

    https抓的话需要导入一个证书,对外发送请求需要安装证书 ,电脑和手机装一个证书就可以了  

    手机端如何抓包的?

    前提,手机和电脑的网段在一个里面 

    用抓包工具干啥?

    1.没有接口文档情况下,功能发了那些接口,

    2.参数怎么传的,响应是啥 详细的请求和返回 

    3.有Bug看看是服务端的问题还是前端的问题

    4.模拟弱网络

    篡改请求操作?

    首先勾选automatic Breakpoints 下的before request 操作也就是 请求前拦截 ,修改你要修改的操作值,点击run发送,查看页面返回是否正常 

     ig代表忽略图片  

    before=请求发送之前,马上发出去了服务器还没有收到,作用帮助你发送之前停下帮助你篡改 

    after=客户端马上收到服务器的响应x修改法,修改响应的数据

    修改返回值的操作 ?

    首先勾选automatic Breakpoints 下的after respone操作也就是修改返回值得操作  会在你返回时候拦截 ,修改返回的值最大,点击run会校验页面的显示

    app上的包抓不到怎么办?

    查看是否和电脑连接是一个网段

    app要设置代理网址,导入https证书 都达到了都可以抓到包了 

     如何判断一个Bug前端后端的?????????????????????????????????

    抓包看 接口数据,如果接口数据都有问题肯定是后端的问题,

    如果接口数据没问题,哪有可能是前端的问题,也有可能后端字段写的有问题 

    我通过抓包,看到同样的请求条件,返回的字段有这个,但是前端显示不对 ,所以这个提给前端 

    如果我抓请求发现没有返回,返回的是空的,这肯定就是后端的问题

    如果给你一个web系统,你考虑怎么测试??????????????????????????????????????????????????????????????

    界面测试(图片是否失真,大小是否合适,按钮摆放是否合理,文字是否有错别字,文字与背景色对比是否明显)

    用户体验测试(跳转是否合理,层级深度是否合理,提示信息是否合理)

    功能测试(功能是否可用,功能是否准确,是否符合需求文档)

    兼容性测试(操作系统、浏览器--IE、FF、Chrome、屏幕分辨率)

    安全测试(抓包查看传递的敏感信息是否明文,可能是使用工具进行扫描)

    性能测试(并发状态的下的响应时间、并发量、吞吐量、资源使用情况--cpu、mem、disk、network i/o)

    负载测试

    压力测试

    稳定性测试

    自动化测试(单元测试、接口测试、UI测试)

    如果给你一个App,你考虑如何测试?????????

    界面测试(图片是否失真,大小是否合适,按钮摆放是否合理,文字是否有错别字,文字与背景色对比是否明显)

    用户体验测试(跳转是否合理,层级深度是否合理,提示信息是否合理)

    功能测试(功能是否可用,功能是否准确,是否符合需求文档)

    兼容性测试(Android--手机品牌、操作系统、芯片、分辨率、应用兼容;

                         IOS-- 操作系统、分辨率、应用兼容

                         网络)

    安全测试(抓包查看传递的敏感信息是否明文,可能是使用工具进行扫描)

    性能测试(  App对手机的资源占用--CPU、内存、磁盘、电量、FPS,响应时间

                         服务器端--并发状态的下的响应时间、并发量、吞吐量、资源使用情况--cpu、mem、disk、network i/o)

    负载测试

    压力测试

    稳定性测试

    自动化测试(单元测试、接口测试、UI测试)

    安装/卸载

    升级测试

    启动时间(首次启动、冷启动、热启动  adb shell am start -W 包名/.Activity_name)

    中断测试(电话、短信、第三方视频/语音、文件下载、音频播放、插拔数据线、电量提示、死机)

    手机特殊手势(横竖屏、左右滑动、上拉下拉、home、菜单键、返回键、音量键、power键、多指操作、3D touch操作)

    分享测试

    PUSH推送测试

    如果给你一个纸杯/电梯/纸/笔,你考虑如何测试??????????????

    样式是否美观(图画是否失真,大小是否合适,颜色风格是否合适)

    易用性测试(是否好拿、接热水是否易拿)

    功能测试(是否可以装水/饮料、盛水量是否跟说明书一致)

    安全测试(接热水是否会有有害物质、接热水是否漏水烫到人)

    bug生命周期?bug常见状态有哪些?

    激活-->                      已确认--》  已修改 已解决--》回归验证--》已关闭

         无法复现、重复bug、设计如此    延期处理    重新激活

    bug严重等级有哪几种?

    致命--系统崩溃不可用、

    严重 -- 影响主流程,无法绕过,与钱有关的bug、

    一般、提示建议

    怎么提交高质量bug?

    bug报告单内容要明确,bug标题要简明、复现步骤要详细,输入数据要准确、尽量要上传截图和日志;

    使用辅助工具,协助研发定位问题出现位置;

    bug是偶发的,标注偶发,尽量标注偶发频率;

    环境信息要标注清楚(手机型号、手机操作系统、浏览器、网络)

    、如果遇到研发不认可bug的情况,如何去处理???????????

    开发人员说不是bug,有2种情况,一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动,

    3方商量确定好后再看要不要改。二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发人员不修改也没有大问题。如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认。

    设计测试用例的设计问题??????????????????????????????

    分成几类,第一类就是完全的界面测试,根据需求文档,用户名框,等价类,边界值给他大概说下,他就懂   

    界面测试:每个输入框  用户名,长度,内容格式    等价类,边界值  等价类多用一些无效的等价类   比如tab  空格   

    一个登录页面大概要写多少测试用例?你考虑如何测试登录页面?

    界面测试: 每个输入域  用户名 长度 内容格式

    功能测试(Function Test)

    1、输入正确的账号和密码,点击提交按钮,验证是否能正确登录。(正常输入)

    2、输入错误的账号或者密码, 验证登录会失败,并且提示相应的错误信息。(错误校验)

    3、登录成功后能否跳转到正确的页面(低)

    4、账号和密码,如果太短或者太长,应该怎么处理(安全性,密码太短时是否有提示)

    5、账号和密码,中有特殊字符(比如空格),和其他非英文的情况(是否做了过滤)

    6、记住账号的功能

    7、登录失败后,不能记录密码的功能

    8、账号和密码前后有空格的处理

    9、密码是否加密显示(星号圆点等)

    10、牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个

    按钮是否好用

    11、登录页面中的注册、忘记密码,登出用另一帐号登录等链接是否正确

    12、输入密码的时候,大写键盘开启的时候要有提示信息。

    13、什么都不输入,点击提交按钮,看提示信息。(非空检查)

    性能测试(Performance Test)

    1、打开登录页面,需要几秒

    2 、输入正确的账号和密码后,登录成功跳转到新页面,不超过 5 秒

    安全性测试(Security Test)

    1、登录成功后生成的 Cookie 是否有 HttpOnly(降低脚本盗取风险)  不允许js去拿他的值 

    2、账号和密码是否通过加密的方式,发送给 Web 服务器

    3、账号和密码的验证,应该是用服务器端验证,而不能单单是在客户端用 javaScript 验证

    4、账号和密码的输入框,应该屏蔽 SQL 注入攻击  select * from user where username='测试'      ‘ ’or 1=1  前面会不执行,后面这个会执行会返回所有用户名和密码信息 ,预期不会返回所有的账号和密码  

    5、账号和密码的的输入框,应该禁止输入脚本(防止 XSS 攻击)

    6、错误登录的次数限制(防止暴力破解)

    7、考虑是否支持多用户在同一机器上登录;

    8、考虑一用户在多台机器上登录

    可用性测试(Usability Test)

    1、是否可以全用键盘操作,是否有快捷键

    2、输入账号,密码后按回车,是否可以登录

    3、输入框是否可以以 Tab 键切换

    兼容性测试(Compatibility Test)

    1、主流的浏览器下能否显示正常已经功能正常(IE6~11, FireFox, Chrome, Safari 等 )

    2、不同的平台是否能正常工作,比如 Windows, Mac

    3、移动设备上是否正常工作,比如 iPhone, Android

    4、不同的分辨率

    本地化测试 (Localization Test)

    1、不同语言环境下,页面的显示是否正确。

    软件辅助性测试 (Accessibility Test)

    软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能

    1、高对比度下能否显示正常(视力不好的人使用)

     

    补充用例设计:上传图片测试?????????????????????????

    1,文件类型正确,文件大小合适

    2,文件类型正确,文件大小不合适

    3,文件类型错误,文件大小合适

    4,文件类型和大小都合适,上传一个正在使用中的图片

    5,文件类型和大小合适,手动输入一个存在的图片地址来上传

    6,文件类型和大小合适,手动输入一个不存在的图片地址上传

    7,文件类型和大小都合适,手动输入图片名称来上传

    8,上传过程中断网、再次链接网络是否继续上传

    9,上传过程中图片被修改,是否会报错

    10, 服务保存策略  重复上传

    补充:测试用例设计

    搜索功能:  1,比较长的名称是否能查到?

               2,空格 或空

               3,名称中含有特殊字符,如:' $ % & *以及空格等

               4,关键词前面或后面有空格

               5,如果支持模糊查询,搜索名称中任意一个字符是否能搜索到

               6,输入系统中不存在与之匹配的条件,页面应该有提示否则视为体验性bug

               7,两个查询条件是否为2选1,来回选择是否出现页面错误

               8, 输入脚本语言,如:<script>alter(“abc”)</script>这个叫js语言获取一些用户信息等  这个是css xss攻击 ,,或者cookie设置only属性他也得不到,因为浏览器代码自动执行会引发安全问题 

    开发的预防会自动把你输入的给你屏蔽掉让他不能弹窗出来

    28、对于一个下单功能如何测试?

    1, 下单后取消

    2, 下单付完款后取消

    3, 配送时取消订单

    4, 收到货后取消

    5, 下单后取消部分商品

    6, 支付时返回错误页面

    7, 修改商品状态是下单该商品

    8, 先后购买两个或多个商品,同一个账户同一个地址(不同的地址),是否合并    成    一个订单

    9, 付款时调用第三方支付接口(各银行,支付宝...)是否能正常调用

    10,商品库存为零时下单

    11,下单未付款,订单保存时长

    12,商品库存是否会随着下单数量减少

    13,取消订单是否恢复(收到货再退货的呢)

    14,下单后未支付再添加别的商品或增减数量是否可以

    15,付完款配货状态是,购买别的商品或增减数量 是否等待一起配送

    16,购买打折商品时实际支付金额是否是折后

    17,购买大量打折商品金额是否计算正确(大量正价商品呢)

    18,打折商品和正价商品一起下单,金额是否计算正确

    19,下单时余额不足

    20,下单,支付是发送的数据是否加密(参数签名,是否有敏感字符)

    29、100积分兑换10代金券,满100元 可使用。对于此功能如何设计测试用例?

    1, 使用优惠卷实际付款是否减除优惠卷金额

    2, 未满额度是否可以使用

    3, 超过额度要求是否可以使用

    4, 打折商品是否可以使用优惠卷或积分

    5, 打折商品和正价商品一起使用是否可以

    6, 单独使用的优惠卷是否可以叠加使用

    7, 叠加类型的优惠卷是否可以单独使用(能否可以和单独使用类型优惠卷一起使用)

    8, 优惠卷编码是否是唯一的

    9, 优惠卷跟积分是否可以同时使用

    10,使用优惠卷购买的商品退款时是否是实际支付金额

    11,两件或多件商品一起使用优惠卷,退部分商品退款金额计算(每一件都到规定额度或拼一起才到规定额度)

    12,优惠卷使用过后是否显示无效

    13,商品通过优惠卷购买,退款后优惠卷是否还可用

    14,积分不够是否能使用

    15,增减积分的比例是否计算正确

    16,积分不够是否能使用

    17,使用积分是否有符合规定的优惠

    18,积分是否有清零时间段

    19,优惠卷期限(规定前日期,规定时间段内,过期后 是否都能使用)

    20,没有规定时间段的优惠卷过期后是否显示无效

    什么是兼容性测试?兼容性测试侧重哪些方面?????????????????????????????????????????????????????????????????????????????????

    参考答案:

    兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。

    兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。

    兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。

    兼容和配置测试的区别在于,做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。

    如何弱网测试?

    每一个请求都慢0.3s和0.15 

     如果想把请求全部精确到s你可以在这里针对你请求的接口设计延迟的s数,模拟当下各种2g,3g,4g的弱网测试 

     

    给你个接口如何测试?

    怎么做接口测试
    接口测试只是无界面的功能测试,设计的思路跟功能测试基本都是一致的。
    1、输入的参数测试
    1)根据参数的要求,进行判断是否满足要求,参数要符合他的要求,比方假如让输入一个数字,那么就判断输入数字----整数、小数、负数、复数等数字进行正常测试,或者超大数值和超小数值,异常测试就是判断当不输入数字,保持为空,或者输入的为字符串,不为数字时,反应是否正常。
    2)参数是否为必填项,如果为必填项,将所有的必填项都填写,进行接口测试当必填项未填写时,进行接口测试,查看是否报错
    3)如果参数为选填项,则进行测试,如果有多个选填项,一个个进行测试,填入所有必填项,和要求的一个选填项,接口返回是否正确,再测试,当选填项保持为空时,是否能够正常返回,当多个选填项时,是否返回正常
    4)如果参数名称填写错误是否报错,如果存在不合法的参数,是否报错等等
    5)对每个接口进行逻辑的测试,就是比方为新增一个数据,查对应的url,就得显示新增的数据,也就是所描述的每次新增,删除或者改动后都要进行检查查询。
    6)接口中还得考虑一些异常情况,比方权限问题,a方建立了多个内容,b方采用接口是否可以删掉。
    7)接口测试还得考虑各种逻辑和现实问题,这个就需要就是根据项目本身的可用性,可以完全想象成功能测试进行测试
    8)还要考虑反复提交接口,是否报错
    9)异常情景,如请求超时,快速连续点击、请求失败等情况
    10)安全性问题,比方登录的密码是否需要加密。 

  • 相关阅读:
    Posix线程编程指南(3) 线程同步
    Posix线程编程指南(1) 线程创建与取消
    #pragma once
    pycharm中import动态链接库pyd有错误
    vs2013 + python3.52 + boost1.61, 编译C++库失败
    VS2013下的64位与32位程序配置
    首篇
    B . Medal Ranking -UCF Local Programming Contest 2015
    A . Find the Twins -UCF Local Programming Contest 2015
    Restricted RPS CodeForces
  • 原文地址:https://www.cnblogs.com/weilemeizi/p/14661228.html
Copyright © 2011-2022 走看看