软件测试工程师面试题(自我总结)

软件测试工程师面试题(自我总结)
bug的定义bug的周期软件bug是指软件程序的漏洞和缺陷测试工程师或用户所发现和提出的软件可改进的细节、或与需求文档存在差异的功能实现等生命周期中缺陷状态新建--指派--已解决--待验--关闭发现BUG--提交BUG--指派BUG--研发确认BUG--研发去修复BUG--回归验证BUG--是否通过验证--关闭BUG2.怎么判断是前端bug还是后端bug界面相关排版错乱文案错误等问题都属于前端bug出现样式问题的都是css的bug出现文本问题的都是html的bug出现交互有问题的都是js的bug功能相关抓包分析从接口 请求url 参数 接口响应来分析未发送请求属于前端bug接口请求url错误传参错误属于前端bug接口返回数据错误属于后端bug性能相关页面加载慢或者提交表单慢抓包查看请求耗时如果耗时长就属于后端bug3.postman接口测试怎么做接口测试就和普通功能测试没什么区别区别就是功能测试是在页面上输入值提交数据看结果而接口测试没有页面通过接口规范文档上的调用地址请求参数拼接报文然后发送请求检查返回结果。步骤打开postman填写接口信息结合测试用例组合变换参数信息后查看返回的json数据与prd产品需求文档是否一致功能测试单接口测试正常参数全部必填参数全部参数必填非必填全部参数必填 部分非必填异常参数数据异常长度类型是否为空不满足业务等参数异常多参少参无参错误参数password写成pass等多接口测试业务场景测试用在冒烟测试里4.测试报告的组成概述包括项目背景需求分析测试时间测试环境测试过程评审记录测试范围测试用例功能实现清单列出是否已经按照测试计划实现功能缺陷统计测试缺陷统计测试用例执行情况统计测试统计情况资源统计执行情况问题统计问题列表遗留的问题测试总结测试结论是否通过测试内容测试用例的覆盖程度bug的解决程序测试风险5.测试用例设计方法黑盒等价类划分边界分析因果图和错误猜测白盒逻辑覆盖循环测试路径选择基本路径测试6.软件测试通过的标准是什么测试用例完全执行测试用例覆盖到所有的测试点并且缺陷的密度达到客户的需求7.什么是bug没有实现的功能完成了用户需求的功能但是运行时会出现一些功能或性能上的问题实现了用户不需求的多余功能8.简述软件测试的流程阅读相关技术文档参加需求评审会议根据最终确定的需求文档编写测试计划编写测试用例用例评审开发提交代码执行测试用例记录发现的问题验证bug与回归测试编写测试报告产品上线9.自动化测试脚本开发的主要步骤通过某些方式定位到我们要执行的对象目标对这个对象进行什么操作通过操作对定位到的对象赋值添加断言操作10.什么是冒烟测试冒烟测试就是在每日构建版本后对系统的基本功能进行简单的测试这种测试强调程序的主要功能进行的验证而不会对具体功能进行更深入的测试11.app测试和web测试不同的地方web项目是b/s架构基于浏览器的web测试只要更新了服务器端客户端就会同步更新app项目c/s架构 必须要有客户端app修改了服务端客户端用户所有核心版本都需要进行回归测试web项目需要监测响应时间cpu 内存app项目除了监测响应时间cpu内存外还需要监测流量电量web基于浏览器一般选择不同浏览器内核进行测试app必须依赖于手机或者pad分辨率尺寸设备系统12.一条bug记录都包含了哪些内容如何提交高质量的bug记录一条bug记录最基本应包含编号bug所属模块bug描述bug级别发现日期发现人修改日期修改人修改方法回归结果要有效的发现 Bug 需参考需求以及详细设计等前期文档设计出高效的测试用例然后严格执行测试用例对发现的问题要充分确认肯定然后再向外发布如此才能提高提交 Bug 的质量。13. 如何使用jmeter进行压力测试添加请求线程组配置-----设置线程组--------设置循环次数--------------设置压测持续时间添加聚合报告执行分析结果----主要看请求数响应时间越小越好tps服务器每秒钟处理的请求数数值越大越好14.自动化和手动测试的区别测试效率不同完成同等数目的测试启动自动化速度更快手工测试则需要消费更多的时间但是自动化测试的脚本开发比用例开发耗时长包括编写脚本、调试脚本、维护脚本而手工测试虽然也要对测试用例进行撰写、评审、修订由于用例编写更多为自然语言时间上会少执行可靠性不同自动化测试中可靠的按脚本执行后续定位复现有明确的配置路径可寻而手工测试往往会因为自己的判断导致测试出错并且在测出来的问题上有一部分是不能复现的。但是自动化的稳定来源于其死板而人的智慧体现在思维的跳跃跳跃的思维也会导致后期不易定位。覆盖率不同在同等时间内启动自动化测试能够覆盖更多的功能而手工测试只能覆盖小部分功能。但是自动化测试适合回归测试开发中的功能不划算。对于开发中功能需求或者实现的更改都会导致自动化脚本的变更开发中的功能更适合手工测试。15.项目是如何进行测试的了解被测系统被测功能和各个功能的业务逻辑分析需求文档整理测试点测试方法设计将测试方法用到项目中编写测试用例拿到被测软件后执行测试提交bug有效的进行回归测试测试总结16.mysql 有AB两个表A表用户表B表角色表C表是关系表查询用户都是什么角色17.mysql 查询成绩倒数第三的同学limit 返回查询条件的前几条或者中间某几行的数据可接收两个参数 第一个参数表示从第几行数据开始查第二个参数表示查几条数据。注初始记录行的偏移量是 0用法SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.SELECT * FROM table LIMIT 5; //检索前 5 个记录行 相当于limit 0,518.怎么测一个鼠标界面形状大小 是否符合要求是否有灯光显示是否有产品logo显示开关是否显示标识功能带线鼠标的话连接在机箱上是否能使用连接在笔记本上是否能使用蓝牙鼠标的话不插入连接器是否能使用电脑打开蓝牙是否能连接成功鼠标没电是否还能继续使用鼠标左键是否能点击点击后页面是否有反应鼠标左键是否能选中文本鼠标右键是否显示刷新复制等功能鼠标滚轴是否可以滑动页面鼠标点住左键是否可以拖动文件鼠标是否可以双击性能鼠标左右键最多能够使用多久电池可以支持多久鼠标摔了之后是否还能正常使用19.当开发说这不是一个bug的时候如何应付开发人员说不是bug有两种情况需求没有明确这个时候可以找到产品人员进行确认需不需要改动这种情况不可能发生所以不需要修改。这个时候我可以先尽可能的说出是BUG的依据是什么如果被用户发现或出了问题会有什么不良结果程序员可能会给你很多理由你可以对他的解释进行反驳。如果还是不行那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug我也只是建议的方式写进TD中如果开发人员不修改也没有大问题。如果确定是bug的话一定要坚持自己的立场让问题得到最后的确认。20.软件测试有哪些类型测试类型功能测试性能测试界面测试UI测试、接口测试、安全测试、兼容性测试、易用性测试、压力测试、负载测试感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取