项目篇
- H5是什么?
- 项目开发语言
- 你在项⽬中负责什么?(意思就是,你在项⽬中参与了哪些事情)
- 怎么保证覆盖⽤户需求?
- 测试⼀般做⼏轮
- 日志怎么获取
- ⼀般测试过程中,怎么定位问题。
- 你说说xx功能,你怎么测试的。
- 你会编写测试计划吗?
- 印象最深的bug有哪些?
- ⼯作中遇到过什么困难,是怎么解决的?
- 迭代两到三周的项⽬,需求分析要多久,⽤例写多久,写多少⽤例,执⾏多久,发现多少个bug,做了⼏个版本,
- 关于项⽬是否上线,也可以这样回答(以下是我们同学⾯试时候的对话):
- 你们的项⽬做了多久,⼀直在做?你负责哪些模块?
- 项⽬多久迭代⼀次?每次迭代你编写了⼏个⽤例?你们的回归测试是怎么做的?
- 那你们⽤例执⾏后bug占整体的⽐率。
- 当⽤户需求变更时,你会怎么做?
- 在最新的项⽬中有学习到什么,对⾃⾝的成长有没有什么帮助
- 公司在哪⾥?公司有多少⼈?项⽬组有多少⼈?前端和后端开发分别多少⼈?有多少个项目组。
- 你们项⽬是怎么分⼯的呢
- 你之前公司的项⽬是什么类型的?(你们之前公司最好做什么类型项⽬的?)
- 如果⼀个项⽬给你负责,你会怎么做?
- 你对项⽬有什么贡献?
- 对于⽤户需求,你是怎么理解的?
- 如果项⽬很赶,经理安排⼀个项⽬要三周内完成,你知道你完成不了,你怎么办?
- ⼀个需求⽂档的内容包含哪些?
- 你最近⼀个迭代的需求是什么?
- 离职公司(有深圳社保的不要选择⼴州离职公司)
- 项⽬细节
- 接口测试细节
- 性能测试(Jmeter + Nmon)细节
H5是什么?
H5就是指HTML5,简单理解,一般通过手机浏览器访问到的网页,都是用过H5研发出来的。包括我们的公众号,小程序或者webapp主要就是通过H5研发出来的。
项目开发语言
- 安卓app:JAVA
- iOS的app:object-C
- b/s架构:后端开发语言:PHP或者JAVA,前端开发语言:HTML,JS,CSS
你在项⽬中负责什么?(意思就是,你在项⽬中参与了哪些事情)
在⼯作中我主要负责功能测试,接口测试,除此之外还参与了接口⾃动化测试与性能测试等。在项⽬中主要参与了
需求分析和需求评审,负责收集项⽬资料协助上级完成测试计划的编写,编写测试⽤例并评审,测试环境的搭建以 及测试执⾏和编写测试报告等⼯作。怎么保证覆盖⽤户需求?
项⽬开始前,我们会先熟悉需求,画好流程图,保证整个流程都覆盖全⾯,⼩组之间每个⼈都要根据各
⾃的流程图,各个功能点有哪些限制条件,来讲解⼀下⾃⼰对测试点的理解,防⽌之后编写测试⽤例时出现遗漏;
⽤例编写完之后,再进⾏⽤例的评审,看看测试点有没有⽤遗漏,对需求理解有没有错误,测试场景是否覆盖完全。测试⼀般做⼏轮
这个要看项⽬的整体质量,⼀般来说3-4轮左右。
测试开始的时候,我们会进⾏冒烟测试,没有问题了,就开始执⾏⽤例,发现了bug就在tapd上进⾏提交,等待开 发将所有的bug修复完成,我们重新更新⼀下代码。就会开始第⼆轮的测试。
第⼆轮测试开始之前, 我们会先看看主流程会不会出问题,然后进⾏回归测试,主要看,以前没有出现问题的地 ⽅,现在是否出现问题了,接着就再执⾏⼀遍⾃⼰的测试⽤例,有问题,继续提交,以此类推。日志怎么获取
一般日志都是由运维指定存放在哪里,想我们之前XX项目,都是存放在
/webroot/logs目录下,如果出现了bug,我们会将日志的这一段时间的操作,获取到本地,提交给开发进行定位。⼀般测试过程中,怎么定位问题。
- 检查测试环境的配置是否有问题,测试数据是否有问题
- ⽤fiddler抓包,分析请求和响应数据是否存在问题。
- 查看应⽤服务器的⽇志
- 检查数据库的数据是否存在问题。
你说说xx功能,你怎么测试的。
不管测试什么功能呢,⼀定要从质量的六⼤特性出发,可以参考⼀下常见功能点的测试。
你会编写测试计划吗?
- 毕业两年以下的同学可以这样回答
- 我们之前的测试计划都是测试组长写的,我们只是负责收集数据,协助组长完成测试计划的编写,测试计划的内容还是知道的,有测试范围、测试⽅式/策略、测试资源、测试开始和结束条件、进度安排、测试组织 等,如果以后有机会让我来编写测试计划,我觉得我没问题。-----(回答的时候,要⾃信。)
- 毕业两年以上的同学可以这样回答
- ⼀般都是协助组长写过,⾃⼰也独⽴写过,常见内容有测试范围、测试⽅式/策略、测试资源、测试开始和结束条件、进度安排、测试组织等
印象最深的bug有哪些?
之前有做⼀个xxxx项⽬是接⼿别⼈的,有⼀次测试的时候,发现退款这个功能点可以进⾏⼆次退款,然后提交bug单并且报告上级,公司奖励了我多少钱。(发现了什么,怎么解决的,为什么印象深刻,⼀⽬了然,仅供参考。)
⼯作中遇到过什么困难,是怎么解决的?
(思考三四秒...)太⼤的困难倒没有,不过在上个项⽬我遇到过⼀个⽐较紧急的问题,当时我们的测试环境有问题,
在界⾯上构造不了数据,导致测试堵塞了,项⽬赶着上线,领导⼀直在催,为了解决这个问题,当时我找到开发和
运维的同事,让他们帮忙从⽣产环境上把数据导到测试环境上来测试,因为要协调其他部门的同事,所以印象⽐较
深。迭代两到三周的项⽬,需求分析要多久,⽤例写多久,写多少⽤例,执⾏多久,发现多少个bug,做了⼏个版本,
- 一般一个迭代的项目,大概会有4-5个需求。
- 需求分析1到2天,⽤例也是写两天左右,包括⽤例评审;
- ⽤例的个数看需求和颗粒度的⼤⼩,如果时间充⾜,我们写的⽤例细,⽤例数就多些,⼀个版本⼤概有100多 条,执⾏花的时间长了,⼀般要4到5天;
- 每个版本发现的bug数量,要看需求和实现起来的难易程度,开发⼈员的⽔平和测试⽤例的质量,⼀般⼀个版本
我们能找50-60个bug,越到后⾯,系统越来越稳定,发现的bug就越少; - 我们这个项⽬⼀共做了7个多⽉,每两周⼀个迭代,⼀共下来有⼗来个版本;
- 项⽬上线了,我们在内部环境上测试完之后,产品经理会跟客户对接,完成上线的事情,之后交付给⽤户⾃⼰运营;
- 每个版本基本上会有将近200条⽤例,到现在为⽌,xxx这个项⽬,我⼤概写了有2000条左右的⽤例。
关于项⽬是否上线,也可以这样回答(以下是我们同学⾯试时候的对话):
面试官:项目有没有上线
我: 已经上线了,交付给用户在运营了。
面试官:这样啊,现在可以访问到吗?
我: 具体业务的话都是由客户经理跟客户进行对接,我们测试只管在测试环境上进行测试,如果生产环境出现了bug,客户会跟客户经理反馈,我们会在测试环境上进行问题的复现,确定了bug后,修复bug,再进行打补丁,然后客户再去验证。你们的项⽬做了多久,⼀直在做?你负责哪些模块?
参考答案:这个项⽬到现在还⼀直在做,已经做了8个⽉了(多长时间,可以灵活修改,⼀般8个⽉到⼀年都⾏),前
期需求⽐较多,迭代的版本多⼀些,到后期项⽬基本稳定了,需求变化不⼤,我们会被调去做其他项⽬,这个项⽬
后期如果需求发⽣变化,我们还是要负责测试。所以,在上家公司基本每个⼈都会跟着⼏个项⽬。
提⽰:回答负责哪些模块的时候,⼀定不能说 注册,登陆,查询!!!!注意:app测试,不分模块,按照机型分
⼯。项⽬多久迭代⼀次?每次迭代你编写了⼏个⽤例?你们的回归测试是怎么做的?
- 两个星期⼀个迭代,我们⼀个版本的需求⼀般是5个左右。
- 看需求的多少,我们写的⽤例⽐较细,⼀个⽤例测试⼀个场景,基本每个迭代都有100多条⽤例
- 把bug单对应的⽤例执⾏⼀遍,还要检查有数据交互的模块会不会受影响,有没有引⼊新的问题;项⽬上线前,还要把当前版本的重要功能以及冒烟测试的⽤例都回归⼀遍,确保重要功能上线后不出问题。
那你们⽤例执⾏后bug占整体的⽐率。
一般在40%左右,通常项目到后期了,bug就少很多了。
当⽤户需求变更时,你会怎么做?
这个会经常遇到的,⼀般如果是⼩的需求变更,合理的话,能改的,经理会让开发直接改,然后测试再测⼀下就好了,如果是涉及到⽐较⼤的改动的话,我们会开会讨论⼀下会影响到的模块,经理会计算⼀下修改的成本,⼀般会建议放到下⼀个版本再修改,如果必须要改的话,开发就会改的,测试也会重新修改⼀下测试⽤例,把可能会影响到的模块再测⼀遍。
在最新的项⽬中有学习到什么,对⾃⾝的成长有没有什么帮助
通过这个项⽬⾸先是丰富了我⾃⾝的测试经验,然后这个项⽬也是有做性能、接口⾃动化等等,这让我的测试能⼒更能全⾯的发展,同时通过项⽬也让我对web端的测试更加熟悉,相信在以后的⼯作中我对web端的项⽬能够尽快上⼿的。
---(PS:根据⾃⼰的理解来回答)公司在哪⾥?公司有多少⼈?项⽬组有多少⼈?前端和后端开发分别多少⼈?有多少个项目组。
- 公司地址自己记一下,上班路线
- 公司人数50-200都行。
- 公司可以有多个项目组,一般项目组的人数占公司的50%
比如:公司140个人,总共有5个项目组,每个项目组会有不同的项目,我们项目组的话总共11个人,测试3个,开发8个(前端开发3个,后端开发5个)
你们项⽬是怎么分⼯的呢
- 如果你回答的是app的项⽬
- 我们这个app是按机型分⼯的,我负责的是安卓设备的测试;
- 如果你回答的是WEB端的项⽬
- 我们这个项⽬是按模块分⼯,我负责前台的xxx模块,后台的xxx模块。(⾄少说5个模块以上)
你之前公司的项⽬是什么类型的?(你们之前公司最好做什么类型项⽬的?)
我们公司属于项⽬外包类型的,公司接到什么项⽬就做什么项⽬。
如果⼀个项⽬给你负责,你会怎么做?
我简历上的XXX这个项⽬,就是我独⽴负责的,我当时是这样做的,⾸先,要去熟悉这个项⽬的需求,业务流程,将测试功能点列出来,把不明⽩的地⽅提取出来,和开发、产品经理确认清楚,然后根据项⽬的迭代周期确定⼀个测试计划,接下来开始编写测试⽤例并叫上开发、产品经理进⾏评审;在项⽬开发阶段,开发⼈员把接口开发完成后,我会对接口进⾏测试,保证底层接口的质量;等所有代码都编写好了,开发转测后,进⾏冒烟测试,冒烟测试通过了,接下来进⾏系统的功能,安全,兼容性,性能等类型的测试,发现bug就提交bug单给开发⼈员修改,跟踪并做好回归测试;这些测试完成后,挑选⼀些级别⾼的测试⽤例,在UAT环境上进⾏验收测试,验收测试通过后,编写测试报告,项⽬就可以上线了。项⽬上线后,可能还会出现⼀些遗留的问题,所以还要分析研究怎样做才能避免这类bug的遗漏。
你对项⽬有什么贡献?
(思考三四秒)... 在做交叉测试时候,发现了我同事测了⼏个版本都没发现的问题,并且是⽐较严重的 那种,我举个例⼦吧:⽤户修改密码时,会接受⼀个⼿机验证码,由于系统没有对⽤户名和⼿机号码做绑定验证,接收到验证码后,填⼊别⼈的⽤户名可以进⼊密码修改页⾯,把别⼈的密码修改了。
对于⽤户需求,你是怎么理解的?
(思考三四秒)... ⽤户需求,就是描述⽤户希望把产品做成什么样的⼀个⽂档,有些需求写得很全⾯,什么信息都有,很细;但是,很多时候我们拿到的⽤户需求都是⽐较粗的,不全⾯的,甚⾄是有问题的,这时候,我们要及时和上级,还有产品经理反馈。
如果项⽬很赶,经理安排⼀个项⽬要三周内完成,你知道你完成不了,你怎么办?
先和经理说明,时间太短,存在风险;然后,将任务划分优先级,先完成优先级⾼的任务 ,保证项⽬的主要功能没问题,然后,时间允许的话,再做优先级稍微低的;在这个时间段内,每天向 上级报告⼯作的进度,让领导知道现在的⼯作进展和存在的风险。
⼀个需求⽂档的内容包含哪些?
这个就要看具体情况了,功能的话会有功能的需求⽂档,性能也有需求⽂档,接口同样也有接口⽂档。
功能⽂档主要含有:像原型图、功能介绍等等
性能需求⽂档主要有:性能的测试点,性能指标,并发⽤户等等。
接口的话主要就是:接⼜的名称,地址、请求参数、参数的约束条件、响应数据与响应码你最近⼀个迭代的需求是什么?
⼀般我们每次迭代的时候⼤概会有四五个需求,有的是新增的需求,有的是对原来的bug进⾏修复,还有就是对原有功能进⾏修改。
⽐如我们最近的xxx项⽬中,就对整个购物车的功能进⾏了修改。(⾃⼰准备好⾃⼰⾯试要讲的内容)离职公司(有深圳社保的不要选择⼴州离职公司)
- 检查离职公司的状态
- 离职原因
- 公司⼈数(50-200)
- 公司的地址,上班的路线
- 公司有多少个项⽬组(3-4左右),每个项⽬组(10个⼈左右)
项⽬细节
项⽬周期:8-10个⽉
项⽬⽤例数:1500-2000条
每个迭代:2-3周,⼤概5-6个需求,差不多每个迭代写了150-200条⽤例。
每个迭代发现了多少个bug? 前期bug可能会多⼀些50-60个左右,后期在项⽬趋于稳定,差不多每个迭代30个左右。接口测试细节
- 做了多少个接口?
我们每个版本都会有四五个接口需求,有的是新增的接口,有的是原来的接口做了⼀些调整,⼀个版本下来⼤概有五六⼗条接口测试⽤例。
- 一个项目有多少个接口?
⼀个项⽬⼤概50-60个接口左右。
-
接口的参数有哪些,状态码有哪些,在数据库的状态有哪些?
-
接口几个人负责的?
一般一个项目接口就50个左右,所以说两个人或者自己一个人负责都行。 -
你们接口的用例怎么管理的的?
如果是多个人负责接口,一般我们会将写好的用例,上传到SVN进行管理的。 -
jenkins的用例放在哪里?
我们的Jenkins搭建在自己的本地,所以用例也会放在自己的本地。
如果Jenkins搭建在Linux上, 那么用例也需要上传到Linux上。
注意:Python脚本是跨平台的。所以不用担心在Windows上能运行,在Linux上就不能够运行了。
性能测试(Jmeter + Nmon)细节
对哪些功能做了性能,哪个项目做了。提前准备好。
性能指标(90%事务响应时间/事务通过率/CPU,内存,⽹络的使⽤情况/TPS/并发⽤户) 响应时间⼀般是不超过3秒 事务通过率100% CPU/内存/⽹络 不能超过70%
并发⽤户:1000-2000 绝对并发:并发⽤户的10%
性能测试:⼀年⼀次两次- 服务器配置参考:
CentOS、 6.8 CPU型号:英特尔 酷睿 i5 CPU核数:16核 内存:32G 带宽:50M- ⽤了⼏台压⼒机,每台压⼒机的配置,每台压⼒机⽣产多少⽤户?
⽐如2000个并发⽤户,⽤了4台压⼒机,每台压⼒机⽣产500⽤户。
- 性能测试下来,TPS能到多少
TPS 60-70/S
浙公网安备 33010602011771号