测试面试记录(二)

个人介绍

面试官您好,我叫xx,曾经在xx公司从事了三年测试工程师。对于测试工程师这个名称,我个人还是比较喜欢敏捷测试中QA(–质量保证(Quality Assurance)工程师)这个名称。

在xx银行从事测试工作的两年中,我负责的项目是由xx银行信用卡推出的官方APP客户端–“xxxAPP”,我负责的模块有商城模块、签到模块和优惠券模块。项目中主要包括功能测试、接口测试,对自动化测试也有一定的了解。擅长使用堡垒机和Postman进行接口测试,Charles弱网测试,掌握使用jmeter和abd命令进行性能测试。

我的上家公司实行Decops和敏捷测试,所以我对敏捷测试也有一定的了解。

敏捷测试

瀑布式测试

仅有部分工作量在测试阶段以外,主要工作量都在测试阶段,导致测试人员在其他阶段无工作量,测试阶段工作量又过高,导致测试成为整个迭代过程的瓶颈。

敏捷测试

测试在测试阶段的工作量仍占主要,但是相对比例比现状小很多,将部分工作量转移到其他阶段,平均测试人员的各阶段工作量

敏捷测试的关键在于测试左移和测试右移,也叫测试的提前和测试的延后
测试左移的目的是为了提升质量上限,测试右移的目的是为了保证质量下限

测试左移的实施方案

产品那边的需求定下来,提前做一个业务流程的分析,以及需求可能存在的盲区做一个排查,然后根据已经确认好的需求文档写测试导图,开展进行导图评审会议,导图评审通过后参与开发的概要评审,并在概要评审会议上与开发讨论测试点和进行相关可测性分析。

测试右移实施方案

在生产环境上做生产隔离,进行相关测试
运维做好线上监控,做好CI/CD,灰度发布

项目介绍

该产品通过移动APP为客户提供小额贷款。当用户紧急需要资金时,通过APP申请相应的金额,若用户填写的资料信息符合机审规则,后台通过用户的信息认证后,用户可通过APP的方式即获得所需的金额,当借款到达期限后,用户通过APP的方式进行还款。

项目核心测试

项目的核心,其实就是涉及到金钱交易的借款和还款。借款和还款对接的是第三方支付平台。首先是在测试环境下进行功能测试,若冒烟测试通过,则进行相应的接口测试。测试环境下和预生产环境下对接的是模拟支付,类似于支付宝的沙箱。若测试环境下和预生产环境下都通过,则在生产环境下再进行,如果没有错误,则该功能通过。

如何开展测试,测试用了哪些方法

我的工作主要是功能测试为主,当需求文档确定下来后,根据测试导图对测试点进行拓展分析

例如最开始的登陆注册来说,用户的密码限制是9-16位,字母加数字的形式,通过边界值分析法和等价类划分法编写测试用例。
长度的限制通过边界值分析,不填,8,9,10,15,16,17进行测试;
密码内容通过等价类划分法进行测试,有效等价类就是字母加数字,无效等价类有仅输入数字,仅输入字母,输入特殊字符

用户填写资料采用场景法进行测试,例如用户填写完资料后进行修改,APP中的信息显示会不会发生变化,提交到后台的资料会不会发生变化,
用户积分的获得也是通过场景法进行测试,用户借款或还款失败能否获得积分,用户邀请新用户,新用户借款失败能否获得积分

接口测试如何开展的,要点有哪些,正向用例和逆向用例

接口测试开展

拿到开发的接口文档,文具文档使用工具进行测试,主要看输出的结果是否和接口文档设计结果一致

接口测试用例编写要点
  • 测试每个参数类型不合法的情况(类型不合法容易遗漏NULL型)
  • 测试每个参数取值范围不合法的情况
  • 测试参数为空的情况
  • 测试参数前后台定义的一致性
  • 测试每个参数的上下限(这里容易出致命的BUG,如果程序处理不当,可能导致崩溃)
  • 如果两个请求有严格的先后顺序,需要测试调转顺序的情况
正向用例

针对所有参数,设计1条每个参数的参数值在数据范围内为最大值的正向用例

逆向用例

针对参数的参数值都超出数据范围最大值的逆向用例、参数的参数值都小于数据范围最小值的逆向用例
针对参数的参数类型不符合格式要求的逆向用例

APP 测试和Web测试区别

功能测试

