职场倍速成长软件测试职业探索

软件 自动化测试工程师 面试前准备 个人总结(非官方)

2021-11-09  本文已影响0人  涅槃Ls

背景:10月份离职后继续找互联网行业自动化测试工程师,在自习室闭关几天,开启复习学习之路:
一、软件测试-复习思路
二、准备好Boss直聘的在线&附件简历
三、重点复习简历上所写的技术:自动化测试
四、面试时会问的一些非技术性的问题
五、自己电脑上的开发软件
六、检查简历上我三个社交网站更新情况
七、百人计划,继续听完
八、看一遍自己笔记里的每日TodoList(2016年至今)
九、Boss上回复HR信息,寻面试机会(先过学历这一关)
十、面试
十一、根据面试中的问题重点提升

一、软件测试-复习思路

看一遍老徐的软件测试资料,全面了解软件测试的知识体系(简单版),以下只把目前对我有用的测试知识点记下来了。

  1. 一分钟时间,阐述自己的整体优势
  2. 你平时的学习渠道有哪些
  3. 遇到问题的解决思路是哪些
  4. 阐述你工作中主要负责的内容
  5. 从开发代码提交,整个后续流程是怎样的?
  6. 你认为自己需要自己的是哪些?
  7. 如果让你评价这次面试,你给自己打多少分?
二、准备好Boss直聘上的在线&附件简历
三、重点复习自己简历上写的技术技能
1. 软件测试理论、方法
2. Python、Java
3. Linux基本命令、Xftp、Xshell
4. Postman
5. HTTP、JS
6. MySQL、Navicat
7. SVN、Git

测试会使用到的基本命令

8. F12、Fiddler
9. BUG管理工具 tapd、jira、禅道、wiki等

只关注之前所在项目时的使用的那个即可

四、面试时会问的一些非技术性的问题
1) 一分钟自我介绍,说一下技术优势,还有哪方便需要提升?
2) 简述一下你所负责的项目,主要职责?
3) 为什么从上一家离职?
4) 给你一个项目怎么测?

(以下是我的回答,有不妥的地方大家自行修改)
不管是新项目还是已上线的,我一般是通过各种方法了解熟悉项目(需求文档、产品设计、以往同事写的文档,历史bug,dev环境多操作几遍)。熟悉的过程会以笔记或者Xmind脑图的方式记录。之后就开始细化自己所负责的模块。有任何疑问会以excel的方式记录,找准时间,让同事帮答疑。需求熟悉后,就要开始编写测试点或者测试用例(核心主路径、功能测试、UI测试、安全测试、兼容性测试、性能测试等),然后进行用例评审,再之后就是执行测试,输出测试报告,上线后的回归测试,总结复盘,并推动负责人落实改进。

5) 遇到问题如何解决,解决思路是什么,若解决不了该怎么办?

(以下是我的回答,有不妥的地方大家自行修改)
可分为:技术问题,产品业务问题,还是一些部门沟通问题。
若是技术问题,我会先自己先在网上找答案,若花20分钟还没有头绪,就会咨询身边的技术同事。
若是产品业务问题,自己也会先查找以往文档,聊天记录,会议记录,若还解决,就联系相关的产品同事。
若是跨部门的问题,我就需要整理出当前问题发生背景,发生原因,若解决需要谁配合等,整理好后发给我直属领导。带着解决方案反馈给领导,让领导做选择题,而不是找领导要答案。

6) 学习能力?

(以下是我的回答,有不妥的地方大家自行修改)
自我提升,永远保持在学习的路上,带着目的去工作和学习。

  1. 问题定位能力
  2. 问题跟进能力
  3. 严谨的思维
  4. 问题归类总结能力
  5. 自驱动、学习能力
7) 你还有什么想问的吗?

如果我有幸进入公司,我所面试的这个岗位,我还需要提升哪些技能?对我的期望是什么?

8) 为什么没有对象/结婚?

我每次都会被问到,囧

9) 你的学习渠道有哪些?国内有哪些技术站点?行业类的微信公众号?

