测试面试题【搬代码】

http://172.18.254.254:8081/?userip=172.18.34.69&usermac=800588e66f12&info=

测试面试题

  1. 软件测试的目的与原则是什么?
    目的:
    A. 通过测试工作可以发现并修复软件当中存在的缺陷,
    B. 可以降低同产品开发遇到的风险,
    C. 记录软件运行过程中的一些数据,为决策者提供技术支持。
    原则:
    A. 2/8定律,核心功能占20%,非核心占80%,我们会集中测试20%的核心功能,发现缺陷的几率会高于80%,因此,遇到的缺陷都会集中20%功能模块里。
    B. 不能穷尽测试,有些功能是无法将所有测试情况逻辑出来的,任何的测试都有结束的时间。
    C. 为了更好地发现和解决软件中的缺陷。
    2.测试人员在测试中的任务是什么?答:
    A. 尽早找出系统当中的Bug
    B. 避免软件开发过程中缺陷的出现
    C. 确保软件的质量
    D. 关注用户需求,保证系统符合用户需求
    3.缺陷报告内容包括什么?答:
    A. Bug优先级,
    B. Bug严重程度,
    C. 开发接口人员,对应的软件版本
    D. Bug可能属于的模块。如果不能确认,可以由开发人员来判读
    E. Bug标题,需要清晰的描述现象
    F. Bug描述,需要尽量给出新的Bug步骤
    G. Bug附件中能给出相关的日志与截图
    4.请您描述一下测试的V模型?答:
    用户需求-需求分析-概要设计-详细设计-编码-单元测试-集成测试-系统测试-验收测试
    5.性能测试关注的指标是什么?答:
    吞吐率,用户的响应时间,每秒点击数,资源利用率,业务成功率,Tps每秒传输的事物处理个数
    6.Bug不能复现怎么办?答:
    A. 首先考虑环境问题,看是否能够还原原来的环境
    B. 遇到问题就要提,不能放过任何一个Bug,在提交的Bug描述中加上一句话,那就是复现概率,尝试20次,出现一次或尝试10次,交给开发,开发会根据Bug的复现概率,调整改Bug的优先级。
    C. 尽量回想发生问题时的复现步骤,不要漏掉任何一个细节,按照步骤的组合尝试复现
    D. 与开发人员配合,让开发人员对相应的代码检查,看是否通过代码层面检查出问题
    E. 保留发生bug时的log,附加到提交的Bug中,希望可以通过log中找到一些蛛丝马迹。
    F. 查看代码,也许是代码变更,引起的Bug
    7.什么是Http协议,请求方法是什么?,以及Http协议与Https协议的区别?答:
    Http协议又叫超文本传输协议,是定义了一个客户端到服务器请求与应答的标准,分别为请求头与响应头。
    请求方法是:get请求与post请求。
    HTTPS协议是以安全为目标的HTTP通道,简称Http的安全版。
    区别:答:
    A. http协议需要ca申请证书,一般免费证书较少,需要一定费用。
    B. http的链接简单,是无状态的,而https协议是由SSL+http协议构建的可进行加密传输,身份认证的网络协议要比HTTP协议安全。
    C. http协议是超文本协议,又叫明码传输,而https是具有安全性的SSL加密传输协。
    http协议与HTTps协议使用的链接方式不同,一个用的端口是80(http),一个是443(https)。
    8.get请求与post请求的区别?答:
    get请求通常从服务器获取数据,请求参数在地址栏之后,数据量有限制,不够安全
    Post请求通常往服务器提交数据,请求参数在请求实体中,数据量无限制,较为安全。
    9.重载与重写的区别?答,
    A. 重载:同一个类中,方法名相同,参数列表(列表类型,参数个数,或者二者接不同)却不同,与返回值无关。
    B. 重写:子类的重写方法必须与父类的重写方法声明完全相同,有相同的返回值类型,比父类的重写方法更好访问。
    10.APP测试与Web测试的区别?答:
    相同点:用例,原型图,翻页,登录,溢出,系统稳定
    A. 同样的测试用例方法相同。
    B. 同样的测试方法:都会依据原型图或效果图来检查UI。
    C. 测试页面载入与翻页速度,登陆时长,内容是否溢出等。
    D. 测试应用系统的稳定性。
    不同点:平安中兼网系备
    A. app测试平台:百度云测,testin云测不同。
    B. App的安装卸载:全新安装,升级安装,第三方工具安装,第三方工具卸载,直接卸载删除,消息推送测试,手机授权测试,前后台切换,网络环境(wifi/2G/3G/4G/无网络)。
    C. App的中断测试:来电中断,短信中断,蓝牙,闹钟,拔插数据线,手机锁定,手机断电,手机问题(系统死机重启)。
    D. 兼容性测试:Web项目考虑不同浏览器的兼容,app需要考虑手机不同的操作系统,不同机型,不同屏幕等。
    E. 网路测试:不同网络与运营商,目前我国有三大运营商如:电信,移动,联通,不同的网络制式,如:GSM,CDMA,3G等,在不好或无网络的情况下的APP行为。
    F. 操作系统:大量的设备,各种的操作系统,目前使用最多的操作系统有:
    G. Android,ios,windows,blackberry等,它们之间的应用软件互不兼容。
    H. 如设备不同:触摸式与非触摸式设备,有限的内存容量,电池耗电量,屏幕尺寸,分辨率等。
    11.BS/CS架构的区别是什么?答:
    概念:所谓的架构就是用来指导我们软件开发的一种思维,目前最长见的就是BS/CS.
    B—browser 浏览器
    C—clent 客户端
    S—server 服务端
    区别:
    A. 标准:相对于cs架构来说Bs架构的两端都是使用现成的成熟产品,bs会显示的标准一些。
    B. 效率:相对于bs架构来说cs中的客户端可以分担一些数据的处理,执行效率会高一些。
    C. 安全:bs架构当中得到数据的传输都是以Http协议进行传输的,而Http协议又是明文输出。可以被抓包,那么bs架构相比cs架构显得就不那么安全了,(其实都是相对的)。
    D. 升级:bs架构只需要在服务器端将数据进行更新,前台只需要刷新页面就可以升级,而cs架构必须要将两端都进行更新才可以。
    E. 开发成本:相对于bs架构来说cs当中的客户端需要自己开发,bs不用,所以说cs成本会高一些。
    12.Jmeter与LoadRunner的区别是什么?哪个工具比较好?答:
    相同点:
    jmeter与LoadRunner都是作为性能测试工具,基本参数都可以一样。
    不同点:
    A. LoadRunner是性能测试领域的王者,标准制定者,而Jmeter是后起之秀。
    B. 开发语言不同:
    (1)LoadRunner主要自C语言开发,支持Java,VB ,C++。
    (2)Jmeter是纯JAVA开发,支持多种JAVA脚本语言。
    C. 软件工具的费用,学习成本不同:
    a) LoadRunner费用高昂,(LoadRunner11有破解版,但LoadRunner12就没有破解版了)
    b) Jmeter完全是免费的。
    D. LoadRunner学习成本更低,主要是强大的录制功能能让大家钟爱,省事,效率高,门磕低,用的人多经验分享也多,相对容易上手。
    E. Jmeter相对学习资料会少一些,而且没有LoadRunner强大的录制功能。
    F. jmeter是一个轻量级的工具,可以进行接口性能压力测试,LoadRunner是一个重量级的工具,可以进行性能压力测试,Jemeter相对于LoadRunner来说简单,易操作,好上手,LoadRunner操作复杂。
    G. LoadRunner比较好。
    13.Android手机和IOS手机,系统有什么区别?答:
    A. 运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制
    B. 两者后台制度不同:IOS中任何第三方程序都不能在后台运行,安卓中任何程序都能在后台运行,直到没有内存才会关闭
    C. IOS中用于UI指令权限最高,安卓中数据处理指令权限最高
    14.请说一下MonKey的优缺点?答:
    优点:
    A. 使用简单。
    B. 节省了重复性操作的时间。
    C. 随机输入可能发现一些平常意想不到的缺陷。
    D. MOnKey虽可以根据一个指定的命令脚本发送按键消息,但不支持条件判断,也不支持读取待测界面的信息来执行验证操作。
    E. 可对MonkeyTest的对象,事件数量,类型,频率等进行设置。
    缺点:测试的对象仅为应用程序包,有一定的局限性。
    15.测试的计划内容以及重要性?答,
    测试计划的内容:测试计划分为测试需求和测试计划
    测试需求分为功能需求和性能需求,
    A. 功能需求包括1,逻辑功能2,易用性3,兼容性4,安装卸载等功能性需求.
    B. 性能需求关注的就是1,响应时间2成功率,3,吞吐量,4,CPU占有率,5,事物通过率,6,内存占有率等主要的能够反映我们软件和服务器性能的参数。
    C. 项目测试需求:(我们的性能需求是这样提的,30个在线用户按照正常的操作速度访问xxx功能,成功率是100%,且90%的响应时间不超过4s,当并发在线用户数超过100个时,xxx的成功率大于98%,其中90%的在线用户数的请求响应时间是不大于用户的最大容忍时间10s。)
    测试计划包括1,根据需求,产品原型图,UI效果图编写测试计划,2,测试背景3,工期评定,4,人员安排,5,进度安排,6,测试班次
    16.你以前工作时的测试流程是什么?答:
    先要有需求评审(有开发人员—产品经理—测试人员—项目经理)需求确定(出一份确定好的需求文档)开发设计文档(开发人员在开始写代码前就能够输出设计文档)制定测试计划—编写测试用例—用例评审(发给开发人员与测试经理看一下)—接到测试版本—执行测试用例—提交Bug(有些时候可以直接写到TD{Test Director相当于禅道}—交给开发人员修改—回归测试。
    需求评审-需求确定-开发设计文档-制定测试计划-编写测试用例-评审用例-执行测试-提交bug-开发修改bug-回归测试
    17,当你参加评审时,你的评审原则是什么?答:
    首先要从正确性,一致性,可行性,必要性,可跟踪性,分配优先级,可测性,可修改性考虑:
    正确性:每一条需求都必须准确的陈述其要开发的功能。
    一致性:必须与其他软件需求或高层需求不相矛盾。
    可行性:其每一项需求都必须是已系统和环境的权能和限制范围可以来实施的。
    必要性:每项需求都是用来授权你编写文档的“根源”,要使每项需求都能回潮至某项客户的输入。
    可测性:每项需求都能通过设计测试用例或其他的验证方法来进行测试。
    可修改性:每项需求只应在SRS中出现一次,这样更改会容易保持一致性。
    可跟踪性:在每项软件需求与它的根源与设计元素,源代码,测试用例之间建立起链接,而这种可跟踪性要求每项需求都必须以一种结构化的,粒度好(fine-grained)的方式编写并单独标明,而不是大段大段的陈述。
    分配优先级:应当对所有的需求分配优先级,如把所有需求都看作同样重要,那么项目管理者在开发或节省预算或调度中丧失控制自由度、
    18,软件测试的需求标准是什么?答:
    A. 文档版本信息:包含文档版本,作者,完成日期,修订版需要加上修订记录(版本号,修订者,日期,内容)。
    B. 目录结构要清晰,不同级别的标题要区分字号。
    C. 产品架构:一般只有功能以及信息架构,
    D. 功能:一级-二级,三级功能要划出。以及产品特性(功能列表,原型界面,详细设计)
    E. 其它产品需求需根据公司产品需求来定,如(兼容性,产品运营,性能要求等)。
    19,请写一下W模型图?答:

验收测试设计-确认与系统测试设计-集成设计-单元设计-单元测试-集成测试-确认与系统测试—验收测试
用户需求-需求分析系统设计-概要设计-详细设计-编码-单元测试-集成测试-实施-交付
20,软件质量的特性是什么?答:
功能,易用,可靠,效率,可维护
A. 功能性:软件需求要满足用户显示或者稳式的功能。
B. 易用性:软件易于学习和上手使用
C. 可靠性:软件必须实现需求当中指明的具体功能。
D. 效率性:类似于软件的功能。
E. 可维护性:需求软件具有将某个功能修复之后继续使用的功能。
21,测试计划工作的目的是什么?以及测试计划文档的内容包括什么?
目的:明确任务,保持沟通,跟踪进度,应对突变
明确测试任务.方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
内容:
A. 是指软件测试过程的纲领性文件。
B. 里面包含了产品概述,测试策略,测试方法,区域,配置,周期,资源,交流,风险分析等内容。
C. 测试不同的起止时间。
D. 相应文档,缺陷的存放位置,测试环境等。
E. 项目有关人员的组成,安排那些测试人员进行测试。
22.搭建过什么环境,搭建工作环境是如何搭建的?答:
测试环境操作系统用Linux,通常测试环境包括JDK环境,Tomcat环境和MySQL环境
JDK:1.安装jdk如果有自带,先卸载再装,2.把包复制/usr/local
,3.解压,4.配置环境变量,5.检查java是否安装成功java -version
Tomcat:1.安装tomcat,2.把下载的tomcat包复制/usr/local,3.解压,4.在tomcat/bin目录执行startup.sh文件5.启动服务6.在浏览器中连接:IP:8080,7.如果连接不上,但tomcat又是显示启动OK,检查firewall,路径为 /etc/sysconfig/iptables,将8080端口开启,6.重启服务
Mysql数据库:mysql安装比较简单,可以使用源码安装,也可以使用yum在线安装,在这里简单地介绍一下yum在线安装
用yum在线安装
1.rpm -qa|grep mysql --检查linux是否有存在的mysql
2.如果有mysql,卸载 rpm -e --nodeps mysql
3.安装 yum install mysql-server mysql mysql-dev -y
4.安装成功后,启动服务 service mysqld start service 服务名 restart/start
5.直接输入mysql 进入到数据库。
23.服务器部署是如何去部署的?
三台,可以从开发环境,测试环境,生产环境。去部署
24.开发环境与测试环境有什么区别?
开发环境:是在编码阶段,一般我们的代码基本上都是在开发环境中,不会再生产与测试环境,如操作系统,web服务器,语言环境,php,数据库等等。
测试环境:项目完成后,找Bug,以及修改Bug。
生产环境: 项目数据前后端已经疏通,部署到阿里云上有客户去使用以及访问,网络正常运行就好了。
工具+项目:
25.如果给你购物商城网页(京东,淘宝等)你会怎样进行测试?测试哪些主要功能?答:
A. 首先要先进行需求分析,xmind梳理测试点,编写案例,评审用例,寻求他人意见,再完善案例,交给其他人检查。
B. 测试点:如UI,美观度,易用,易理解方面进行测试。
C. 在考虑功能点,如登陆注册,添加购物车,下单,付款,发货,确认收货,评价。
D. 还有就是支付时候的绑定银行卡,以及实名认证。
E. 性能方面:如打开网页,确认订单,付款的响应时间等。
F. 兼容性:如支持各种主流浏览器,如(EI,360,火狐,谷歌等)。
26. 微信发红包的测试用例?
A. 功能:
a) 在红包钱数,和红包个数的输入框中只能输入数字
b) 红包里最多和最少可以输入的钱数 200 0.01
c) 拼手气红包最多可以发多少个红包 100
d) 超过最大拼手气红包的个数是否有提醒
e) 当红包钱数超过最大范围是不是有对应的提示
f) 当发送的红包个数超过最大范围是不是有提示
g) 当余额不足时,红包发送失败
h) 在红包描述里是否可以输入汉字,英文,符号,表情,纯数字,汉字英语符号,
i) 是否可以输入它们的混合搭配
j) 输入红包钱数是不是只能输入数字
k) 红包描述里许多能有多少个字符 10个
l) 红包描述,金额,红包个数框里是否支持复制粘贴操作
红包描述里的表情可以删除
m) 发送的红包别人是否可以领取
n) 发的红包自己可不可以领取 2人
o) 24小时内没有领取的红包是否可以退回到原来的账户
p) 超过24小时没有领取的红包,是否还可以领取
q) 用户是否可以多次抢一个红包
r) 发红包的人是否还可以抢红包 多人
s) 红包的金额里的小数位数是否有限制
t) 可以按返回键,取消发红包
u) 断网时,无法抢红包
v) 可不可以自己选择支付方式
B. 兼容:
a) 苹果,安卓是否都可以发送红包
b) 电脑端可以抢微信红包
c) 界面
d) 发红包界面没有错别字
e) 抢完红包界面没有错别字
f) 发红包和收红包界面排版合理,
g) 发红包和收到红包界面颜色搭配合理
C. 安全:
a) 对方微信号异地登录,是否会有提醒 2人
b) 红包被领取以后,发送红包人的金额会减少,收红包金额会增加
c) 发送红包失败,余额和银行卡里的钱数不会少
d) 红包发送成功,是否会收到微信支付的通知
D. 易用性(有点重复):
a) 红包描述,可以通过语音输入
b) 可以指纹支付也可以密码支付
27.Jmeter的一分钟1000次并发需要用到哪些组件?
用的是阿里云服务器,配置比较高,然后做测试的页面是一个嵌套查询,
28.Jmeter的是如何进行测试的?

  1. 打开JMeter,
    
  2. 创建线程组
    
  3. 设置线程数和循环次数。我这里设置线程数为500,循环一次
    
  4. 配置元件
    
  5. 配置我们需要进行测试的程序协议、地址和端口
    
  6. 构造HTTP请求
    
  7. 添加HTTP请求头
    
  8. 添加断言
    
  9. 添加察看结果树
    
  10. 添加Summary Report
  11. 执行测试计划,执行测试计划不能用GUI,需要用命令行来执行
  12. Web报告
    29.Jmeter的连接数据库
    A. 添加需要的驱动
    B. 添加jar包
    C. 配置JDBC Connection Configuration
    D. 添加JDBC Request
    30.Jemeter为什么要参数化?答,
    1,多用户登录的时候,如果不进行参数化就没演示了。
    2,需要使用CSV将参数放到文件,来演示多用户登陆。
    3,在进行录制的时候,有可能存在第二个请求的参数是从第一个请求中获取出来的,需要在第一个请求下,去将参数提取出来,再到第二个请求中进行参数化。
    31.Jemeter如何进行压力测试?
    我们在公司大部分是进行的数据库压测以及接口压测。
    32.请您介绍一下Jemeter是如何使用的?
    答,先创建一个线程组,指定并发的线程数量,在指定测试的接口,创建相应的监听器,(如,表格结果,结果树,以及聚合报告信息)通过监听器来进行监听测试是否通过以及接口存在什么问题。
    33.进行接口测试,你是如何进行去测试的?答:
    1,首先要看有没有接口文档,如果有文档的时候按接口文档去做,没有的话就去抓包。
    2,我们一般使用postman以及jemter.
    3,有接口文档的情况下,要先创建一个线程组,指定并发的线程数量,在指定测试的接口,创建相应的监听器,(如,表格结果,结果树,以及聚合报告信息)通过监听器来进行监听测试是否通过以及接口存在什么问题。
    34.性能测试的工具有哪些以及使用流程?答:
    工具: jmeter,LoadRunner.
    Jmeter:先创建一个线程组,指定并发的线程数量,在指定测试的接口,创建相应的监听器,(如,表格结果,结果树,以及聚合报告信息)通过监听器来进行监听测试是否通过以及接口存在什么问题。
    LoadRunner:一个是虚拟用户生成器,一个是Controller,还有一个分析器,VUgen,(记录操作,录制,脚本生成,以及回放功能).
    35.如果你要进行性能测试,你是如何展开操作的?答:
    A. 确定关键业务,关键路径
    B. 确定输入参数以及输出参数,指定负载测试方案
    C. 准备测试环境,完成脚本录制,或者测试脚本开发,
    D. 执行测试,观察或输出参数,如(数据吞吐量,响应时间,资源占有率等)
    E. 对测试结果进行分析
    36.自动化测试有了解吗?自动化测试的工具有哪些?(了解)
    工具:Selenium,Appium
    37.Selenium元素定位方法有哪些?Id,name,class,link_text,link,css,xpath
    web端: 各种方式来定位页面元素,如通过id,通过link Text,通过css,通过xpath来定位元素,一般,如果有id,我们就使用id,然后使用css或者xpath来定位,dom(document object model) 元素,当然定位的时候,需要在浏览器里边安装firebug firepath来抓取页面元素对应的xpath信息。
    38.安全性测试包括哪些方面?答,
    用户验证,用户权限管理,系统数据的保护
    39.为什么要进行抓包?答,
    A. 有些时候公司没有标准的接口文档,测试人员只能抓包来获取接口测试。
    B. 抓包可以迅速找到请求,通过抓包可以查看整个请求的过程,以及响应时间,还可以分辨前台与后台Bug.
    C. 通过抓包,可以查看是否有敏感信息,如(用户密码,个人账户信息等数据)
    D. 可以通过抓包进行测试,拦截请求,修改请求数据,查看对应的响应结果,抓包本身就是接口的一部分。
    40.一般抓包用什么工具,怎么进行抓包?
    工具上使用:Fiddler.charles这两个工具
    Fiddler:
    A. 设置Http代理,设置端口号,在手机上设置与fiddler在同一网段上,设置代理ip,设置代理端口,手机上的请求就能获取到了。
    B. 抓取请求查看,可以过滤,找到自己域名下的请求,通过分析请求地址,请求参数,响应结果来查找问题。
    Https包怎么抓?
    A. http与Https协议区别在于Https多了一个ssL协议,更加安全,默认端口是443,而http默认端口是80.
    B. 抓取Https时,需要获取申请证书,在fiddler与charles两个工具中,可以模拟下载966证书,下载后,在手机上访问代理服务器的ip与端口,下载证书,就可以抓取到HTTPS的请求了。
    41.测试用例评审的流程是什么
    目的:主要是为了开展测试用例评审工作提供指引,规范测试用例管理工作。
    流程:
    A. 测试用例是否按照公司定义的模板进行编写的;
    B. 测试用例的本身的描述是否清晰,是否存在二义性;
    C. 测试用例内容是否正确,是否与需求目标相一致;
    D. 测试用例的期望结果是否确定、唯一的;
    E. 操作步骤应与描述是否相一致;
    F. 测试用例是否覆盖了所有的需求;
    G. 测试设计是否存在冗余性;
    H. 测试用例是否具有可执行性;
    I. 是否从用户层面来设计用户使用场景和业务流程的测试用例;
    J. 场景测试用例是否覆盖最复杂的业务流程;
    K. 用例设计是否包含了正反面的用例;
    L. 对于由系统自动生成的输出项是否注明了生成规则;
    M. 用例应包含对中间和后台数据的检查;
    N. 测试用例应有正确的名称和编号,
    O. 测试用例应标注有执行的优先级;
    P. 测试用例包含相关的配置信息:测试环境、数据、前置测试用例、用户授权等;
    Q. 每个测试用例步骤应<=15 Step;
    R. 自动化测试脚本必须带有注释(注释应包括:目的、输入、期望结果等);
    S. 非功能测试需求或不可测试需求是否在用例中列出并说明?
    42.关系型数据库与非关系型数据库的区别是什么?答:
    1.关系型数据库通过外键关联来建立表与表之间的关系,
    2.非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定
    43.请说几个常见的状态码?答:
    200:请求发送成功。
    302:代表重定向。
    400:客户端发送的请求语法错误。
    401:请问的页面没有授权。
    403:没有权限访问这个页面。
    404:没有这个页面。
    500:服务器内部异常。
    501:当前不能处理客户端的请求。
    504:服务器端超时,没返回结果。
    44.请描述下接口测试与UI测试是如何协同测试的?答:
    A. 有一部分是重叠的,Ui测试是通过前端写的界面,是来调用接口的,而接口测试是直接调用接口。
    B. 排除前端的处理逻辑与调用的正确性,在理论上接口测试是可以覆盖所有的Ui测试,但实际中,如接口层覆盖所有的业务流,在Ui上只测试前端的逻辑,而最终的结果会忽视很多原有的功能点,导致了Ui测试的不充分,那么会存在人多分工且时间充分的时候可以尝试接口去做业务流的全覆盖,否则不要轻易的去尝试。
    45.接口抓包测试是如何去抓的?
    工具上使用:Fiddler.charles这两个工具
    Fiddler:
    A. 设置Http代理,设置端口号,在手机上设置与fiddler在同一网段上,设置代理ip,设置代理端口,手机上的请求就能获取到了。
    B. 抓取请求查看,可以过滤,找到自己域名下的请求,通过分析请求地址,请求参数,响应结果来查找问题。
    Https包怎么抓?
    A. http与Https协议区别在于Https多了一个ssL协议,更加安全,默认端口是443,而http默认端口是80.
    B. 抓取Https时,需要获取申请证书,在fiddler与charles两个工具中,可以模拟下载966证书,下载后,在手机上访问代理服务器的ip与端口,下载证书,就可以抓取到HTTPS的请求了。
    46.Android手机与IOS手机的区别?答:
    A. ios采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。
    B. IOS任何第三方程序都不能在后台运行,而安卓任何程序都能在后台运行,知道没有内存才会关闭。
    C. Ios用于UI指令权限最高,安卓数据处理指令权限最高。
    47.App常见崩溃的原因?答:
    A. 设备碎片化:由于设备极具多样性,App在不同的设备上可能有不同表现形式。
    B. 宽度限制:宽带不佳的的网络对APP所需的快速响应时间不够。
    C. 网络的变化:不同网络间的切换可能会影响App的稳定性。
    D. 内存管理:可能内存过低,或非是授权的内存位置的使用可能会导致App失败。
    E. 用户过多:连续数量过多可能会导致App崩溃。
    F. 代码错误:没有经过测试的新功能,可能会导致App在生产环境中失败。
    G. 第三方服务:广告或弹出屏幕可能会导致App崩溃。
    48.你在项目中最经典的BUG是什么?答:
    A. 兼容性问题,在ie浏览器,提交订单按钮可以点击,到了谷歌,火狐就不能了。
    B. 查询订单页面,根据条件筛选的结果不是想要的结果,还有某些字段的值没有显示出来,或者显示错误。(因为开发从库表取值有误)
    C. 付款成功后,订单状态一直不翻转为交易成功。(因为代码没有正确获取库表中付款成功记录的状态码)
    D. 修改支付密码,新密码和原密码一致,也通过了,系统没有做新旧密码的校验。
    E. 付款时候的手机验证码,可以一直使用,没有成功做有效期控制。
    F. 手机app断开网络后,再去点击,没有友好的错误页面提示网络已断开,只有undefined返回
    49.你在你工作中遇到最棘手的问题是什么?
    自动化测试,编写脚本,我工作以来遇到最大的问题就是这个
    50.弱网情况下你是如何测试的?答:
    如:
    A. 2G的网速150kbps,折合下载速度15-20K/S.B=8b.g
    B. 3G的网速 1-6Mbps,折合下载速度120K/S-600K/S.
    C. 4G的网速10-100Mbps,折合下载速度1.5M/s-10M/s.
    a) 使用真实的SIM卡,运营上网络来进行测试。
    b) 通过代理的方式模拟弱网环境下进行测试(charles应延迟)
    c) 链接模拟弱网的热点进行测试(如360wifi助手可以设置)
    51.跟开发人员因为BUG产生分歧你是如何解决的?答:
    A. 问题确认与评估
    B. 明确开发不修改该缺陷的确切原因
    C. 具体问题具体分析–注:dev代表开发 tester表示测试人员
    D. 发挥测试经理与产品经理的沟通职责 注TM表示测试经理 PM表示产品经理强调沟通。
    52.如何提交高质量的软件缺陷记录(报告)?答:
    A. 通用ui要统一、准确。
    B. 尽量使用业界惯用的表达术语和表达方法
    C. 每条缺陷报告只包括一个缺陷
    D. 不可重现的缺陷也要报告
    E. 明确指明缺陷类型
    F. 明确指明缺陷严重等级和优先等级
    G. 描述 (Description) ,简洁、准确,完整,揭示缺陷实质,记录缺陷或缺陷出现的位置
    短行之间使用自动数字序号,使用相同的字体、字号、行间距
    短行之间使用自动数字序号,使用相同的字体、字号、行间距,可以保证各条记录格式一致,做到规范专业。
    H. 每一个步骤尽量只记录一个操作
    I. 确认步骤完整,准确,简短
    J. 根据缺陷,可选择是否进行图象捕捉
    53.手机端测试的关注点有哪些?答:
    ui测试,功能,性能测试,安装卸载测试,软件升级测试,登陆测试,安全性测试,消息推送,前后台切换,兼容性测试,网络环境测试,monkey测试。
    54.Web测试的方法有哪些?
    55.软件测试的分类有哪些?