单纯从功能测试的层面上来讲的话,APP 测试、web 测试 在流程和功能测试上是没有区别的。

系统架构

web项目,一般都是b/s架构,基于浏览器的
app项目,则是c/s的,必须要有客户端,用户需要安装客户端。

web测试只要更新了服务器端,客户端就会同步会更新。App项目则需要客户端和服务器都更新。

性能方面

web页面主要会关注响应时间
而app则还需要关心流量、电量、CPU、内存这些。
它们服务端的性能没什么区别。

兼容方面

web测试是基于浏览器的所以不必考虑安装卸载
所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容

app测试则要看分辨率,屏幕尺寸,还要看设备系统
而现在都是移动互联网的时代,app的兼容性是直接影响客户体验的,所以,APP在兼容性测试方面会比web测试开销更大,需要考虑不同系统,比如ios和安卓,不同的版本,比如安卓7,8,9,还要看不同机型,比如小米,华为,苹果,三星

测试生涯中的问题,收获

测试过程中最大的问题,主要是相关的人员对流程的控制不到位。
例如:
产品更改了需求,可能和前端或者后端说了,但是没有和其他人说,其他人还是按照原来的需求进行,导致做了很多无用功
后端更改了接口,没有更新相应的文档,导致前后端对接不到位

最大的收获:
我个人认为,做测试,其实随便找个相关专业的人都会,但是,测试人员的存在,必有其专业性,规范的流程比专注做测试工作更有效率,流程规范,会降低很多问题的发生,像现在比较推行的敏捷测试,其实就是不断完善流程,制定出一套最适合的方案去提升软件研发的质量,这也是测试发展的一个趋势

性能测试

如何开展性能测试

在软件设计的时候,或者开发进行概要评审的时候,会对某些存在性能瓶颈的地方进行讨论,这个要看具体的场景。
性能测试关注的点很多,响应时间、内存、cpu的占用率、耗电量和流量等这些内容

我本人做的性能测试比较少,性能测试主要由测试组组长完成,但也做过一些性能测试,使用Emmage工具对APP的相关性能做了一些测试

响应时间
  • 冷启动:首次启动app的时间间隔(只是启动时间,不包括页面加载)

  • 热启动:非首次启动app的时间间隔(只是启动时间,不包括页面加载)按back按键后再启动

adb命令语句:adb shell am start -W packageName/ActivityName

  • 完全启动时间:从启动到首页完全加载出来的时间间隔
    利用Charles抓包获取完全启动时间
内存

adb命令语句: adb shell dumpsys meminfo packageName

cpu占用率

adb命令语句 :adb shell top,实时查看手机各应用的cpu占用率

耗电量

adb命令语句 :adb shell dumpsys batterystats |grep packageName

性能测试的指标多少正确

性能测试的指标是不定的,测试也是根据需求定的指标去测试是否满足,也要看硬件资源是否达标,影响因素很多的

测试标准:冷启动时间不超过1.5s, 热启动不超过1s.

序号测试点预期结果(标准)测试方式实际结果
01首次加载时间(冷启动)1.5s安装app,执行adb命令281ms
02非首次加载时间(热启动)1s按back按键后再启动adb命令163ms
03首页完全加载时间1.5s抓包工具,查看页面加载时间503ms
04内存测试(空闲状态)adb命令PSS:107697
05内存状态(中强度状态)adb命令pss:180337,无内存泄露现象
06CPU占用率(空闲状态)0%adb命令0%
07cpu占用率(中强度状态)30%adb命令8%-22%
08正常一次从注册到完成申请所消耗的电量百分比emmagee工具2%
09正常一次从注册到完成申请所消耗的流量emmagee工具766k
排除性能瓶颈

一个性能瓶颈可能出现的地方有很多种可能,应用系统的从前到后任何一个环节都有可能。前端、后端、数据库、操作系统,甚至网络,包括硬件问题,都有可能是导致出现性能瓶颈的地方,那我们作为测试工程师,最终的目标就是要定为到问题的发生点。

一句两句话说不清楚到底是如何定为到的性能瓶颈。 如果想在定位瓶颈上做的轻松一点,就要把监控做全,监控,是性能测试中的重中之重

如何进行性能调优

调优的方式有很多,要看性能点在哪,可能是服务器性能,数据库设计方面,网络等等
如果是数据库设计方面,可以通过对数据查询建立索引的方式,或者使用ElasticSearch搜索引擎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值