十月份快过了三分之一了,金九银十招聘旺季迎来最后一段时间,许多的小伙伴们到现在还没有做好面试准备,而如今的软件测试岗位又特别卷,为此我整理了一些软件测试方面的的面试题,希望能帮助到大家,话不多说,我们直接进入正题。

一、什么是自动化测试
概念:让程序代替人为去验证程序功能的过程
1.解决-回归测试
2.解决-压力测试
3.解决-兼容性测试
4.提高测试效率,保证产品质量
回归测试:项目在发新版本之后对项目之前的功能进行验证;
压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力
兼容性测试:不同浏览器(IE、Firefox、Chrome)等等

二、自动化测试优点
优点
1.较少的时间内运行更多的测试用例;
2.自动化脚本可重复运行;
3.减少人为的错误;
4.克服手工测试的局限性;

三、.自动化测试分类有哪些?
1.Web-自动化测试
2.移动-自动化测试
3.接口-自动化测试
4.性能-自动化测试
5.安全-自动化测试

四、App出现crash原因有哪些?

1.内存管理错误:可能是可用内存过低,app所需的内存超过设备的限制,app跑不起来导致App crash。或是内存泄漏,程序运行的时间越长,所占用的内存越大,最终用尽全部内存,导
致整个系统崩溃。亦或非授权的内存位置的使用也可能会导致App crash。
2.程序逻辑错误:数组越界、堆栈溢出、并发操作、逻辑错误。e.g.app新添加一个未经测试的
新功能,调用了一个已释放的指针,运行的时候就会crash。
3.设备兼容:由于设备多样性,app在不同的设备上可能会有不同的表现。
4.网络因素:可能是网速欠佳,无法达到app 所需的快速响应时间,导致app crash。或者是不
同网络的切换也可能会影响app的稳定性。

五、push如何测试?

检查Push消息是否按照指定的业务规则发送;检查不接收推送消息时,用户不会再接收到Push
消息;
如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到Push。在非免打扰时间
段内,用户能正常收到Push;
当Push消息是针对登录用户的时候,需要检查收到的 Push与用户身份是否相符,没有错误的将其他人的消息推送过来。一般情况下,只对手机上最后一个登录用户进行消息推送;
测试Push时,在开关机、待机状态下执行推送,消息及其推送跳转的正确性;
push 消息时,会有红点展示,推送消息阅读前后数字的变化是否正确;
应用在开发、未打开状态、应用启动且在后台运行的情况下是push 显示和跳转否正确;
多条推送的合集的显示和跳转是否正确。

六、APP的闪退通常是什么原因?
缓存垃圾太多,Android系统的特性,如果长时间不清理垃圾文件,会导致越来越卡,甚至闪
退;
运行程序太多,导致内存不足;
应用版本兼容问题,分辨率兼容问题;
APP中访问网络的地方,组件能否正常下载并显示;
APP的 SDK与手机系统不兼容;
系统升级后,新版本不兼容老版本的API,返回对象失败,报空指针;软件权限未开放。

七、简述 Android 四大组件及生命周期?
Android的四大组件包括:Activity、Service、BroadcasReceiver, ContentProvider

八、Android的兼容性测试都考虑哪些内容?

品牌机型兼容:根据市场占有率、发布时间等指标对主流、最新机型进行重点兼容

ROM兼容:需兼容原生的ROM(2.1、2.2、2.3、4.0、4.1、4.2);第三方ROM(小米、百度易、点心、魅族、阿里云.……)
屏幕兼容:需兼容HVGA、VGA、WVGA、FWVGA、720p、1080p屏幕分辨率,并考虑不同PPI的情况
软件兼容:安全类软件(百度手机管家、360优化大师、360安全卫士、QQ手机管家、安卓优化大师、网秦、LBE),输入法软件(系统自带、Sogou、百度)
版本兼容:服务器端需要兼容产品早期版本所需的API接口
网络兼容:WiFi、3大运营商的2G,3G,4G网络,需区分WAP和NET接入

九、.BDD是什么?你了解多少?TDD是什么?
BDD:行为驱动开发(Behavior DrivenDevelopment )
TDD:测试驱动开发(Test-DrivenDevelopment)

十、简述Appium的原理?

Appium是使用Node.js平台编写的"HTTPServer”,并使用Webdriver JSON线协议驱动iOS和Android会话。
因此,在初始化Appium Server之前,必须在系统上预先安装Node.js 当Appium被下载并安装
时,在我们的机器上设置一个暴露REST API的务器
它从客户端接收连接和命令请求,并在移动设(Android/ iOS)上执行该命令,它响应HTTP响应。再次,为了执行此请求,它使用移动测试自动化框架来驱动应用程序的用户界面。
框架像Apple Instruments for iOS(仅适用于Xcode3.0或更高版本的OSXv10.5及更高版本)适用于Android API的 GoogleUIAuutomator 16级或更高版本
Selendroid for Android API等级在15以下。

