2022.7.14日面试题讲解

面试题

1、bug完整的生命周期

a、发现问题后提交问题给具体的开发人员,开发人员核对问题后,如果是问题,进行修改,开发把修改后的问题发聩给测试,测试这边验证,如果通过。就关闭问题

b、发现问题后提交问题给具体的开发人员,开发人员核对问题不是问题,反馈给测试,拒绝修改,测试这边核对不是问题,撤销该问题

c、发现问题后提交问题给具体的开发人员,开发人员核对问题后,如果是问题,进行修改,开发把修改后的问题反馈给测试,测试这边验证还是没通过,再次反馈给开发

2、编写测试用例的要素是什么?

测试用例名称、前提条件、测试步骤(注意:非常详细的步骤)、预期结果

3、怎么理解黑合测试,白盒测试

黑盒测试(黑盒测试把测试的对象看成是一个黑色的盒子的,看不到里面内部的结构,是对软件的一种功能性的测试)

白盒测试(就是把测试的对象看成是一个透明的盒子,能够看见被测软件的内部结构,是单元测试的一种形式,是针对程序的内部代码的一种测试形式。)

4、测试按阶段划分,主要分为那几个阶段

 

5、怎么理解等价类和边界值

等价类是针对被测对象的输入数据分为有效数据和无效数据;边界值是对等价类测试用例方法的补充

6、请描述一个完整的测试流程

市场调研、需求采集>>产品经理发出需求评审的会议邀请>>产品需求设计评审>>开发设计方案,编写代码,测试同步进行编写测试计划>>编写测试方案>>依据梳理的需求点吧编写测试用例>>测试用例评审>>转测后进行冒烟测试>>冒烟测试无问题后进行测试阶段>>提交BUG以及验证BUG>>测试通过后编写测试报告,同步进行验收测试>>准备上线前的准备工作>>上线后的回归测试验证

7、列表常用的测试用例设计方法,请结合具体的产品说明它的使用

1、等价类 针对被测对象的输入数据分为有效数据和无效数据,是功能测试的一种测试用例设计方法。(如电话号码,那么有效数据就是 符合运营商电话号码的规则,无效就是不符合,如连续的11个同样的数字以及非11的数字。) 2、边界值 边界值是针对等价类测试用例方法的补充,(如电话号码,需要考虑到11位,以及12位,和0位,也就是边界的情况) 3、判定表驱动分析方法 列出被测对象可能存在的不同条件,(如招聘类网站筛选出的结果排序,可能会存在多个条件来筛选出结果) 4、因果图 在判定表的基础上,根据被测对象列出的条件,来使用排列组合的方式来验证各个不同条件下(并且以及或者关系)程序的结果情况。(例如招聘网站上的同时选取地区、学历、薪资等出现的结果的测试。) 5、正交实验分解法 在因果图的基础上,使用排列组合下来的测试用例个数是非常多,导致测试用例的个数是非常多的,那么使用正交实验分解法可以优化 测试用例的个数,选择有代表性的数据来进行测试。(例如招聘网站的地区过多,选择有代表性的城市进行测试。) 6、场景设计方法 主要考虑的是一个产品的完整的业务流程,从输入流开始一直到输出流,(比如淘宝,从一个商品上架一直到商品的出售) 7、错误推试法 针对被测产品的非功能性的测试用例,主要使用探索性测试的方法,来验证被测产品可能存在问题;(例如: a、在波浪式的交互过程中,一直往下滑动,可能会出现浏览器的卡死。(图片、资源加载)b、在搜索结果内容中列表翻页可能也会存在浏览器的卡死。(信息加载)c、Java语言编写的应用程序,大概率可能存在内存泄露(Java.lang.OutOfMemory,简称:OOM)【一个应用程序都会分配内存,比如分配了2G,但是程序在使用的过程中,由于程序受到了太大的压力,导致使用的内存超过了分配给自己的内存,那么就会导致内存溢出,在专业角度上我们叫内存泄露。】d、一码通,对该应用程序进行大量的扫描二维码并且一直在进行扫描,那么很有可能存在扫描二维码后出现不了结果或者是导致结果一直加载中。)

8、功能图分析⽅法 针对程序非功能性的测试,主要考虑的是被测程序的内部结构代码的测试。

8、测试用例的要素有哪些?

测试用例名称、前提条件、测试步骤(注意:非常详细的步骤)、预期结果

9、请描述一下你理解的测试流程

市场调研、需求采集>>产品经理发出需求评审的会议邀请>>产品需求设计评审>>开发设计方案,编写代码,测试同步进行编写测试计划>>编写测试方案>>依据梳理的需求点吧编写测试用例>>测试用例评审>>转测后进行冒烟测试>>冒烟测试无问题后进行测试阶段>>提交BUG以及验证BUG>>测试通过后编写测试报告,同步进行验收测试>>准备上线前的准备工作>>上线后的回归测试验证

10、如果是一个水杯,请设计它的测试用例,你会怎么测试它?
11、测试计划你是怎么写的

