一些关于自动化测试面试问题

        #linux常用命令:基础命令:cd 切换目录  ls -l列出文件详细信息  ls -a列出当前目录下的所有文件
        # touch 创建文件  mkdir 创建目录  echo  echo "内容" > mook hello 创建带有内容的文件 ; cat 查看内容文件  cp 拷贝
        # mv 移动或重命名  rm -r 递归删除;rm -f 强制删除  wc 统计文本中行数、字数、字符数
        #网络命令:curl 利用URL规则在命令行下工作的文件传输工具  curl www.baidu.com
        # netstat:netstat 显示网络状态信息  telnet:用于登录远程主机  telnet 127.0.0.1
        # 系统命令:ping:测试网络连通  man:查看帮助  kill:杀死进程  top:动态显示当前耗费资源最多的进程信息
        # ps:显示瞬间进程状态  df:查看磁盘大小  df -h:带有单位显示磁盘信息
        
        # OSI 7层模型指的是哪些内容:
        # 1、物理层:建立、维护、断开物理连接
        # 2、数据链路层:逻辑连接、硬件地址寻址、差错校验
        # 3、网络层:逻辑地址寻址、不同网络之间的路径选择、IP
        # 4、传输层:传输数据的协议,TCP/UDP
        # 5、会话层:建立、管理、终止会话,本地与远程主机的会话
        # 6、表示层:数据的标示、安全、压缩、JPEG、ASCII等
        # 7、应用层:与最终用户的接口,HTTP/HTTPS/SMTP等
        
        # Http协议中get/post的区别
        # 1、功能差异:get:去服务器取东西  post:从客服端上传东西用POST
        # 2、数据传输:get把传输数据放在URL所带的参数里面,post放在body里面
        # 3、安全性:get没有post安全性高,携带的参数数据会被发现,而post对用户不可见
        
        # tcp 和 UDP的区别
        # TCP:面向连接、传输可靠、应用场合:传输大量的数据、速度慢
        # UDP:面向非连接:如QQ/微信的消息,离线后再登陆可以收到消息、传输不可靠、少量数据、速度快
        
        # TCP连接三次握手具体过程
        # TCP连接都需要三个阶段:连接建立、数据传送和连接释放。三次握手就发生在连接建立阶段。
        
        # socket建立连接的过程
        # 1、服务器建立监听,socket,bind,listen
        # 2、客服端发送请求,connect,send
        # 3、连接确认,accept,response
        
        # 进程和线程的区别
        # 进程:独立数据空间,进程间是不共享资源数据,系统调度
        # 线程:执行程序的最小单元,进程内线程间共享资源,系统调度
        # PS:一个进程可以有多个线程,多个线程可以并发执行
        
        # 进程有哪些状态
        # 就绪状态:已获取处理器以外所需资源,等待分配处理器资源
        # 运行状态:占用处理器资源运行,此状态进程数<=CPU数
        # 阻塞状态:进程等待某种条件,在条件满足之前无法执行
        
        # 进程同步和互斥的区别
        # 互斥:
        # 1、某一资源同时只允许一个访问者对其进行访问
        # 2、具有唯一性和排他性
        # 3、互斥无法限制访问者对资源的访问顺序,即访问是无序的
        # 同步:
        # 1、基于互斥、经其他机制实现访问者对资源的有序访问
        # 2、大多数情况下,同步已经实现了互斥,写入资源是互斥的
        # 3、少数情况下,可以允许多个访问者同时访问资源
        
        # 进程间通信都包括哪些
        # 管道:半双工通信方式,数据单向流动,父子进程间
        # 命名管道:半双工通信方式,无亲缘关系进程间通信
        # 信号量:是计数器,锁机制,控制多进程多资源访问
        # 消息队列:消息链表,存在内核中由消息队列标识符标识
        # 信号:比较复杂的通信方式,通知进程某个事件已经发生
        # 共享内存:映射一段能被多个进程可访问的内存
        
        # 进程的调度算法都有哪些:
        # 先来先服务、短作业优先、时间片轮转调度算法、高响应优先、优先权调度算法、多级队列调度算法
        
        # 死锁产生的原因:
        # 1、资源竞争
        # 2、进程推进顺序不当
        # 必要条件:互斥、不剥夺,请求与保持,环路等待
        
        # 页面置换算法有哪些?
        # 最佳置换算法、先进先出置换算法、最近最久未使用置换算法、Clock置换算法(最近未使用算法)
        
        # makefile的作用是什么?
        # 1、定义规则,指定哪些文件先编译、后编译、重新编译
        # 2、makefile的好处,自动化编译
        # 3、makefile 需要make工具解释执行
    
    # 什么是ANR?
    '''
    ANR:应用无法响应
    Activity的最长执行时间是5S
    用户可以选择等待或者强行关闭
    
    '''
    
    # 安卓常见的五种布局:
    '''
    FrameLayout:框架布局
    LinearLayout:线性布局
    AbsoluteLayout:绝对布局
    RelativeLayout:相对布局
    TableLayout:表格布局
    '''
    # 安卓中动画有哪几种类型:
    '''
    Tween动画,组件移动、缩放、透明度的变化
    Frame动画,通过顺序播放来实现,类似电影
    '''
    # Adb基本命令
    '''
    app安装:adb -p 手机ip地址(192.168.0.203:5555) install 包APK的位置
    app重复安装:adb -p 手机ip地址(192.168.0.203:5555) -r install 包APK的位置
    app卸载:adb -p 手机ip地址(192.168.0.203:5555) uninstall 包名(cn.comein)
    查看手机是否连接:adb advices  adb connect 192.168.0.203:5555
Selendroid是instrumentation的一次封装;
Selendroid四大组件:
Selendroid Client:Webdriver + 移动特性的实现
Selendroid Server:一个Instrumentation APK
AndroidDriver-App:一个WebViewActivity,即浏览器
Selendroid-Standalone:大总管,负责准备环境

Robotium基于Instrumentation进行封装,实现的Android测试框架
封装了Solo类库,提供自动化测试API
由于是基于Instrumentation,测试时需要源码

'''
'''
Appium的理念:不需要APP源码;不局限于语言和框架;接口统一,不需要重复开发;必须是开源的
C/S架构,Appium核心是一个Web服务器
Session:客户端初始化session与服务器交互
Desired Capabilites:初始化时的键值对组合

Appium Server,操作与驱动手机的
Appium Client:支持多语言调用

Appium环境包括哪些:
Android SDK/JDK/Appium/
Pycharm Python环境
库:Selenium/Appium-Python-Client

Appium支持哪些开发语言:Java/javascript/PHP/Python/Ruby/C#/perl/Object C

App初始化时的配置:

platformName:目标设备平台Android/ios
platformVersion:目标设备的平台版本
deviceName:目标设备名称
appPackage:App包名(Android)
appActivity:App Activity名称
automationName:自动化驱动类型Selendroid/Appium
unicodeKeyboard:是否使用Appium输入法
resetKeyboard:恢复默认键盘


'''

