软测面试理论题及其答案
一.软件热身题
第一印象,相对比较重要,考察软能力,比如表达能力,理解能力,协调能力
1.自我介绍
我叫,,,18年毕业于,从事软件测试两年,擅长接口测试,熟练使用python,sql,了解java,linux
2.介绍下你负责的公司项目
- 智能测试系统,把所有的测试用具进行线上管理,产生的数据进行分析处理,把主要的数据呈现出来,以供测试的优化。系统分为13个模块,我做的部分为治具管理,机台管理,程式管理,备品管理
- 现公司:互联网金融业务、银行核心、理财、保险
3.你有什么优点和缺点?
- 优势:分析能力较强,对业务的需求分析比较透彻,业务熟悉度和测试功底比较扎实,执行力、推动力、沟通协作能力比较强
4.在同一个项目组内,你认为你怎么做会比另外一名测试更加优秀?
- 业务熟悉度更高, 架构理解更深入, 代码能力要更好, 协调推动能力更强
5.你为什么离开上家公司?离职原因(这个会在最后问)
多经历一些,多进步一些,离家近一些
二.测试理论基础
基本能力,会的再多也不过分,不扎实的话就会拉低评价,毕竟大家都会,不会的话不算是一个合格的测试工程师了,不会问太多,但是大众化的要了解。
- 需求评审
- 编写测试用例
- 评审测试用例
- 发起case评审,提供准入测试用例给开发
- 提测后先进行准入测试,不通过打回,通过则进入story测试,集成测试,系统测试,性能测试,稳定性测试,安全测试,(uat:客户在测试环境验收),生产验证,发布
- 白盒是从代码层进行测试,黑盒是对业务层进行测试。 白盒可以从单元测试、代码review、架构方面入手。
- 内部实现逻辑可以看代码,也可以请开发讲给你听,知道了怎么实现,能在设计用例时构造不同数据cover逻辑覆盖
- 如果是分析并制定测试内容,首先会根据需求文档,了解功能交互和规则,再去和开发讨论实现原理,通过交互和原理两个纬度进行分析,并确定测试内容。
- 如果是测试问题分析,出现问题后,首先会抓包,看看是后端返回的问题,还是前端代码或者请求的问题,如果后端涉及多个子系统,可以通过查看日志的方式看看具体是环境问题还是后端哪个子系统的问题。
- 需求分析,架构理解,覆盖功能、性能、安全等维度
- 功能拆解:aa的环境,bb的界面,用了cc的工具,做了dd的操作,达到了ee的效果
- 计用例原则上好的用例各有千秋(不外乎边界值,等价类,流程图,正交法,判定表等
- 1.所有功能点(需求)都被用例覆盖到了
- 2.所有用例执行过至少一遍
- 3.所有发现的bug被修复并验证,做过regression了。
- 4.不能修复的记录了/关闭了/known issue了。
- 5.bug曲线区域平稳了
- Bug通过率 >=95%
- 严重级别bug通过率=100%
- case通过率 >=95%
- p0和p1级别case通过率100%
- 自动化工具通过率达到标准
- 接口、安全、兼容、性能、稳定性达到要求
- 产品验收通过
三.测试管理题
- 一方面制定KPI的时候根据团队成员的职级和能力进行区分,制定合理且细化明确的指标,指标包含测试质量保证、测试效率提升、自动化事务、培训分享。
- 进行KPI考核的时候一方面依据KPI的指标达成度、达成时效打分,另一方面不在 KPI内的创新型事务会作为加分项。
四.移动测试相关
概念题:
- Web 测试和移动应用测试的共同点在于:都要覆盖接口、功能、兼容、性能、稳定和安全的测试。
- 差异点在于:兼容考虑的范围不一样,web重在PC系统和浏览器。移动重在机型分辨率和系统版本。 另外移动用户要考虑手机特性相关的影响,网络、冲突、耗电和流量。
- cpu利用率
- 内存使用率
- 并发量:多个用户同时调用单个接口的相应时效
- 响应时间:用户从客户端发出请求,并得到响应,以及展示出来
- 加载速度:通俗的理解为页面内容显示的快慢。
- 电量:APP的耗电量。
- 流量:APP所消耗的流量
- android运行基于虚拟机,ios则是沙盒机制
- android是真后台,ios是伪后台,所以安卓才会卡
- 分辨率:iOS 覆盖的分辨率和系统是有限的。
- 兼容性:Android 比较碎片化,覆盖的机型版本比iOS 更多android有各种定制rom,手机型号太多。
- 权限:安卓还要特别考虑权限,6.0是分水岭
- 应用安装渠道:安卓比较多
实践题:
1.应用的闪退通常是什么原因造成的?如果应用闪退,Android 和 iOS 上是分别怎么抓取日志的?
- 通过iTunes Connect(Manage Your Applications - View Details - Crash Reports)获取用户的crash日志
- 通过Xcode从你的设备上获得崩溃日志
- 自己在程序中添加崩溃捕捉代码,如果应用集成第三方SDK,如百度统计
- APP有新版本时,打开APP是否有更新提示。
- 当版本为非强制升级版时,用户可以取消更新,老版本能正常使用。用户在下次启动app时,仍能出现更新提示。
- 当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出APP。下次启动app时,仍出现强制升级提示。
- 不删除APP直接更新,检查是否能正常更新,更新后能否正常工作。
- 删除老的APP,重新下载APP,能不能正常工作。
- 不删除APP直接更新,检查更新后的APP和新安装的APP提供的功能一样。
- 检查在线跨版本升级能否成功,版本过老是否提示用户重装。
- 更新成功后,用户数据有没有丢失,各个配置项是否还原。
- UI
- 页面布局设计是否和产品原型一一致
- 页面文案是否正确
- 功能
- 正向功能验证
- 单个功能项验证
- 交互验证
- 接口验证
- 性能
- 服务端的性能
- APP客户端性能
- 安全
- 注入攻击
- 加密
- 权限
- 兼容
- app:平台,厂商,系统版本,分辨率
- web:浏览器,分辨率
- 关注内容:页面展示正确,功能正确
- 易用
- 功能操作是否简单
- 页面布局是否合理
- 提示语相关信息是否容易理解
- app要点:
- 网络
- 中断
- 系统权限
- web要点:
- 链接测试
- 多个浏览器同时访问
4.请描述下微信朋友圈发小视频的用例设计?
- 功能:
入口图标的标识度
进入和退出操作简易度
取景框大小
拍景和自拍切换
视频的像素限制
视频的时长限制
发送的进度提示
- 性能:
发送的时间
操作是否卡顿
- 兼容:
不同机型分辨率
不同系统版本
不同网络情况
不同流量情况
5.如果让你来测试扫码支付,你会考虑哪些场景?
- 卡的类型(一类户:借记卡、信用卡、各个开户行)
- 二类户:虚拟账户如微信里的零钱账户、支付宝的余额宝、电子账户
- 二维码的商户类型(微信、支付宝、汇宜、银联)
- 支付限额(单笔限额、累计限额、日累计、月累计、支付笔数)
- 退款(退款入口、退款进度、退款结果)
- 对账:资金流动(我方扣款数额正确,对方收款数额正确)数额及时效
- 支付结果展示、交易明细
- 支付接口安全性、接口的性能
- 异常情况(卡异常、余额不足)
- 连续扫码支付,每天的扫码支付次数限制及数额限制
- 二维码有效期
- 有无相机权限
- 前后置摄像头
- 像素低端的手机能否扫码成功
- 兼容性(不同手机厂商自带相机功能实现不一致)
6.如何测试一个应用的登录场景
- 性能:响应时间、并发量
- 安全性:加密传输
- 各种登录方式优先级
- 不同设备之间切换登录方式
- 登录的有效时长
服务端测试:
- 接口规范拿到
- 设计接口测试用例
- 发送的数据格式
- 返回的数据格式
- 了解接口实现逻辑,实现逻辑覆盖
- 接口能并发执行吗:采用工具或者自写代码来验证,HTTP接口一般SoapUI, Jmeter, Fiddler, Postman等都能验证,自己写更好。web service接口一般要写代码来调用。根据测试用例自动化
- 发现问题跟功能测试一样,该报bug报bug,该跟踪状态跟踪状态
3.请问你们公司是如何做性能测试的?请讲诉性能测试的相关指标?
拿到测试需求,确定测试软硬件环境/测试指标
使用测试工具(Loadrunner, jmeter)录制或者编写测试代码,逐步加压,直到测试目的达成
调优(一般都是开发的事)
相关指标:
服务器系统资源方面 CPU占用率,内存占用率 磁盘的读写指标
网络的占用情况 基础吞吐率
事务处理速度 如平均登录时间,操作平均响应时间等
4.压力测试和负载测试的区别
- 一个(压力测试)扔给你指定数目稻草,看你有没有问题;一个(负载测试)是按一定量给你身上加草,直到试出你的最大极限,把最后一根草给你压死了,那你的最大负载就是这一根草之前的量。
- 压力测试是在高负载情况下对系统的稳定性进行测试。是在高负载(大数据量、大量并发用户等)下的测试,观察系统在峰值使用情况下的表现,从而发现系统的功能隐患。
- 负载测试:多用户,用户数渐增,持续同时发同一业务请求,产出最大TPS
- 压力测试:多用户,资源使用饱和,持续同时发同一业务请求,产出系统瓶颈或使用极限
5.服务器中一般要监控哪些数据,如何监控的,怎么从监控数据中发现问题?
- CPU, 内存, 网络, I/O, 数据库。等等。 一般用工具监控,另外Windows上有性能监视器
- 基础监控和应用监控。基础监控包括机器是否死机,cpu,内存,磁盘使用率等
- 应用监控包括日志监控、端口监控、进程数监控等
发现问题:
- 一般要关注阈值,比如CPU利用率超过85%,说明server压力太大了
6.假设系统A调用系统B,我把B的接口都mock了,进行性能测试,这样有什么好处和坏处?
- 好处是去掉的依赖,可以在B没有好之前测试A,并且B的任何改动/错误/失效不会影响我测试A
- 坏处是真实性能要比测出来的性能差, 性能指标不准确。 因为Mock的服务再真也不能代替真实服务
7.有一天早上打车高峰,滴滴服务端挂了大概30分钟,工程师抢修之后,马上上线,之后又挂了,请问有哪些原因会造成这个情况?
- 还是考测试思维, 一定记得先确认需求,再定性,定量。 一般都要反问, 服务器是哪个服务器?后端应用服务器?数据服务器?缓存系统服务器?中间件服务器?文件系统服务器?
- 不说就自己假定一个, 然后第一次挂第二次挂分开说,先问有没有错误码,日志有吗,有就看日志,没有就猜 是应用服务器挂了啊,是不是高峰期顶不住这么大并发访问啊?是数据库服务器啊,是不是频繁读写受不了啊,读写有分开吗?同步还是异步啊
- 第二次挂,可能更多了,是不是代码弄错了,改坏了
- 服务器内存不够
- 服务器超出负载
- 并发量太大
- 遇到恶意攻击
五.自动化相关
理念和概念:
9.接口自动化时上一次执行的数据如何清理掉?(如开户或注册,同一个账号只能使用一次,如何清洗数据能让case下次继续跑?提供新的数据?mock?mock的层级,mock过多的话等同于未做测试)
WebDriver 相关:
移动应用相关:
- driver.find_element_by_id() –元素的 resrouce-id 属性
- driver.find_element_by_AccessibilityId() – content-desc属性,替代以前的name。
- driver.find_element_by_xpath() –比css定位慢
- driver.find_element_by_class_name() –元素的 class 属性
- driver.find_element_by_css_selector()
- driver.find_element_by_link_text() –链接元素的全部显示文字
- driver.find_element_by_tag_name() –元素的标签名
- driver.find_element_by_partial_link_text() –链接元素的部分显示文字
3.iOS 和 Android 的 UI 自动化的原理是什么?
- iOS 9.3 and above: Apple’s XCUITest
- iOS 9.3 and lower: Apple’s UIAutomation
- Android 4.2+: Google’s UiAutomator/UiAutomator2
- Android 2.3+: Google’s Instrumentation. (Instrumentation support is provided by bundling a separate project, Selendroid)
- 80%是你元素定位的不对
- 那么多定位方法,一个不行换另外一个
- 直接不能定位,先定位父元素,再循环找子元素。
- 一般来说XPATH都能定位到,无非是可阅读性不强。
- 真的全部失效,请求开发帮你改个元素属性好了。
6.如果使用monkey发现了一个毕现闪退,请问怎么使用monkey重现它?
Jmeter
2.如果有一个登录接口需要服务端返回参数,再带着这个参数去请求才能完成登录,用jmeter 怎么做
软测面试理论题及其答案相关推荐
- 送你40+电子厂软测面试真题(需要答案私聊)
这些都是学员近期面试绞尽脑汁"冒死"回忆出来的题目,那么这次准备了哪些厂子的题目呢. 搜狐sohu 下面是笔试后一面时提问的一些问题: 主要针对笔试上的几个部分进行提问: 做过的项 ...
- 微软等数据结构+算法面试100题全部答案集锦
微软等数据结构+算法面试100题全部答案集锦 作者:July.阿财. 时间:二零一一年十月十三日. 引言 无私分享造就开源的辉煌. 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年.在一周年 ...
- 微软等数据结构+算法面试100题全部答案完整亮相
重磅分享:微软等数据结构+算法面试100题全部答案完整亮相 来源: 王永刚的日志 本文转载自CSDN大牛的一篇博客:http://blog.csdn.net/v_july_v/article/deta ...
- 收藏微软面试智力题 (附答案)
A.逻辑推理 1.你让工人为你工作7天,给工人的回报是一根金条.金条平分成相连的7段 ,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你 的工人付费? 2.请把一盒蛋糕切成8 ...
- (转)微软等数据结构+算法面试100题全部答案集锦
微软等数据结构+算法面试100题全部答案集锦 作者:July.阿财. 时间:二零一一年十月十三日. 引言 无私分享造就开源的辉煌. 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年.在一周年 ...
- 微软等数据结构+算法面试100题全部答案集锦 复制过来比较乱
亲,"社区之星"已经一周岁了! WebApp实时开源框架Clouda---认识心得 Tag功能介绍-我们为什么打Tag 订阅CSDN社区周刊,及时 ...
- 军职在线c语言程序设计答案,2018事业单位联考职测C真题与答案解析.docx
2018.10.27事业单位联考职测C真题与答案解析 1关于人的眼睛,下列说法错误的是: A眼球的颜色取决于虹膜色素含量 B近视是因为晶状体过度变凸 C视觉是在大脑皮层中的视觉中枢形成的 D远视眼可通 ...
- 史上最强多线程面试44题和答案:线程锁+线程池+线程同步等
最全BAT必考题答案系列 最全MySQL面试60题和答案 史上最全Spring面试71题与答案 史上最全Redis面试49题(含答案):哨兵+复制+事务+集群+持久化等 分布式缓存Redis+Memc ...
- 史上最全Redis面试49题(含答案):哨兵+复制+事务+集群+持久化等
最全面试题答案系列 史上最强多线程面试44题和答案:线程锁+线程池+线程同步等 最全MySQL面试60题和答案 史上最全memcached面试26题和答案 史上最全Spring面试71题与答案 今天主 ...
最新文章
- 爬虫之JS的解析确定js的位置
- 白话Elasticsearch70-ES生产集群部署之production mode下启动时的bootstrap check
- buu [HDCTF2019]basic rsa
- java 发送邮件_Jenkins实现自动化邮件发送踩坑记录
- 江湖不再平静---51CTO学院停服公告
- 人机协作机器人发展趋势_【名企】优傲机器人与佳能合作,全面进军机器人视觉市场...
- Microsoft经典平面广告we see
- Redis(三)源source编译
- java调用c 返回值_推荐--Linux平台下Java调用C函数(补充关于String类型函数返回值)...
- ESP8266的Arduino IDE下载和TTL下载
- 回溯法(国际象棋八皇后放入棋盘)
- 移动网络安装测试软件,家宽众测中国移动手机版(在线宽带网速测试器)V2.0.3 去广告版...
- 怎么将CAD图纸转化为PDF格式呢?教你两个妙招搞定!
- python爬取微博内容_python如何抓取新浪微博的微博内容!
- OA系统-员工的添加和查询-登录功能的实现
- 关于手机信号强度单位db和dBm
- 微信的服务器 上海,微信团队:上海机房服务器发生故障 个人账号安全暂不受影响...
- 某某文学网站小说爬虫
- 破解极域(1):专对付极域电子教室的程序——JiYuTrainer
- nodejs实现新闻爬虫