测试概述(测试负责人、周期)、测试任务(任务模块、任务明细、负责人、时间、是否完成、备注)、风险控制(风险项、风险描述、负责人、跟踪人、处理时间、是否解决、备注)、

12、测试报告你是怎么写的

测试概述(版本、测试时间、测试参与人、备注)、功能测试结果(新功能测试结果、系统已有功能测试结果、系统核心流程测试结果)、缺陷分析(多少BUG、解决多少、解决率多少、未解决多少、缺陷状态分布图、缺陷严重级别分布图)、测试风险分析(缺陷风险分析{BUG描述、BUG链接、BUG解决方案、解决时间、负责人、备注}、风险量化{风险描述、影响范围、解决时间、负责人{产品经理}、备注})、测试结果(本次测试结果通过,可以上线!)

13、如果提交的BUG开发不承认,你怎么办?

首先我会再次检查问题是否存在(也存在你测试的时候问题存在,但是开发偷偷的解决了的情况),如果问题存在,那么提交的BUG步骤一定能要非常清晰,通俗易懂,同时要在提交的BUG里面附加上错误信息的日志上下文,以及尽可能的提供错误的截图信息。再找开发,比如打扰下,麻烦看看这个问题,是否是我的姿势不对等等,总之友好沟通,让对方来解决问题 如果真的发生是问题,并且提供的信息都是非常全的,

14、如果转测延迟,你怎么处理?

找PM反馈,沟通解决方案

15、那么公司开发转测试的依据是什么?

转测要把所有功能实现,然后冒烟测试通过

16、怎么理解冒烟测试?

转测后对程序的基本功能的测试

17、怎么理解回归测试?

相当于重复性之前的测试并验证

1、测试阶段,针对昨天提交的BUG进行回归测试(对象是BUG)

2、测试阶段,需要针对系统已有功能进行的测试(对象是之前的功能)

3、上线前开发把代码合并后,进行一次系统的测试(对象是之前功能加新的功能)

4、上线后,针对系统所有功能的测试(对象是之前新加的功能)

18、你怎么看待加班?

首先承认公司加班制度,但不做无用加班。

19、提交BUG你一般是怎么提交的

通过TAPD平台提交给指定开发,发开这边认可后解决BUG,然后回复给我,我这边进行复测,没问题后关闭提单

20、BUG的级别你怎么理解?

数据丢失定义为灾难性的(高级)

逻辑问题,功能性的问题定义为严重(中级)

页面交互,拼写错误这种的定义为一般(一般)

21、简述下对回归测试的理解,以及回归测试时候需要考虑的因素

1、测试阶段,针对昨天提交的BUG进行回归测试(对象是BUG)

2、测试阶段,需要针对系统已有功能进行的测试(对象是之前的功能)

3、上线前开发把代码合并后,进行一次系统的测试(对象是之前功能加新的功能)

4、上线后,针对系统所有功能的测试(对象是之前新加的功能)

22、列举出常用的测试用例设计方法,请举例说明每个测试用例设计方法的使用

1、功能测试(等价类{针对被测对象的输入数据分为有效数据和无效数据;如:如电话号码,那么有效数据就是 符合运营商电话号码的规则,无效就是不符合,如连续的11个同样的数字以及非11的数字。}、边界值{针对等价类测试用例方法的补充;如:如电话号码,需要考虑到11位,以及12位,和0位,也就是边界的情况}、因果图{在判定表的基础上,根据被测对象列出的条件,来使用排列组合的方式来验证各个不同条件下(并且以及或者关系)程序的结果情况;如:例如招聘网站上的同时选取地区、学历、薪资等出现的结果的测试。}、正交实验分解法{在因果图的基础上,使用排列组合下来的测试用例个数是非常多,导致测试用例的个数是非常多的,那么使用正交实验分解法可以优化 测试用例的个数,选择有代表性的数据来进行测试。如:招聘网站的地区过多,选择有代表性的城市进行测试}、判定表驱动分析方法{出被测对象可能存在的不同条件;如:招聘类网站筛选出的结果排序,可能会存在多个条件来筛选出结果})

2、非功能测试(错误推测法{针对被测产品的非功能性的测试用例,主要使用探索性测试的方法,来验证被测产品可能存在问题;如:在波浪式的交互过程中,一直往下滑动,可能会出现浏览器的卡死}、功能图测试方法{针对程序非功能性的测试,主要考虑的是被测程序的内部结构代码的测试})

3、场景(场景设计方法{ 主要考虑的是一个产品的完整的业务流程,从输入流开始一直到输出流;如:淘宝,从一个商品上架一直到商品的出售})

4、性能测试

5、兼容性测试

23、如果一个任务实际5天,但是我给你安排3天,这个时候你会怎么办?

1、拿到任务,先对任务进行拆分,然后每个任务根据自己的能力以及实际情况分配时间。

2、约上你的领导,给他详细的说明为什么不是3天,而是5天。分析后果后在进行商量。