'''
单元测试unittest测试框架:
1、TestFixture:SetUp:   TestCase:   TearDown:
2、TestCase
3、TestSite
4、TestRunner

数据驱动DDT:
黑盒测试-功能测试
数据驱动单元测试:为数据源中每行重复进行一种单元测试
常用情况是使用多个输入值测试API
效果:使用多个数据运行一条用例,使其表现为多条用例
原理:通过Python的 ,装饰每条用例
  • 9
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
面试官问到Java自动化测试时,他们通会关注以下几个方面: 1. Java基础知识:面试官可能会问一些关于Java语言的基础知识,例如面向对象编程、异常处理、集合框架等。确保你对这些概念有清晰的理解。 2. 测试框架和工具:熟悉常用的Java测试框架和工具是非常重要的。例如JUnit、TestNG、Selenium等。了解它们的使用方法和特点,并能够解释为什么选择使用它们。 3. 自动化测试设计和实现:面试官可能会询问你在自动化测试中的设计和实现经验。你需要能够解释如何编写可维护、可扩展和可重用的测试代码。此外,了解如何处理测试数据、测试环境和测试报告也是很重要的。 4. 版本控制系统:熟悉使用版本控制系统(如Git)进行代码管理和协作是必要的。你需要了解如何创建分支、合并代码以及解决冲突等操作。 5. 调试和故障排查:在自动化测试中,遇到问题是很常见的。面试官可能会问你如何调试和排查自动化测试中的问题。你需要展示你的故障排查技巧和解决问题的能力。 6. 性能测试:如果你有性能测试的经验,面试官可能会问你关于性能测试的问题。了解如何设计和执行性能测试,并能够解释性能测试中的常见指标和工具。 7. 数据库和API测试:对于一些需要与数据库或API进行交互的自动化测试面试官可能会问你相关的知识。了解如何编写数据库查询、验证API响应和处理API身份验证等是很重要的。 8. 测试策略和方法:面试官可能会问你如何制定测试策略和方法。你需要展示你的测试思维和分析能力,并能够解释如何选择合适的测试方法来覆盖不同的测试场景。 9. 敏捷开发和持续集成:了解敏捷开发和持续集成的基本概念和流程是很重要的。你需要了解如何在敏捷团队中进行自动化测试,并能够解释如何与开发人员和其他团队成员合作。 10. 问题解决能力:面试官可能会提出一些实际问题或场景,并希望你能够解决它们。在回答这些问题时,展示你的问题解决思路和方法是很重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值