面试题:之前做过自动化测试吗?如何推进的?
答:
前端UI方面是用sulenium开源框架加上Python基础架构来实现自动化
实现原理:用一些单元测试框架pytest去组织我们的测试用例
数据驱动:比如我们用execl表住一个数据驱动,然后我们用到一些关键字驱动
面试题:你们的自动化测试流程?
1、编写自动化测试计划
2、编写自动化测试用例
3、编写自动化测试框架和脚本
4、调试并维护脚本
5、无人值守测试
6、后期脚本维护(添加用例、开发更新版本)
面试题:你觉得自动化测试的价值在哪里?你们公司为什么要做自动化测试?
答:
引用自动化测试之后,能代替大量繁琐的回归测试工作,把业务测试人员释放出来,继而让业务测试人员集中精力放到复杂的业务功能模块上。
自动化测试一般是对相对稳定的功能进行自动化,保证不会因为产品的更新导致之前稳定下来的功能出现bug
面试题:什么是断言?
答:
检查一个条件,如果他为真,就不做任何事,用例通过
如果是假,则会抛出AsserError并且包含错误信息
面试题:UI自动化中,如何做集群?
答:
selenium grid ,分布式执行用例;
appium 使用stf管理多设备;
docker+k8s 管理集群;
面试题:接口测试能发现那些问题?
答:
1、可以发现很多页面上操作发现不了bug
2、检查系统异常处理能力
3、检查系统的安全性、稳定性
4、前端随便变、接口测试ok,后端不变
5、可以测试并发情况,一个账户 同事发送多个请求,或者不同的账号对一个商品进行下单
6、可以修改请求参数,突破前端页面输入限制,金额等
面试题:性能测试考虑哪些指标?
答:
1、从用户角度发出的响应时间
2、管理员角度考虑的性能点
相应时间
服务器资源使用是否合理
应用服务器和数据库资源使用是否合理
系统能否实现扩展
系统最多支持多少用户访问、系统最大业务处理量是多少
系统性能可能存在的瓶颈
更换哪些设备可以提高性能
系统是否支持7*24小时的业务访问、
3、占在研发的角度考虑
架构设计是否合理
数据库设计是否合理
代码是否存在性能方面的问题
系统中是否有不合理的内存使用方式
系统中是否存在不合理的线程同步方式
系统中是否存在不合理的资源竞争
4、站在测试角度考虑
链接超时;崩溃;系统交互;弱网下的运行情况;CPU使用问题
面试题:性能测试的指标包括哪些?
答:
1、最大并发数、点击率、事物相应时间、每秒事物数、每秒点击量、吞吐量、CPU使用率,物理内存使用、网络流量使用等
2、相应时间:用户从客户端发出请求,并得到相应,以及展示出来的整个过程的时间
面试题:在搜索引擎中输入汉字就可以解析到对应的域名,如何用LoadRunner进行测试?
建立测试计划,确定测试标准和测试范围
设计典型场景的测试用例,覆盖常用业务流程和不常用的业务流程等
根据测试用例,开发自动测试脚本和场景:
录制测试脚本:新建一个脚本(Web/HTML协议);
点击录制按钮,在弹出的对话框的URL中输入”about:blank”;
在打开的浏览器中进行正常操作流程后,结束录制;调试脚本并保存,可能要注意到字符集的关联。
设置测试场景:针对性能设置测试场景,主要判断在正常情况下,系统的平均事务响应时间是否达标;
针对压力负载设置测试场景,主要判断在长时间处于满负荷或者超出系统承载能力的条件下,系统是否会崩溃;
执行测试,获取测试结果,分析测试结果
面试题:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
答:
300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。
300个用户在一个客户端上,需要更大的带宽。
IP地址的问题,可能需要使用IP Spoof来绕过服务器对于单一IP地址最大连接数的限制。
所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。
面试题:面向对象的测试用例设计有几种方法?如何实现?
答:
给类中的每个构造函数设计一组测试用例;
组合类中的类变量、实例变量;
组合类中的各种方法;
根据前置条件和后置条件设计测试用例;
根据代码设计测试用例;
面试题:当开发人员说不是BUG时,你如何应付?
答:
开发人员说不是bug,有2种情况。
一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动,3方商量确定好后再看要不要改。
二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?如果被用户发现或出了问题,会有什么不良结果?
开发可能会给你很多理由,你可以对他的解释进行反驳。如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。
其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发不修改也没有大问题。如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
生命如一朵绽放的花,奋斗是开启它的钥匙。燃烧激情,追求卓越,超越自我,闯出不凡。脚踏实地,永不止步,勇敢追逐,梦想成真,让人生绽放绚丽华章。
梦想是航船,努力是风帆;坚持是指南针,勇气是动力。融汇拼搏与智慧,追寻热爱与使命,越过困难与挑战。不言放弃,唯有奋斗,绽放人生的壮丽篇章。
背负梦想,扬帆远航;攀登巅峰,莫停脚步。坚持不懈,锲而不舍,勇于超越,创造奇迹。相信自己,展翅高飞,让努力与汗水铺就通往成功的坚实之路。