十一、提到jmeter中的正则表达式是什么?
根据模式(patterns),使用正则表达式搜索和操作文本。jmeter可用于解释在整个jmeter测试
计划中使用的正则表达式或模式的形式。

十二、.解释什么是采样器(Samplers)和线程组(Thread group )?
线程组:对于任何测试计划,线程组元件都是JMeter的开始部分。这是JMeter的重要元件,你
可以在其中设置多个用户和时间来加载线程组中给出的所有用户。
采样器:采样器生成一个或多个采样结果;这些采样结果具有许多属性,例如经过时间、数
据大小等。采样器允许JMeter通过采样器将特类型的请求发送到服务器,线程组决定需要发出
的请求类型。一些有用的采样器包括HTTP请求、FTP请求、JDBC请求等等。

十三、解释什么是预置处理器元件?列出一些预处理器元件?预置处理器是在采样器执行之前发生的事情。为了在执行采样请求之前对其进行配置,或者用于更新未从响应文本中提取的变量,需要使用预处理器元件。
一些预处理器元件是:
· HTTP URL重写修饰符
·HTTP用户参数修饰符
·HTML链接解析器
• BeanShell PreProdwssor

十四、.JMeter为性能测试提供什么好处?
JMeter提供性能测试方面的优势,例如:
·。它可以用于测试静态资源和动态资源的性能;
。它可用于测试网站最大并发用户数,从而分析定位网站瓶颈;
。它提供了性能报告的图形化分析

十五、怎么分析性能测试结果?
首先查看事物通过率,然后分析其他性能指标,比如,确认响应时间,事务通过率,CPU等指标
是否满足需求;如果测试结果不可信,要分析异常的原因,修改后重新测试

十六、think_time的作用是什么?
模拟真实生产用户操作,考察对服务器所造成的影响。在确定性能测试结果可信后,如果发现以下问题,按下面提供的思路来定位问题

十七、相应时间不达标怎么办?

查看事务所消耗的时间主要在网络传输还是服务器如果是网络,就结合Throughput(网络吞吐量)图,计算带宽是否存在瓶颈,
如果存在瓶颈,就要考虑增加带宽,或对数据的传输进行压缩处理;
如果不存在瓶颈,那么,可能是网路不稳定导致。
如果主要时间是消耗在服务器上,就要分别查看web服务器和数据库服务器的CPU,内存的使用
率是否过高,因为过高的CPU,内存必定会造成响应时间过长
如果是web服务器的问题,就把web服务器对应上对应的用户操作日志取下来,发给开发定位;
如果是数据库的问题,就把数据库服务器对应上对应的日志取下来,发给开发定位。

十八、服务器性能分析都从哪些角度来进行?

从维度上划分,性能指标主要分为两大类,分别是业务性能指标和系统资源性能指标。业务性能
指标可以直观地反映被测系统的实际性能状况,常用的指标项有:
1.并发用户数
2.事务吞吐率(TPS/RPS)
3.事务平均响应时间
4.事务成功率
系统资源性能指标,主要是反映整个系统环境的硬件资源使用情况,常用的指标包括:
1.服务器:CPU利用率、处理器队列长度、内存利用率、内存交换页面数、磁盘IO状态、网卡带宽使用情况等;
2.数据库:数据库连接数、数据库读写响应时长、数据库读写吞吐量等;
3.网络:网络吞吐量、网络带宽、网络缓冲池大小;
4.缓存(Redis):静态资源缓存命中率、动态数据缓存命中率、缓存吞吐量等;
5.测试设备(压力发生器):CPU利用率、处理器队列长度、内存利用率、内存交换页面数、磁盘IO状态、网卡带宽使用情况等。

十九、一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。
300个用户在一个客户端上,需要更大的带宽IP 地址的问题,可能需要使用 IP Spoof 来绕过服务器对于单一IP地址最大连接数的限制。
所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。

二十、请简单介绍一下实用过的安卓U自动化测试工具?
appium:是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的。
robotium:是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。

以上就是我整理的一些面试题,关注我后面持续更新中~