​24、针对淘宝购物车请列举出测试点

1、功能性的:点击登录,通过等价类和边界值的方法测试输入框;从商品页面添加后能否出现在购物车内;

2、非功能性的:购物车没有商品点击结算会出现什么;是否存在支付一件商品银行卡提示支付成功但淘宝显示待支付;

3、性能测试:编辑购物车,开始删除、添加商品等操作需要的时间;清空失效商品需要的时间。

4、兼容性测试:比如使用不同品牌、不同型号的手机来测试。

5、场景:从一个商品上架一直到商品的出售

25、在公司你是怎么评审测试用例的

早上通知产品经理、项目经理、测试负责人、开发人员、组内测试同事几点集合会议室,进行测试用例评审。

26、你怎么理解验收测试?你们之前的验收测试流程是怎样的?

外包型:验收测试客户到场一块验收

自研型:测试完成后,发送邮件给产品经理,产品经理这边会进行验收测试,产品经理这边验收测试完成后,会回复邮件说明验收测试已经完成,下来测试团队编写测试报告,准备产品的上线

27、如果你负责的产品上线后有bug,你第一时间怎么做?

A、先在测试环境验证问题是否存在(排查是开发的责任还是测试的责任)

B、测试环境验证问题存在,那么就说明测试环境测试这边没测出来,那么在群内反馈给大家,然后再次评估今天晚上上线是否继续?(如果上线,记录问题第二天通过Hotfix发布紧急版本进行修复)

C、测试环境验证问题不存在,也需要反馈出来。下一步@开发,让开发检查各个中间件(RabbitMQ,Kafka,Redis等)的配置参数以及其他的配置。

D、开发在C的基础上更新代码解决问题后、测试协助开发验证,然后把验证的结果反馈出来

28、如果你的直属主管一直很为难的,你会怎么处理二者之间的关系

上班时间约到会议室谈一下自身的问题及工作上的缺陷和改进的地方;吃饭时候约上一起,不注意的提一下。

29、描述下你们一个迭代多少时间,这期间你的工作是怎么安排的?你们团队是多少人?

两周;

PM(项目经理)1人 开发:4-5人 前端:1-2人 测试:3-4人 产品经理:1人 共10---13人

第一周: 周一:熟悉需求文档以及参与需求的评审,和拆分任务 周二:继续熟悉需求,编写测试用例 周三:继续编写测试用例,评审测试用例,以及完善测试用例 周四:编写自动化测试代码(学习/应用) 周五:继续编写自动化测试代码,开发转测后,进行冒烟测试验证

第二周: 周一:测试被转测试的产品 周二: 继续测试,以及验证回归问题(Issue) 周三:继续测试,以及进行验收测试 周四:编写测试报告,做最后的探索性测试,准备上线前的资料,以及晚上上线后的回归测试验证 周五:参加项目迭代复盘会议,以及针对本次迭代进行总结,准备下一个迭代的工作内容

30、怎么理解story?

敏捷的术语,译为一个任务

31、详细的描述下测试计划和测试报告是那个阶段写,里面你具体写哪些内容的

评审完成需求后编写测试计划,测试通过后编写测试报告

测试计划:测试概述(测试负责人、周期)、测试任务(任务模块、任务明细、负责人、时间、是否完成、备注)、风险控制(风险项、风险描述、负责人、跟踪人、处理时间、是否解决、备注)、

测试报告:测试概述(版本、测试时间、测试参与人、备注)、功能测试结果(新功能测试结果、系统已有功能测试结果、系统核心流程测试结果)、缺陷分析(多少BUG、解决多少、解决率多少、未解决多少、缺陷状态分布图、缺陷严重级别分布图)、测试风险分析(缺陷风险分析{BUG描述、BUG链接、BUG解决方案、解决时间、负责人、备注}、风险量化{风险描述、影响范围、解决时间、负责人{产品经理}、备注})、测试结果(本次测试结果通过,可以上线!)

32、你怎么理解风险控制?

当存在风险的时候,需要及时的把风险反馈给我的leader一级PM等相关的人,然后一起讨论解决风险。

33、你们一般多久一个迭代?你是怎么规划每天的工作任务的?

两周一个迭代

第一周: 周一:熟悉需求文档以及参与需求的评审,和拆分任务 周二:继续熟悉需求,编写测试用例 周三:继续编写测试用例,评审测试用例,以及完善测试用例 周四:编写自动化测试代码(学习/应用) 周五:继续编写自动化测试代码,开发转测后,进行冒烟测试验证

第二周: 周一:测试被转测试的产品 周二: 继续测试,以及验证回归问题(Issue) 周三:继续测试,以及进行验收测试 周四:编写测试报告,做最后的探索性测试,准备上线前的资料,以及晚上上线后的回归测试验证 周五:参加项目迭代复盘会议,以及针对本次迭代进行总结,准备下一个迭代的工作内容

 

 

posted @ 2022-07-14 16:01  陌上归程  阅读(30)  评论(0编辑  收藏  举报