关注一些行业活跃着的blog、菜鸟教程、公众号、TestHome测试之家、CSDN、51Testing、简书、SegmentFault等等

10) 公司团队架构是怎样的,测试流程是怎样的,你认为规范的流程是?

    我所接触的就是:项目经理、产品、设计、开发、测试、运维
    => 构思产品=> 需求采集=> 交互设计=> 需求评审=> 项目经理排期=> 软件开发=> 产品验收=> 确认提测=> 软件测试=> 产品灰度体验=> 正式发布=> 运维

五、整理自己电脑上的所需软件

python、pycharm、postman、fiddler、soapui、git、weterm、Xshell、Xftp、mysql、navicat、印象笔记、xmind、sublime、腾讯文档、chrome、firefox、outlook、switchhosts

六、检查简历上我三个社交网站更新情况
七、百人计划,温习一遍

去年参加的课程。

八、看一遍自己笔记里每日TodoList(2016年至今)

好记性不如烂笔头,多对自己有这个好习惯,这样复习回忆之前的项目会比较快狠准。

九、Boss上回复HR信息,寻面试机会(先过学历这一关)

只要有面试机会,就参加(现在面试大多是电话、腾讯会议等面试,可忽略来回的路程),在面试中了解自己的不足和当下大多公司多需要的技能。

十、面试(电话、腾讯会议、WeMeeting、面对面)
(1) 首先自我介绍一下吧!

    可以从以下几点来介绍(大概3分钟以内):毕业时间、从事互联网行业时间、技术优势、沟通能力、文档总结能力、问题推动能力及闭环意识、学历力。

(2) 所负责的项目、担任的职责,通过自己让项目达到什么效果?
(3) 怎么评判一个项目是符合上线要求的,从哪些特性分析?
  1. 验收标准
    (1) 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
    (2) 在验收测试中发现的错误已经得到修改,各级缺陷修复率达到标准
    (3) 所有测试项没有残余紧急、严重级别错误。
    (4) 需求分析文档、设计文档和编码实现一致。
    (5) 验收测试工件齐全(测试计划、测试用例、测试日志、测试通知单、测试分析报告,待验收的软件安装程序。)
  2. 缺陷修复率标准
    (1) 紧急、严重级别错误修复率应达到100%;
    (2) 普通级别错误修复率应达到95%以上;
    (3) 优化级别错误修复率应达到60%以上;
    注:项目紧急时,普通级别错误修复率达60% 以上;优化级别错误修复率达20% 即可。
  3. 服务器运行状态响应指标
    (1) cpu% 并发期间最大使用率应不超过70-80%,如有集合点并发可允许短暂接近或到达100& 但大部分不应查过95%;
    (2) memery 测试期间保证内存充足可用内存不少于20%;
    (3) disk 监控硬盘是否有读写不超过40%;
    (4) cpu load average 不应超过cpu 核心数*2 或者不超过cpu 核心数。
  4. 软件性能指标
    (1) 响应时间(并发下的响应时间)
    不同页面浏览时的响应时间、点击注册用户时的响应时间、登录时的响应时间、搜索功能响应时间、项目特殊功能响应时间。
    事物的响应时间又分为最大响应时间、平均响应时间、最小响应时间(验收可忽略此数) 、90%响应时间。如为B/S 项目可设定验收标准为最大响应时间不超过20s、平均响应和90%响应不超过10s。如为c/s 项目(手机客户端) 可设定为最大响应时间不超过30s、平均响应和90%响应不超过15s(因为手机网络相对较慢,可以适当加大响应时间)。
    (2) 测试中事物通过率:
    一般web 项目通过率为3 个9,设定验收标注为各个事物通过率为99.9%。
    (3) 系统能支持的用户量
    需要先评估上线后会有多少注册用户和活跃用户
    (4) 吞吐量应与hits tps 等数据成正比且波动较小
(4) 给你一个纸杯怎么测试?

【针对整体的事务或系统】
a. 先描述(理清)功能点,同时给自己一定的思考时间;

