找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

[上海] 上海-花旗银行软件测试面试

[复制链接]
基本信息
面试公司:上海花旗银行
面试时间:2021/7月份
面试难度:英文自我介绍+英文项目介绍+面试扣日常工作细节
面试结果:pass
面试谈薪:18+


面试内容
软件测试的方法:
从设计方法的分类:白盒(条件组合覆盖,语句覆盖),黑盒(等价类,边界值,判定表,因果图)
从测试是手动还是自动上分类:手工测试,自动化测试
从测试的目的分类:功能测试,性能测试,安全测试,回归测试


性能测试怎么做:
1、我们在系统测试之后准备进行性能测试,主要是做压力测试
2、进行压力测试首先我们就要做需求分析,预估在线人数在2000(日活用户×20%),由此估算出并发用户数大概在500左右(2000*25%)而平台的主要业务集中在首页的访问,查询功能,登录并申卡等功能,因此我们选取这几个重点功能进行用例的设计,依照100,200,300,400,500递增用户的方式来进行压力测试,在测试过程中监控硬件系统的资源情况(CPU,内存,磁盘,网络)。
3、目前主流进行压力测试的工具主要包括开源的Jmeter和商业软件Loadrunner,我们进行了充分的对比,最终选择jmeter进行我们的性能测试,因为它是开源的,也同样支持多用户的并发和多台机器分布式的测试。。
4、我们依据编制好的测试用例使用bodbody 工具(之所以用badboy,是因为jmeter自己的录制功能不太好用)来进行脚本的录制,录制完成后对脚本进行适当修改,然后就导出为jmeter可用的脚本,然后把这个脚本导入到jmeter 中,通过设置线程组的线程数来模拟多用户的操作,我们从100用户逐渐做到500用户,采用并发的形式进行压力测试,并且监控资源,系统资源也基本符合预期要求。
5、测试完成后,我们会获取测试过程中的响应时间数据和一些监控的图表来进行分析,并编写测试报告。
6、这就是我们最近一个项目压力测试的情况。

接口测试怎么做:
1.了解接口文档
2.制定接口测试方案
3.选择接口测试工具
4.设计接口测试用例(json)
5.用例评审
6.用例的调试
7.用例的维护
8.用例的执行
9.输出报告

工作中测试用例怎么保存和更新:
我们测试用例在经过评审之后会上传到禅道上面,当有新的业务需求上线时,我们会引用之前模块的测试用例和基础组件用例,然后根据新需求的变动更新业务模块用例和基础组件用例,评审之后提交到禅道上面
日常项目当中,怎么管理(维护)你们写的测试用例:
有两种情况:
1.在测试接口的时候,会有正常和异常入参数据,把入参数据统一写道csv文件中,当操作postman时,可以导入进行枚举
2.平常维护正常数据的接口时,把经常要改变的变量写到jason中,到时候可以直接导入到环境变量中

测试的工作流程:
1.产品经历开需求澄清会议
2.测试提出需求中的疑问
3.测试经理制作测试计划内容,分配需求以及工作任务
4.测试设计用例
5.用例评审,评审之后导入测试管理系统
6.开发提交代码
7.搭建测试环境
8.SIT1:执行冒烟测试
9.执行全量测试
10.提交bug
11.开发解决bug
12.验证bug,关闭bug
13.回归测试
14.项目上线稳定之后对之前的手工测试转化成为自动化测试,对自动化测试脚本进行维护

团队中测试与开发有多少人:
前端开发2,后端开发12,开发经理1,测试4,测试经理1
人名字:朱峰,春晖,凯峰,陈菲

Xxx该怎么测:
功能:
性能:
易用:
兼容性:
安全:XSS攻击

对自动化测试有哪些了解:
Ui自动化:python+selenium,最近新出了pytest,准备学习一下
接口自动化:python+request

前端后端的区别:
前台:呈现给用户的视觉和基本的操作。
后台:用户浏览网页时,我们看不见的后台数据跑动。后台包括前端、后端。
前端:对应我们写的html、css、javascript 等网页语言作用在前端网页。
后端:对应jsp、javaBean、dao层、action层和service层的业务逻辑代码。(包括数据库)
为什么jsp是后端呢?主要是jsp的运行原理是在tomcat服务器运行的。

