zoukankan      html  css  js  c++  java
  • 重新开张——APP测试

    【https://mp.weixin.qq.com/s/mV3DxZDoGk219dAaCqxcsA】

    【https://mp.weixin.qq.com/s/m-7cLQTk_g9x3vj3EPOd_Q】

    一、基础篇:字符串翻转(python、java)

    python:

    1、[::-1]

    s=abc
    print(s[::-1])

    2、reverse方法(针对数组)

    l = list('abc')
    l.reverse()
    print(''.join(l))

    java:

    1、使用StringBuffer   【https://www.jianshu.com/p/42001b20d818】

    public String reverse(String s){
       return new StringBuffer(s).reverse().toString();}

    2、字符串功能

    public String reverse(String s){ 
        char[] letters=s.toCharArray(); 
        char temp; 
        int len=letters.length;
    
        for(int i=len/2-1;i>=0;i--){ 
            temp=letters[i]; 
            letters[i]=letters[len-1-i]; 
            letters[len-1-i]=temp; 
            } 
        return new String(letters); 
        }

    二、测试知识

    1、请说一下你以前公司功能测试通过的标准?

    ① 正常情况下,测试用例100%通过,能够100%覆盖需求;

    ② 特殊情况,比如基于上线等等,与各方沟通,可以牺牲部分低优先级的测试质量(比如UI等)【https://blog.csdn.net/weixin_30542079/article/details/97998989】

    2、你认为app测试过程中,相对于web,要更多注意哪些测试点?或者说app测试和web测试有哪些不同之处?

    ①  “ 加载更多” 的分页处理技术,是否有重复的数据,数据显示是否完整,到达最后一页后是否还有数据进行显示;
    ② 数据的排序方式;
    ③ 界面跳转是否正确;
    ④ 出现异常情况是否有提示,是否跳转到已经设定好的默认页面,如断网情况下,显示网络未连接,数据加载失败,或者如果此页面没有数据显示,显示友好提示信息;
    ⑤ 图片处理的地方,是否容易出现程序崩溃现象,主要是图片压缩机制;
    ⑥ 前台展示的数据,后台进行变动(增、删、改),是否是实时更新还是app一开始运行再进行加载;
    ⑦ 前台主动发出请求,后台数据库中是否存在相应的数据同时包括数据的关联性(商家的会员进行下订单,数据库中生成一条订单的记录的同时,生成一条积分记录,该会员的积分进行相应的变化);
    ⑧ 手机app网络环境测试重点:主要是针对2G、3G、4G、wifi三种网络环境进行测试 ;
    ⑨ 手机app兼容性测试:主要是针对android各个系统版本进行测试,及测试屏幕分辨率进行测试;

    三、测试技术:

    1、说说会用哪些抓包(测试)工具?怎么用的?

         Charles、fiddler、postman、switchhost、PP助手、secureCRT

    2、请写出一个SQL来查询分数前五5的所有人?

    select name from table order by grade desc limit 5
    Select top 5 * from table order by grade desc

    3、linux常用命令有哪些?

    查日志   tail -f /work/a.log
    查进程   ps -ef | grep 文件名称
    强制杀死进程   kill -9 ID
    查内存   free -m
    cd命令:切换到某个目录
    ls命令:列出当前目录的所有文件、文件夹
    pwd命令:列出当前目录的路径
    rm命令:删除
    ps命令:查看进程
    cat命令:查看某文件
    free -m
    du -sh *
    kill -9
    tail
    grep

    4、请说明Android手机和IOS手机,系统有什么区别?

      ① 两者运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。

            iphone沙盒机制解释:应用程序位于文件系统的严格限制部分,程序不能直接访问其他应用程序。以杀毒软件中的沙盒技术解释一下。“沙盒”技术是发现可疑行为后让程序继续运行,当发现的确是病毒时才会终止。“沙盒”技术的实践运用流程是:让疑似病毒文件的可疑行为在虚拟的“沙盒”里充分表演,“沙盒”会记下它的每一个动作;当疑似病毒充分暴露了其病毒属性后,“沙盒”就会执行“回滚”机制:将病毒的痕迹和动作抹去,恢复系统到正常状态。
            安卓虚拟机机制解释:android本身不是为触摸屏打造的,所以所有的应用都是运行在一个虚拟的环境中,由底层传输数据到虚拟机中,再由虚拟机传递给用户UI,任何程序都就可以轻松访问其他程序文件。
      ② 两者后台制度不同:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。
      ③ IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。

      ④ ios系统流畅性更具优势。Android系统采用虚拟机的运行机制,需要消耗更多系统资源。Android系统使用一段时间后容易出现卡顿,而ios系统则很少出现卡顿现象,并且Android系统的桌面灵敏性不如ios系统。
      ⑤ Android的编程语言是JAVA,而iOS的则为Objective-C。Objective-C的优势是效率高但比较“唯一”,而JAVA的优势则是跨平台不过运行效率相对偏低。
      ⑥ 操作界面来讲,ios系统界面单一。而Android的界面可以根据自己的喜好来设置,更加多样化。
      ⑦ 省电的角度来讲,ios系统更加省电。这是系统机制决定的。Android会占用更多的资源来支撑系统运行,导致了它会比较费电。

    5、请简要介绍一下安卓系统四层架构?

         从上到下,依次是:应用程序层——》应用程序框架层——》系统运行库层——》Linux核心层

    6、简单介绍一下Android SDK中自带的几个工具/命令的功能?

        ddms:Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik[虚拟机]调试监控服务。

        monkey:Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。
        uiautomator:UIAutomator是Eclipse自带的用于UI自动化测试工具,可仿真APP上的单击、滑动、输入文本等操作。
        monitor:同uiautomator
        adb:ADB的全称为Android Debug Bridge,就是起到调试桥的作用。通过ADB我们可以在Eclipse中方面通过DDMS来调试Android程序,就是debug工具。

    7、常用的adb命令有哪些?请随便写一个monkey脚本,并解释其中参数的含义?

    (1)adb devices、adb install、adb uninstall、adb shell pm **、adb shell am **,

    (2)adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 2000 > d:xnonline-monkey-test1.txt
                    -p:app包名、
                   --throttle:每个操作的间隔时间,单位ms
                   --ignore-crashes:忽略崩溃
                   --ignore-timeouts:忽略超时
                   --ignore-security-exceptions:忽略安全异常
                   -v -v -v:日志详细等级,3个v代表最详细等级的日志
                   d:xnonline-monkey-test1.txt:代表将产生的日志,放到本地PC的D盘,并命名为:xnonline-monkey-test1.txt

    8、测试过程中遇到app出现crash或者ANR,你会怎么处理?

          参考答案:可以先把日志过滤出来:adb logcat | findstr xxxxx(过滤日志信息) ,然后再搜索其中的关键字,比如:exception、crash,看看是那些方法或者异常导致了问题的发送,初步定位问题原因后,可以交给开发人员去具体查找深层原因并修复。

    四、开放题

    1、请说一下以往工作中都曾具体做过哪些工作?其中最擅长哪部分工作(功能,自动化(UI和接口),性能)?这部分你是怎么做的?(自由发挥)

    2、你觉得app的性能测试,即专项测试,需要重点关注那些方面?

        内存、cpu占用、耗电量、流量、流畅度等

    3、个性化问题

    3.1、你为什么来选择做测试?
    3.2、你认为理想的测试流程是什么样子?
    3.3、你认为如何提高个人的软件测试技术?
    3.4、谈谈软件测试职业发展,以及个人未来的打算?

  • 相关阅读:
    Python基础练习
    理解信息管理系统
    datatime处理日期和时间
    中文词频统计
    文件方式实现完整的英文词频统计实例
    组合数据类型练习,英文词频统计实例上
    英文词频统计预备,组合数据类型练习
    凯撒密码、GDP格式化输出、99乘法表
    字符串基本操作
    条件、循环、函数定义 练习
  • 原文地址:https://www.cnblogs.com/llw1121/p/12037176.html
Copyright © 2011-2022 走看看