zoukankan      html  css  js  c++  java
  • 测试中常见的面试题

    1.web测试和app测试的区别?

             1.1web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端。

            1.2系统架构来看的话,web测试只要更新了服务器端,客户端就会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是app端是不能够保证完全一致的,除非用户更新客户端。如果是app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。

            1.3性能方面,web页面可能只会关注响应时间,而app则还需要关心流量、电量、CPU、GPU、Memory。FPS,内存泄露,内存溢出等。

            1.4兼容方面,web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容,不过一般还是以浏览器的为主。而浏览器的兼容则是一般是选择不同的浏览器内核进行测试(IE、chrome、Firefox),目前web测试也要考虑在手机浏览器的兼容性。app的测试则必须依赖phone或者是pad,不仅要看分辨率,屏幕尺寸,还要看设备系统。系统总的来说也就分为Android和iOS,不过国内的Android的定制系统太多,也是比较容易出现问题的。一般app的兼容测试三种方法,云测试,请团队测试,真机测试真机的选择。首先要选择主流的机型,其次要选择不同的分辨率,尺寸,然后就是不同的操作系统。

            1.5相比较web测试,app更是多了一些专项测试:

            1.5.1健壮性测试:

      一些异常场景的考虑以及弱网络测试。这里的异常场景就是中断,来电,短信,关机,重启等。

      而弱网测试是app测试中必须执行的一项测试。包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。需要测试丢包,延时的处理机制。避免用户的流失。这些在前面的弱网测试那篇已经讲过,这里不再讲了。

            1.5.2安装、卸载、更新:

      web测试是基于浏览器的所以不必考虑这些。而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件,更新的强制更新与非强制更新、增量包更新、断点续传、弱网,卸载后删除app相关的文件等等。这里讲起来的话太多了,如果有疑问的同学可以评论或者给我留言。

            1.5.3界面操作:

          现在app产品的用户都是使用的触摸屏手机,所以测试的时候还要注意手势,横竖屏切换,多点触控,事件触发区域等测试。

     

         1.6自动化来讲,web大多用的selenium、webdriver,而app则是appium。

         1.7性能使用的工具web则是LR,app使用Jmeter要多一点。

         1.8 安全测试,app 安装包是否可反编译代码、安装包是否签名、权限设置,用户名等是否进行了隐藏等。web则要关注,sql注入,xxl攻击等。

        1.9 边界测试,app测试比如sd不足,飞行模式等。web则不需要考虑这些

        1.10权限测试,app需要获取用户的很多权限,但是web获取了用户极少数的权限就可以等等。

        2.http协议中的post和get区别

            HTTP是一个客户端和服务器端请求和应答的标准(TCP )。客户端是终端用户 ,服务器端是网站 。
    通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口 为 80)的HTTP请求。
        (我们称这个客户端)调用户代理(user agent)。应答的服务器上存储着(一些)资源,
    客户端与服务器之间的交互用到了两种类型的消息:请求(Request) 和响应(Response)
        GET 向特定的资源发出请求。
        POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。
        POST请求可能会导致新的资源的建立和/或已有资源的修改。
        GET是从服务器上获取数据,POST是向服务器传送数据
        GET 安全性较低,POST安全性较高。
        get(默认值)是通过URL传递表单值,post传递的表单值是隐藏到http报文体中,url中看不到。
        GET提交的数据大小有限制2kb

       3.你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。

        将问题提交到缺陷管理库,类似禅道,进行备案,
    根据需求文档,产品说明,设计文档等,确认实际结果是否与计划有不一致的地方,
    如果没有文档,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;
    根据一般用户的使用习惯,来确认
    与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;
    合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪
    等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并由上级做出决定。

        4.如何跟踪线上用户反馈bug?

           1.首先收到 bug,确认是否是bug,复现bug

           2.确认是bug要对bug进行记录,

           3.通知产品,告知开发,商量解决方案

           4.协助运维去查看日志

            5.解决bug,测试环境验证,集成验证

            6.告知用户,体验解决

            7.和产品运营等确认是否需要给用户赔偿

            8.记录bug处理过程,分析原因,组织相关人员进行回顾

            9.思考测试过程中不足,总结经验教训。

  • 相关阅读:
    switch循环所支持的数据类型
    java里面main方法中的String[]args
    java基本数据类型
    Jquery自定义插件
    Jquery插件(常用的插件库)
    【JAVA SE基础篇】43.Map接口和Set接口的常用方法
    【JAVA SE基础篇】42.手工实现ArrayList和LinkedList
    【JAVA SE基础篇】41.Collection、List方法和ArrayList、LinkedList、Vector底层实现
    【JAVA SE基础篇】40.容器(集合)和泛型的介绍
    【JAVA SE基础篇】39.编译时异常
  • 原文地址:https://www.cnblogs.com/lp475177107/p/11811582.html
Copyright © 2011-2022 走看看