工作中python用了哪些方法(修饰):
实例方法:通过它来传递实例的属性和方法(也可以传类的属性和方法),只能由实例对象调用
__init__(self,...) 初始化对象(实例),在创建新对象时调用
__new__(cls,*args,**kwd) 实例的生成操作
@staticmethod        #静态方法,不要求传入参数,可以直接使用类调用,不需要实例化,但是方法中不能使用类或实例的任何属性和方法,实例对象和类都能调用
@classmethon 类方法,它最少要包含一个参数,Python 会自动将类本身绑定给 cls 参数,通过它来传递类的属性和方法(不能传实例的属性和方法),实例对象和类都能调用

linux显示当前目录下所有文件:
ll -a

linux怎么看log:
tail –f

linux有哪些文件类型:
源码.tar、.tar.gz、.tgz、.zip、.tar.bz表示压缩文件,创建命令一般为tar,gzip,zip等。
.sh表示shell脚本文件,通过shell语言开发的程序。
.pl表示perl语言文件,通过perl语言开发的程序。
.py表示python语言文件,通过python语言开发的程序。
.html、.htm、.php、.jsp、.do表示网页语言的文件。
.conf表示系统服务的配置文件。
.rpm表示rpm安装包文件。

fiddler看request的哪个section:
raw

工作中用到的python的数据类型:
整数,布尔值,浮点数,字符串,列表,元组,字典,集合

selenium怎么打开浏览器:
当测试脚本启动Chrome的时候,selenium-webdriver 会首先在新线程中启动Chrome浏览器。启动后selenium-webdriver会将Chrome绑定到特定的端口,绑定完成后该chrome实例便作为webdriver的remote server存在;客户端(也就是测试脚本)创建1个会话,在该session中通过http请求向remote server发送请求,remote server解析请求,完成相应操作并返回response;客户端接受response

selenium用的哪一版,是webdriver吗?
3点多

app测试与web测试有什么不同,需要注意些什么:
1.系统架构不同,一个是B/S架构,一个是C/S架构
2.在测试流程和功能测试上是基本上没有区别的
3.在性能上web端更多考虑页面跳转和接口响应时间,app考虑流量/电量/CPU/内存使用情况
4.兼容方面,web端主要考虑浏览器兼容测试。app需要考虑系统兼容,机型兼容,分辨率和屏幕尺寸
5.app还会多一些专项测试:弱网测试(重点要考虑回退和刷新是否会造成二次提交,需要测试丢包,延时的处理机制),异常中断场景(来电,短信,关机,重启等),安装卸载更新(正常和异常场景),横竖屏切换,多点触控
想要知道APP端测试与web端测试的区别 ,那么我们就要先来了解,web和app的区别。
web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端。那么在系统测试测试的时候就会产生区别了。

字典和列表的区别:
列表是有序的,字典是无序的,是通过一对一对的键和值反应的一种映射关系,每个键都是唯一的,不能像列表一样来索引

自动化测试的流程:
首先自动化分UI自动化和接口自动化。这两种类型的自动化我都有在项目中实际的做过。自动化的实现首先肯定是要选择一款自动化框架。使用一门自己熟悉的语言编写自动化脚本。我个人是比较擅长用python语言,在python官网上下载一个3.7的版本,进行安装,配置下环境变量。uI自动化需要安装selenium,接口自动化需要安装Requests.这两个库都可以使用pip命令进行安装。uI自动化还需要使用浏览器驱动,可以去指定的网站上下载一个匹配自己当前浏览器版本的驱动。这个时候环境就搞定了。然后下载一个pycharm工具,在这个工具上创建工程,编写自动化脚本。
UI自动化肯定最基本的是页面元素定位,通过元素定位方法id,name,xpath,css实现对浏览器页面控件的定位。然后使用selenium里面核心 webdriver进行操作。ui自动化会使用页面对象设计模式,将页面定位和业务操作分开,提高代妈的可维护性。
接口自动化肯定会结合unittest单元测试框架来对自动化脚本进行维护。会把测试数据,测试用例,接口配置,接口定义,工具类,测试报告进行分层设计,方便后续的脚本维护。脚本编写好,会进行脚本的批量执行,在执行的过程中,如果发现了bug,就会分析bug,确认是脚本问题还是代码本身有问题,最终脚本可以生成html自动化测试报告,通过邮件发送给测试老大就行了。我们公司的自动化测试就是这么做的。

Linux中vim的几种模式:
命令,编程,末行

Linux中的top命令:
d  指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p  通过指定监控进程ID来仅仅监控某个进程的状态。
q  该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S  指定累计模式
s  使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i  使top不显示任何闲置或者僵死进程。
c  显示整个命令行而不只是显示命令名