b. 根据系统测试的主要类型来分析要测试的内容:

  1. 首先从功能层面来说
    ● 要测试水杯是否能够装水
    ● 测试水杯能否用手拿
    ● 测试水杯是否让人喝到水
  2. 其次从 UI 层面来说
    ● 水杯的外观是否美观
    ● 水杯上的 log 配色是否合理
    ● 水杯上的文案是否合理,是否有错别字
  3. 再次从性能(可靠性、稳定性)方面来说
    ● 水杯能装多少度的水
    ● 水杯装多久能保证不发生渗漏
  4. 再从安全性方面来说
    ● 水杯表面的涂层是否会释放有毒物质
    ● 水杯的边缘是否会割伤嘴唇
  5. 再从兼容性方面来说
    ● 除了装水是否还能装可乐、啤酒、咖啡等
  6. 最后从易用性方面来说
    ● 水杯是否适合抓握
    ● 是否方面喝水
(5) 设计用例:用户必须达到钻石会员且积分>=5000的用户才能领取。领取时间4月2日早上10:00,数量100张,领完为止。

【根据局部功能】这种局部需求,说什么兼容性、易用性等就没多大意义啦。更多的是要分析这个需求,提取需求中的关键词。关键字如下:会员等级、积分要求、领取时间、剩余优惠券情况

  1. 针对会员等级:
    测试用户为钻石会员及以上会员的情况
    测试用户为钻石会员以下的情况
  2. 针对积分要求:
    用户的积分 > 5000、用户的积分 = 5000、用户的积分 < 5000
  3. 领取时间:
    时间未到、领取时间、时间结束
  4. 剩余优惠券情况
    有剩余、剩余为0
  5. 其他场景:
    会员等级为钻石会员、积分为5000、且在领取时间内,并且有剩余的情况,能正常领取。
    会员等级为钻石会员、积分大于5000、时间未到,不能领取。
    会员等级为钻石会员,积分大于5000、在领取时间内、剩余为0,不能领取。
    会员等级为钻石会员,积分大于5000、领取时间结束,不能领取。
    会员等级为钻石会员,积分小于5000,不能领取。
    会员等级为普通会员,积分为5000、且在领取时间内,并且有剩余的,不能领取。
  6. 再加上一些特殊的情况:
    优惠券余1时,多人同时领取
    时间刚到10点时,能否领取
(6) Python如何去调用Linux命令

我们想要Python能够调用Linux系统命令,也就是Python与Linux系统交互,要么需要使用os库。

    4、 subprocess子进程(功能强大,最常使用的方式)

(7) Linux的操作:从日志中搜索出某关键字然后重定向到另一个文件

1、 从日志中搜索出某关键字

2、重定向

查询到关键字:grep 关键字 文件路径
重定向到指定文件:命令 > 文件
则面试的问题回答是:grep 关键字 文件 >> 文件
eg:grep guanjianzi linuxtest00001 >> lishan002

(8) HTTP协议,常见的状态码?
(9) 简单写代码,实现数字的大小排序?
(10) 怎么区分一个bug是前台还是后台?
(11) 若发现一个问题,开发不认为是一个bug,怎么解决?
(12) 若发现一个体验性问题,该怎么去督促开发解决?
(13) 感情or婚姻状况?
(14) 怎么看待外包?
(15) 若发现一个问题,日志是warning,可以降低bug等级到debug,输出日志?
(16) 印象比较深的bug?
(17) 给你一个项目,你该怎么去测试?

上面准备时有写过这个问题

(18)之前的自动化是用什么语言写的,有没有使用python进行实战?
(19)一部电梯怎么测试,说出测试点?
(20)面试官简单介绍某项目某功能,让说出测试点

     基本上是讲述他所在项目的。

(21)Python实现:输出随机字符串中每个字符的个数?
import string
from random import choices
s = ''.join(choices(string.ascii_letters + string.digits, k=1000))
print("string: ", s)
char_count = dict();
for i in s:
    char_count[i] = char_count.get(i, 0) + 1
print(char_count)
(22)。。。待更新
十一、根据面试中的问题重点提升
上一篇 下一篇

猜你喜欢

热点阅读