金九银十,我不允许你们不知道这些软件测试面试题相关推荐

  1. 备战金九银十涨薪季,1000道软件测试面试题和面试经验分享

    小编热衷于收集整理资源,记录踩坑到爬坑的过程.希望能把自己所学,实际工作中使用的技术.学习方法.心得及踩过的一些坑,记录下来.也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己 ...

  2. 金三银四、金九银十 面试宝典 Spring、MyBatis、SpringMVC面试题 超级无敌全的面试题汇总(超万字的面试题,让你的SSM框架无可挑剔)

    Spring.MyBatis.SpringMVC 框架 - 面试宝典 又到了 金三银四.金九银十 的时候了,是时候收藏一波面试题了,面试题可以不学,但不能没有!

  3. 备战金九银十,全网最权威最全面的800+面试题,你值得拥有

    又到了每年的金九银十,一年一度的招聘盛会开始了. 想转行的,想跳槽涨薪的,想换一份更舒服更美好的工作的现在可以准备起来了. 软件测试作为IT届最亲民的门槛最低的准入行业,每年在这个时候会迎来很多的小白 ...

  4. 金九银十中,看看这31道Android面试题

    阅读目录 1.如何对 Android 应用进行性能分析 2.什么情况下会导致内存泄露 3.如何避免 OOM 异常 4.Android 中如何捕获未捕获的异常 5.ANR 是什么?怎样避免和解决 ANR ...

  5. 耗时108天,终于有人把金九银十面试必问的1309道Java面试题全部整理出来了

    就目前大环境来看,跳槽成功的难度比往年高很多.一个明显的感受:互联网行业竞争越来越严峻,面试也是越来越难,不少大厂,如阿里.腾讯.华为的招聘名额明显减少,面试门槛却一再拔高,其实,要想生存下去,势必要 ...

  6. 金九银十,不要跳槽!

    前言: 又到了求职的金九银十的黄金月份,我相信有不少小伙伴已经摩拳擦掌的准备寻找下一份工作. 就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任 ...

  7. 抓住「金九银十」的尾巴!技术面试如何准备,谷歌面试官亲授

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源@新智元 [导读]有位外国小哥在自己的博客上通过解答一道面试题,发布了自己在谷歌担任工程师和面试官 ...

  8. 备战金九银十,阿里P8师兄指导完整攻略(附:学习资料+面试宝典+项目实战笔记)

    前言 还剩下两个月就到了金九银十,一般来说,秋招的含金量明显是高于春招的. 那么如何准备即将到来的面试热潮呢?运筹帷幄之后,决胜千里之外! 坚决不打毫无准备的仗是小编的原则:不论是笔试还是面试都是有章 ...

  9. 2021年的“金九银十”你准备好了吗?,腾讯、字节、百度、阿里、快手等一线互联网公司面试真题分享

    前言 职场的"金三银四"跳槽季过去了,但是紧接着,眼下"金九银十"又来了. 不同的是今年比往年「冷」一些,形式更加严峻一些,大家多多少少可能都听到或看到一些信息 ...

  10. blob字段乱码怎么处理_金九银十,你准备好了吗?没点Python面试题干货怎么行?(一)...

    职场人没有不知道:金三银四,金九银十 的说法儿吧,今天干货奉上,100个Python面试高频题目. 一. 遇到过得反爬虫策略以及解决方法? 1.通过headers反爬虫 2.基于用户行为的发爬虫:(同 ...

最新文章

  1. 3- MySQL数据类型
  2. 低成本测距方案—单目深度估计
  3. 模块化数据中心有什么优势?
  4. JSP中页面跳转response.sendRedirect()和request.getRequestDispatcher()的区别
  5. 数字转字符函数_C语言常用的几个工具函数
  6. Attempt to do update or delete on table db1.table1 that is not transactional解决
  7. 从业回忆,一次大胆的冒险,程序员转岗项目经理
  8. redis 转义字符_一份完整的阿里云 Redis 开发规范,值得收藏!
  9. AI风向标:发改委重大工程项目公布,首个无人车路测试点落户亦庄
  10. hosts文件 端口_中望软件:中望3D网络版服务端如何固定端口
  11. Unity两中方式加载图片
  12. 27. 安全 HTTP (2)
  13. ssh远程连接网络构建
  14. 巴厘岛最全的美食攻略
  15. ElementUI Button按钮样式
  16. debian安装vim提示Package vim is not available, but is referred to by another package的解决方案
  17. 个人阅读作业+个人总结
  18. j2cache两级缓存框架
  19. ppt的操作——添加页码
  20. 个人总结--关于学习过程中的一些经验心得分享

热门文章

  1. Qt程序无法启动,debug时提示During startup program exited with code 0xc0000135
  2. 每日算法题(Day16)----动物园
  3. CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)
  4. 目标检测任务的标注标准(以火焰和烟雾的数据集标注为例)
  5. 采用busybox的嵌入式Linux根文件系统的的制作方法
  6. 【Linux编程】守护进程(daemon)详解与创建
  7. MATLAB绘图合集: 绘制表达式和函数fplot
  8. 蠕虫病毒的查杀 (转)
  9. Unity学习笔记第二章:如何创建一个2D游戏
  10. px4在ubuntu中make px4fmu-v2_default upload上传失败