查看文件命令:
cat:从第一行开始显示文本内容(适用于内容较少的)
tac:从最后一行开始显示,是 cat 的逆顺序
more:一页一页的显示文本内容(适用于内容较多的)
less:与 more 类似,但是比 more 更好的是,它可以往前翻页!
head:只看文本的前面几行
tail:只看文本的后面几行

map()函数:
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

面向对象的特征:
认为一个复杂的系统,是由很多部分(对象)组成,对象之间是通过方法的调用来相互沟通,可以继承,封装,多态
继承:派生类可以继承父类中的方法,父类不可以使用派生类中的方法
多态:从父类继承过来的方法,可以根据对象的不同,做不同的修改,调用相同的方法,得到不同的执行结果
封装:封装的目的是保护隐私,直接调用类方法,不需要将代码显示出来

Post和get的区别:
get将请求参数直接写在请求地址里面,post将请求参数放在请求头body里面
get的请求比post的请求效率高
get有长度限制,因为url长度有限制,post请求参数没有长度限制
post更安全
get一般用来查询,post一般用来提交
get请求可以保存到浏览器历史记录里面,post请求不能保存到浏览器历史记录里面
get请求地址可以直接在浏览器中打开,post缺少body中的参数,不能
get请求刷新可以多次提交查询,post刷新就会重复提交
get发一个tcp传输协议包,因为没有请求体包。post发两个tcp传输协议包,post先发请求头,里面有身份认证等各种信息,通过之后再将请求体发到客户端
get最大256个字节

jdk,jre,jvm:
jdk:java开发工具包,包含jvm
jre:JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),包含jvm
jvm:java虚拟机,Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行

冒泡排序:
# list1 = [2,6,9,15,18,1]
# for i in range(len(list1)):   #i的取值0,1,2,3,4,5    len()函数,取列表或者字符串的长度
#     for j in range(i+1,len(list1)):     #当i=0,    [1,2,3,4,5]   当 i=1,    [2,3,4,5]
#         if list1 > list1[j]:
#             list1,list1[j]=list1[j],list1    #:双向赋值,就是两个元素值互换位置
#             print(list1)
Windows命令:
Cd:进入目录
Dir:显示目录中的内容
Ren:重命名
Copy:拷贝
Move:移动文件
Python中的collection:
Counter:计数,用于追踪值出现的次数
Ordereddict:有序字典,记住了字典元素添加的位置
后台有哪些表格:
Bankcard_infor id,name,time
User_infor id,name,phone_num,email,date
Apply_infor1
Apply_infor2
英文自我介绍:
First of all It’s my great honor to have this opportunity to apply this job
my chinses name is chenzongyuan, ive graduated from jianghan university and my major is psychology
i have three years work experience, the last company i worked in zhongxing bank, response for the function of apply credit card around one more year
as for my character, i am a dynamic and high sense of responsibility person , i am willing study the latest technology and make it useful in my daily work
i have many hobbies including listing music and play piano, the most thing i like is trivial with my friend
thank you for listening and giving me this chance,  wish i could be your workmate
英文介绍家乡:
My hometown wuhan is a beautiful city, located in the middle of China , wuhan is a good place for tourists. It has many parks and modern malls which are worth visiting. If you want to get there , I really suggest you to try the local food especially hot dry noodles. Many people come to wuhan each year, because they can look Cherry blossom in Wuhan University
英文介绍自己的爱好:
Speaking of my hobbies, I quite like cooking. In my home , my father cook for my mother, and my grandpa cook for my grandma, so maybe its my family traditional, I cooked once or twice a week in weekend. The best thing I feel about cooking is not you cook for yourself, but cook for the guy you love, looking their happiness face when they eat your cooked food, you can feel the sense of achievement
英文介绍自己的项目:
The last project I did in zhongxing bank, response for apply credit card, if a guy want to apply credit card, he need to send information include name, id, phone number, work city. When he click apply, we will compare whether you are our customer before . if you are, you only need to send your location and password. If your not , you need to supplement your detail information include work company, work department, work station. when the background system resave this information, it will use third part api to confirm your information, and send back a score, the background system will use that score to calculate a credit score. When customer get their card they need to upload their id , card number, CVV2, term of validity to activation. Customer also can inquiry process by upload their id, phone number. And this is part of my project
学软件测试就找多测师
多测师软件测试面试经验分享
软件测试咨询加微信 :13713647694
分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册