面试问题:
• 自我介绍:
面试官们,我叫××X,来自…,接下来我将从三个方面介绍一下我自己,第一个是校园实践方面,我在校期间参加过许多志愿活动,也曾经担任过社团的管理岗位,有丰富的活动组织经验,在团队合作方面方面积累了经验:第二个是专业方面,曾经有过相关的实战项目,能运用多种测试工具去进行项目的测试,熟悉软件测试的墓础知识。在个人方面,我为人性格开朗,能够与人进行友好沟通与相处,并且有良好的学习能力,始终以积极的心态应对各种挑战,希望以后能够将直接所学的知识和专业技能应用到此商位,谢谢。
1、请介绍一下你的项目
我测试的项目是一个B2C电商平台,包括用户端和商家平台,在项目中,我主要完成了三部分操作:
(1)功能测试:通过Xmind软件梳理测试点,设计覆盖购物车、支付等多个核心模块的用例,发现大约80个 bug。
《23App测试:使用Solopi.进行性能测试,用monkey 做稳定性测试。也进行了一些专项则试和性能测试
(3〉使用fiddle进行抓包分析问题,协助开发修复问题
2、为什么选择我们公司?
这个问题建议姐妹们先看一下公司的介绍,了解一下公司主要是干什么的,如果在boss
上找到直接点开公司详细介绍看一下,然后可以复制去 列总结
3、你觉得你为什么能胜任这个商位?
首先我有扎实的专业知识和技能,这是胜任软件测试师的基础。其次,在工作中,与开发人员沟通是非常重要的,我有良好的沟通能力和较强的责任感,会积极参与团队的讨论。最后,软件测试是一个不断发展的邻域,我会始终保持强烈的好奇心对新技术和新方法,去丰窗自己的技能。
4、你的职业规划是什么?
我现在短期内先做好自己的本职工作,熟悉公司的产品和业务流程。之后慢慢提升自己的能力,去成为资深一点的软件测试师,为公司带来更多价值
5、如何看待加班?
如果是工作需要,那么我会主动要求加班完成工作,为了项目能够完成得更好,为公司的发展,我决定适当的加班是没问题的。当然为了更加亭效的工作,减少无意义的加班是必不可少的。另外我想问一下公司加班的强度是怎么样的呢,每周要加班几次呢?
6、你觉得你的缺点是什么?
(1)经验不足,我与其他人相比,缺少工作经验,之前并没有实习经历。但是我会很重视我以后的每一份工作,我的学习能力很强,我相信我能很快学习到这一岗位所需要的各种技能。
(2)太过在意他人的想法,不敢直接表达自己的想法,觉得会让对方难堪,但是我现在正在改变,学会更好的表达自己的诉求,不能一味的压抑自己的想法
7、你觉得你有什么优点?
(1》热行能力比较强,具体来说就是面对一个任务,只要我确定了目标和实现路径,我就不会犹豫和拖延,会立马执行
(2)守时,时间观念比较强,做事情会预留一些时间出来,来应对突发情况
8、如何编写测试用例
《1〉首先先深入进行需求分析,明确功能点和业务规则
(2) 第二是选择设计方法,比如使用等价类划分法设计有效/无效输入组合,采用边界值分析法测试长度限制边界条件
(3)我是用excel进行用例编编写,包含唯一用例编号,明确的测试步数和测试数据,优先级的标记以及可验证的预期结果
(4)第四是进行用例评审,确保覆盖全面(要是问用例评审和需求评审的过程什么的,那么就说是跟小组内部讨论商议的,就不会问到那么洋细〉
9、你是如何制定测试方法的?
《1〉首先选中测试策略,核心功能采用“正向+异常+边界值”全覆盖测试,次要功能做基本功能验证
(2》第二个就是测试类型设计,比如功能测试:用等价类划分设计用例;兼容性测试:不同浏览器的兼答性;性能测试:测试网页的响应时间
(3》之后就是一些工具的使用,比如抓包的fiddle,还有 imeter、selegd这些
10、如果发现了bug,你是如何去处理的?、(1》确保bug能够更现,记录完整的复现路径和环境配置(2冫截取错误页面/日志关键路径
(3〉缺陷报告,包含严重级别、标题、环境、前提步骤、预期结果、实际结果、附件。提交给开发
11、假如要你则试你们学校的官网,你会如何进行测试?
《1》首先进行需求分析,看看是否包含既定功能(招生入口,校历展示等),确认业务流程接下来可以进行测试,第一个就是功能测试:所有导航链接有效性、表单提交、文件商城功能等。
(2》第二个就是兼容性测试:不同浏览器是否都可以打开,在可以测试不同的手机型号的兼容性。第三个是性能测试:看首页加载时间<25,能不能支持多用户访问页面。第四个就是安全测试,验证敏感信息有没有加密
(3)总结:我会优先保障:核心信息的准确性;关系服务可用性;移动端的基础体验
12. 如何测试这个官网的性能?
(1)负载测试:模拟多用户访问(imete,.里创建线程组可以设置并发用户数)(2》稳定性测试:长时间一直打开这个页面,着着会不会存在内存泄露的问题(3)看页面加载的响应时间
13.你的接口测试是怎么做的?
有举例情况:我以下单这个接口说下吧:下单这个接口用的是h热e.协议,使用 post请求方式,发送给服务器的参数有 tokn,产品ID,购买数量,收货人地址等等,这些参数都是必传的参数。我们是使用 Jmeter来做接口测试的,首先,要新建一个线程组,在线程组下面添加一个h热R的请求,然后填写好服务器地址,接口路径,请求方式,请求参数。由于下单的接口依赖于等于,所以我们会先调用登录接口,从中获取token 值,在下单接口中使用${参数名的方式引用,接下来还要对其他参数进行参数化,构造各种正常和异常的数据,我们先在本地创建一个 tt文档,把参数填写到文档里面,在 Jmeter 中添加一个ssx文件设置,填写好 tst文档的路径,然后在请求参数中使用 Json 提取器把 token 值关联出来,然后在下单接口中使用$(参数名}的方式引用;接下来添加断言,检查服务器返回的结果和预期结果是不是一致的。最后,添加查看结果树查看测试结果
没有举例情况:使用iemeter.进行接口测试,首先创建线程组,设置好线程数和循环次数,之后添加hte.请求,添加请求头,其间可以进行SSy数据驱动,就是在本地新建一个然t文件,然后在 iemeter里引用。最后查看结果树。
14.你的登录页面的账号和密码是怎么测试的?
功能测试:
(1》账号输入框的测试:使用等价类进行测试,有效等价类:输入已注册的手机号或已注册的邮箱。无效等价类:为空;手机号未注册;邮箱未注册;11位非数字;非11位数字
(2》密码输入框验证:使用等价类进行验证,有效等价类:输入符合复杂度要求的密码。无效等价类:为空,输入纯数字,输入少于鼓小长度,输入大于最大长度,输入纯字母。
(3〉安全测试:查看密码输入是否有加密;连续输错5次之后会不会临时锁定账号(4)兼容性测试:查看不同浏览器的兼容性,移动端可以查看不同机型的分辨率的兼容性(5)性能测试:多用户并发登录;(cg)查看页面响应时间
15.你认为这个登录界面会出现什么bug?
(1)功能bug:输入不存在的账号仍能成功登录输入错误的密码仍能成功登录,同一账号多端登录导致数据错乱
(2》安全bug:抓包发现密码明传输
(3)用户体验bug:输入错误账号或者密码时仅显示登录失败,不说明是账号或者是密码错误
(4)性能bug高并发崩溃,弱网状态下登录超时未重试,直接报错
16.如果说登录页面跳转失败,你是如何认定bug是前端出现错误还是后端出现错误?
(1) 使用fiddle 抓包进行分析,查看状态码,200就是请求已成功发错,若是参数正确但响应异常,就是后端问题,状态码为 500、504 就是后端问题(2)检查前端代码,检查控制台,看看有没有is错误,有就是前端错误
17. 了解自动化吗,使用什么框架?(就说了解一点,没有了解那么深)(1) 使用 selenium 工具
(2)之后导入浏览器驱动
(3)进行元素定位,可以是 id、sss,、name 元素
18.你提了个bug,开发不认同,你们产生矛盾,你会如何去解决?
(1)冷静复现,确认分歧本质
(2)提供相关的日志和截图
(3)对照需求文档
(4)还是存在争议,请求更高阶级的领导人介入,去解决这个问题
19. 介绍一下你项目的背景
ShepFlow.是一个-B2C模式的电商系统,分为用户端和商家端两大模块。用户端提供商品浏览、购物车、支付等完整购物流程,商家端支持商品管理、订单处理等运营功能。作为测试工程师,我主导了功能测试、APP性能测试及Web 兼容性测试,通过XMing梳理测试点、设计 500+测试用例,使用 Fiddler 和ADB精准定位前后端问题。
20.你们项目是几个人一起完成的?
5个人,2个web,2个 app
21. 这个项目有什么不足,一个怎么去改进?
(1)测试的深度不足,初期测试未覆盖分布式场景
(2)没有进行充足的沟通,导致效率较低
22. 在校园活动中,你使用什么工具在辅助你的工作?
(1)通过金山共享文档实现志愿者排班表的实时协同编辑
(2) 采用问卷星收集参与者反课并自动生成分析字报告,通过 excel 进行物资采购记录
(3〉 建立微信群实现跨部门沟通群
23.你是如何策划一个活动的,遇到问题如何解决?
在策划校园活动时,我采用系统化五步工作法:首先通过问卷调研明确需求,接着制定包含人员分工、应急预案的详细方案,然后运用腾讯文档和进行资源协调,最后通过多渠道宣传和效果评估完成闭环。针对突发问题,我建立了三级应对机制:优先热行预案《如启用备用场地),其次灵活调整方案(如分批次活动),必要时启动备选方案(如转为线上)。
24.平时有什么兴趣爱好?
(1)平时会进行一些户外运动,比如打打羽毛球
(2)也喜欢自己做一下手工,学一些新奇东西
25. 身边的人对你的评价是怎么样的?
细心,认真。做事很靠谱,因为我一般遇到问题,我会把事情考虑得周全,有时候会制定一个备选方案,防止出现什么意外:
26.软件测试的目的是什么?
(1》发现项目中存在的缺陷,找出性能、功能、袁全等方面的潜在问题(2》降低以后开发同类型产品遇到的风险(3)确保用户使用的流畅性和可靠性
27.项目中支付模块是如何进行测试的?
功能测试:
(1〉是否能使用多种支付方式(微信/支付宝/银联〉成功扣款且订单状态同步(2)余额不足时会清晰的提醒(不是仅仅报“系统错误”)
安全测试:敏感信息是否有加密(比如银行卡)
性能测试:支付后跳转到订单页面的平均响应时间
稳定性测试:持续运行24小时,验证对账无差错
28. 测这个支付模块有什么异常的情况?
(1》 支付中断:如网络信号较差导致支付状态为转变,出现“已扣款但订单未完成的情见”。
(2)金额痛洞则试时发现小数位过多是(如100.9999元)会发生四舍五入错误(3〉重发请求:快速点击支付按钮导致重复扣款
29. 当出现已扣款但是订单显示未支付的情况,是什么情况引起,你会如何去定位问题?(这个是我后面复盘更整理的答案,面试的时候我只说了用 fiddle 抓包分析是前端还是后端问题〉
第一个方法:没有考虑是什么原因,直接测试
(1) 使用fiddle拦截请求,模拟异常,比如删除请求(模拟完全丢失)(2) 在fiddle 中延退发送回调
(3) 使用iemeter验证补偿机制:创建线程组-添加b热g请求(支付接口》-查看结果树,关健配置就是在支付请求后添加定时器(模拟未回调拔态》
(4) 在fiddle 中对回调请求的原始报文和修改后的报文对比,(订单始终处于支付中>iemgter.查看补偿的成功率(较低),故确定是系统配置问题,所以就跟开发检查代码。
第二个:考虑是弱网问题:
(1)在fiddle里打开自定义脚本编译器,在里面可以奢姿上行和下行网络延退时间,比如我可以将上行延迟时间设置未 3000ms,下行设置未 1000ms,就可以模拟2G 网络的速度
(2)之后在 app里进行支付操作,观察支付页面加载是否超时,支付请求是否重试,中断后恢复网络,订单状态是否同步,最后发现就是网络问题导致订单状态不能同步
30. 使用 g以blg感,一般是去查看什么log信息?
(1) 一般就是查看崩溃(crash),烈无响应
(2)crash出现的原因:空值指针,数组越界,内存不足,CPU 满负荷(3)出现P0.的原因:线程阻塞、内存不足、CPU 满负荷
31. 软件测试的流程是怎么样?
需求分析-制定测试计划《测什么、怎么测、谁来测)-用例设计(分析需求;提取测试