56.测试用例的方法有哪些以及包含的内容?答:
方法:等价类划分法,边界值,场景法,因果图,正交表。
内容:等价类划分法:边界值:场景法: 因果图:正交表:数据库与命令:
57.什么是关系型数据库?
关系数据bai库,是建立在关系模型du基础上的数据库,借助于集合代数等数
58.为什么要进行数据库测试?
数据库测试的主要目标是:确保数据库访问方法和进程正常运行,数据不会遭到损坏。
59.MySql数据库查询语言有哪些?多表联查会吗?
数据库语言最常用的bai是SQL (结构化查询语du言)。
多表联查:
select * from table1 t1,table2 t2 where t1.id=t2.id
这样就是联合查询啊
left join
right join
inner join
60.MySql数据库的增删改查?
增加列:
alter table 数据表名 add birthday datetime;
改:
1.修改字段,不重命名,用modify
alter table 数据表名 modify birthday date;
2.修改字段,重命名,用change
alter table 表名 change 原名 新名 类型及约束
alter table 数据表名 change birthday birth date;
删:
alter table 表名 drop 列名;
枚举中的下标从1开始,对应枚举
数据:
查:
查询表使用数据 select * from 表名;
部分查询 select * from 表名 where 条件;
可以使用as 为列表指定别名
select 字段 as 别名,字段 as 别名 from 数据表名 where…;
61.SQL内关联和外关联的区别?
内关联是求交集
外观连是一主表为标准,去附表找需要的信息
详细就去自己做测试
62.SQL语句做哪些处理,举例?
如果用sql语句,数据处理比较快,处理后传输的数据量稍大,由123变成了汉字。
在代码中处理,传输的数据量小点,处理速度取决于代码怎么处理。
如果数据量不大,两种方法区别不明显,建议用sql语句。
63.liunx磁盘满了,怎么处理?
#ls –bailR /home >;files.txt
#diff filesold.txt files.txt
64.Linux系统操作的指令说一下:增加,删除,复制,移动等问题?
Cd:进入目录
Cd app:切换到app目录
Cd… :切换到上一层目录
Cd/: 切换到系统根目录
Tail -10 a.txt :查看后10行数据
Ifconfig :查看ip
Ll:查看文件及其属性
Vi: 编辑
Rm-rf: 删除
Car:解压及压缩命令
Cp:复制
Pwd:显示当前路径
Mv:移动
Cat:查看文件内容
Touch:创建文件
Tail logcat:查看日志
Cat logcat:查看日志
Tomcat:日志
Tail :查看日志记录信息,tail -f catinalia out
65.Linux系统日志查看指令,压缩,解压指令等问题?
tar -xvf 文件名 :解压
Tar -n logcat 查看系统日志
tar -zcvf 文件名:压缩
66.LInux系统TOP命令介绍?
显示,管理执行中的程序 就是任务管理器
67.说几个常用的adb指令?
Adb install(apk的文件路径) 安装软件到手机或者模拟器
Adb uninstall(包名) 卸载手机或模拟器上的某款软件
Adb devices 查看与当前电脑连接的移动设备
Abd ,adb start-server 启动
Adb,adb kill-server 杀死
Adb logcat 查看日志
Adb logcat -v time process >
68.软件负盖安装的adb命令?
adb install -r xx.apk 覆盖低版本的
adb install -r -d 覆盖高版本的
69.性能测试的Adb命令?
adb shell dumpsys cpuinfo 查看手机cpu的使用情况
adb shell getprop|findstr dalvik 手机系统自己运行的内存使用
70.说几个Monkey指令?
Adb shell monkey -p 包名
Adb-shell–ignore-crashes 忽略崩溃
Adb-shell–ignore-timeouts 忽略延时
Adb-shell–ignore-throttle 延时毫秒值
Adb-shell–pct-touch–pct-motion 触摸与滑动事件的比例
工作的话一般是根据文档或百度去查
71.Linux上能不能直接进行性能测试?答:
不能,脚本需要通过windows调试好后,才能在linux上运行,运行的时候,只能通过non GUL形式进行启动jmeter,但需要注意的是,csv文件在windows上与LInux上要统一路径,最好使用相对路径,放到统一目录下边。
工具:
72.请说下bug管理工具的优缺点?
QC(Quality Center)
是原Mercury Interactive公司(现已被HP收购)生产的企业级基于WEB测试管理工具,需要安装配置IIS和数据库,系统资源消耗比较大;功能很强大,结合有BUG管理,需求管理及用例管理等功能;和其它的测试工具,比如Loardrunner测试工具的接口做得比较好,数据可以在它们中共享;英文版的且易用性不是很好,最重要的是收费且价格不扉;版的网上也很多但找起来和也比较费事,且性能就不那么稳定。
73.禅道的使用流程?
A. 运行Windows一键安装包双击解压缩到某一个分区的根目录,比如f: 必须是根目录解压…
B. 修改数据库密码首次打开会提示数据库密码太弱,建议修改密码。会默认显示一个密码,你也可以…
C. 禅道访问地址为http://ip地址:端口号/zentao/然后点击【访问禅道】,系统会…
D. Apache用户访问验证Apache的访问验证默认是开启的,会给出默认账号和密码,点击…
E. 超级管理员登录密码修改,登录账号admin,密码123456超级管理员登录禅道后,一键…
74.禅道的优缺点?
优点1. 垂直、专注。2.让全民测试变得简单。3. 云端更强大
缺点:
A. 模块比较多,感觉缺bai乏有机的整合。比如,问题管理如du何与缺陷管理衔接?zhi问题管理如何与项目对接。文档管理与项目成果对接等。总的感觉比较杂乱,属于堆积功能的。
B. 各个模块不够精细,太粗糙。比如质量管理太简单了,基本上无法使用;需求管理也不是很理想;产品管理的理念是什么?是IPD还是其他?没有理念就没有灵魂。
75.阿尔法测试与贝塔测试的区别是什么?
A. 性质不同
B. 目的不同
C. 测试用户不同
76.你都过什么测试
答:功能测试,性能测试,以及接口测试,在公司中大部分是做的功能与性能测试

  1. 你们接口测试是怎么测试的
    答;根据接口文档,进行测试,里面包含url,请求参数,以及响应结果,如果没有接口文档的情况下,通过抓包的方式进行测试一般抓包的时候我们会使用charles的方式进行抓包或者是fiddler
    77.接口测试的流程
    Jmeter:
    通常要先创建一个线程组,指定并发的线程组数量,在指定要测试的接口,一般要先创相应的监听器,如:表格结果,结果树,聚合报告信息,通过监听器来监听测试是否通过或存在什么问题。
    在结果树中,可以监测到整体的请求信息,就拿http请求来讲,是整个http协议的所有请求,包括请求头,请求参数,请求路径,以及响应结果头跟响应结果等信息。
    查看结果可以看到每个请求的简单信息,本次请求的时间以及平均时间。
    聚合报告中可以看到整个整体的信息,如:请求的平均响应时间,90%Line也就是90%用户请求低于的时间,吞吐量tps,还有错误率,还有就是用流量来计算的吞吐量,通常聚合报告就是反应整体的数据。
    答:我们在做接口测试的时候一般用postman,我就说下postman的使用吧,首先设置url,设置请求参数,和查看响应结果,他有两种请求参数,get与post。
    78.Get与post请求的区别
    get请求通常从服务器获取数据,请求参数在地址栏之后,数据量有限制,不够安全
    Post请求通常往服务器提交数据,请求参数在请求实体中,数据量无限制,较为安全。
    在postman中post请求中设置form-data类型,上传文件,也可以设置raw类型,可以上传xml类型的文件。
    第二点:
    Postman中可以创建项目,因在实际测试中,会有好多的请求,可以通过创建项目来管理请求以及创建folder,来管理模块。
    第三点:
    可以设置断言,进行参数化,
    设置断言,需要在响应的test中去判断响应内容,设置参数化,分为两种,一是全局参数,而是环境参数,
    第四点:
    Postman可以批量执行测试用例
    79.学生笔的测试用例答:
    可以通过界面,性能,安全,易用性上,兼容性考虑
    界面:
    A. 笔的外观是否符合界面设计
    B. 大小与规格是否一致
    C. 材质是否与设计一致
    性能:
    A. 测试笔水的最长使用时间
    B. 从桌子的高度摔落到地面是否会折断与断水
    C. 笔正常写字的力度更大的力写是否会䅰断鼻尖
    安全:
    A. 在手上写字是否会划伤皮肤
    B. 笔水是否会有剧毒
    C. 笔水是否有挥发性的刺激性气味
    D. 握笔时笔画是否粗糙握手
    易用性:
    A. 保持匀速写字,字体是否工整,清晰,
    B. 打开笔盖,是否容易打开
    C. 更换笔芯是否快捷
    兼容性:
    A. 是否兼容其他同规格笔芯
    B. 是否兼容不同的纸张的书写。
    80.如果回归测试不通过怎么办?答:
    A. 首先考虑环境问题,看是否能够还原原来的环境
    B. 遇到问题就要提,不能放过任何一个Bug,在提交的Bug描述中加上一句话,那就是复现概率,尝试20次,出现一次或尝试10次,交给开发,开发会根据Bug的复现概率,调整改Bug的优先级。
    C. 尽量回想发生问题时的复现步骤,不要漏掉任何一个细节,按照步骤的组合尝试复现
    D. 与开发人员配合,让开发人员对相应的代码检查,看是否通过代码层面检查出问题
    E. 保留发生bug时的log,附加到提交的Bug中,希望可以通过log中找到一些蛛丝马迹。
    F. 查看代码,也许是代码变更,引起的Bug
    81.测试报告包括哪些?
    A. 项目的概要描述。
    B. 测试过程缺陷的统计, 一定程度反映项目的质量。
    C. 整个项目过程有需要改善地方,提出建议。
    D. 给出结论,项目是否可以上线
    82.postman与jmeter的区别是什么?
    答:1,用例组织不同,jmeter的组织是比较扁平,首先他没有工作空间的概念,直接就是测试计划,而postman功能上更简单,组织方式是轻量级,他主要针对的是单个的http请求。
  2. 支持接口的类型与测试的类型不同:jmeter的功能更强大,可以通过各种类型的接口,不支持的也可以通过网上或者自己编写的插件进行扩展,而postman更轻量级,定位不同,可用来测试Rest接口。
  3. 配置不同:jmeter可以在线程组里添加http,tcp,而postman只支持Rest接口。
    83.postman做哪些操作?
    Postman 是一款功能超级强大的用于发送 HTTP 请求的 Chrome插件 。做web页面开发和测试的人员应该是无人不晓无人不用!其主要特点 特点: 创建 + 测试:创建和发送任何的HTTP请求浏览器的兼容性测试是怎么测试的?
    84.手机兼容性测试? 兼容测试测试哪些内容?
    大型的,用户群体多的网站都需要做浏览器兼容性测试,需要测试主流的浏览器(除特定要求的浏览器以外)
    测试的内容:一般是页面的排版,页面格式,字体,颜色,下拉菜单,复选框等测试(UI:CSS,HML,Js在不同浏览器下的表现)
    再就是对功能进行检查PC端打开浏览器网页测试流程? 对于账户名密码安全的查看,怎么查看
    85.最近工作功能测试流程?意思是问测过哪些功能?
    测试流程:
    A. 待测应用在不同的操作系统平台上正常运行,包括待测试项目能在同一操作系统平台的不同版本上正常运行;
    B. 待测应用能与相关的其他软件或系统“协调工作”;
    C. 待测应用能在指定的硬件环境中正常运行;
    D. 待测应用能在不同的网络环境中正常运行。
    测过哪些功能:
    A. 兼容性测试就是测试电脑硬件之间是否有不兼容等问题或软件问题。
    B. 兼容性测试侧重哪些方面 1、向前兼容和向后兼容。向前兼容是指可以使用软件的未来版本,向后兼容是指可以使用软件的以前版本。 2、不同版本之间的兼容。实现测试平台和应用软件多个版本之间能够正常工作。
    86.代码的版本管理用什么工具,上传和合并代码? SVN 介绍用的版本管理工具
    第一问:
    A. 首先在电脑上打开360极速浏览器,其他浏览器也大同小异,在一个网页中“右键–审查元素”…
    B. 在弹出的窗口中,在右下角找到setting按键,进入设置界面。
    C. 在settings中,找到overrides,并点击,勾选Enable和User-…
    D. 然后选择相应需要用到的手机系统与相应的设备,进行模拟。
    E. 然后再下拉,这里可以设置屏幕的分辨率,字体的大小比例等。
    第二问:
    A. 首先打开支付宝在最下面一行找到“我的”点击
    B. 然后点击账户名右边的小箭头。
    C. 接着找到“设置”点击。
    D. 点击“安全设置”。
    E. 点击“安全中心
    87.用过重定向吗?
    用过
    88.代码的版本管理用什么工具,上传和合并代码? SVN 介绍用的版本管理工具
    Visual Source Safe( 简称 VSS )2. SVN(Subversion) - CVS(Concurrent Version System)的替代和升级版本3.、 ClearCase
    89.接口的指标是什么?
    (1)IDE和EIDE(2)SCSI接口(3)IEEE1394:IEEE1394又称为Firewire(火线)或P1394,它是一种高速串行总线,现有的IEEE1394标准支持100Mbps、200Mbps和400Mbps的传输速率,将来会达到800Mbps、1600Mbps、3200Mbps甚至更高
    90.测试手机兼容性测试是如何测试的?
    答:一般测试手机兼容性的时候会考虑到手机的型号,分辨率以及安卓版本号,一般常用的手机型号如:华为,锤子,小米,魅族等,一般碎片化会严重,从Android4.0到Android8.0的版本是不一样的,而最近的版本号已经到10了,也就是AndroidQ,它是协助开发者利用5G,折叠屏,无框屏,设备内置Al等最新技术继续创新,同时确保用户安全,隐私及数字健康。向分辨率这块大部分是19201080,还有好多的分变率,如7201280,还有大的分辨率,都要考虑兼容,不然的话手机视觉体验就会不太好,一般会买真机去测。
    91.发现bug后你是如何判断的?
    答:前端主要是看得见莫得着的东西,而后端是更深层的东西,是摸不着的,
    如:前端主要是在视觉效果及交互设计设计上,如一个网页的设计风格,跳转等,如注册界面,前端设计面风格,输入的字符类型,长度以及合法性校验,不会设计到数据库之间的信息交流等,
    而后端主要是负责实现具体的功能,如你界面都写好了,就要输入哪些数据啊,数据的格式什么,不能输入哪些数据,完成后你要与数据库进行比较,如果是新的,就要在数据库中插入,不同的项目情况不同,如果你知道前后台的区别,就大概知道bug的判断了。
    92.压力测试与负载测试的区别是什么?
    答:通常性能测试中的压力测试是在系统资源特别低的情况下软件系统运行的情况,其目的是找到系统在哪里失效以及失效的地方,关注点在于系统咋峰值负载或超出最大负荷情况下的处理能力,而负载测试是指数据在超负荷环境下运行,程序是否能够承受并满足最终确定性能指标的情况下所能承受的最大负载量。

linux查看最后100行
tail -n 100 nohup.log
TCP 和 UDP 的区别
:1、udp是无连接的,tcp是面向连接的;2、udp是不可靠传输,tcp是可靠传输;3、udp是面向报文传输,tcp是面向字节流传输。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值