2025/12/29 2:27:32
网站建设
项目流程
浙江平台网站建设找哪家,玉田建设局网站,服务器免费,wordpress百度自动推送安装前面看到了一些面试题#xff0c;总感觉会用得到#xff0c;但是看一遍又记不住#xff0c;所以我把面试题都整合在一起#xff0c;都是来自各路大佬的分享#xff0c;为了方便以后自己需要的时候刷一刷#xff0c;不用再到处找题#xff0c;今天把自己整理的这些面试题…前面看到了一些面试题总感觉会用得到但是看一遍又记不住所以我把面试题都整合在一起都是来自各路大佬的分享为了方便以后自己需要的时候刷一刷不用再到处找题今天把自己整理的这些面试题分享出来。一、京东软件测试岗面试30题干货1、黑盒测试的测试用例常见设计方法都有哪些请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。1等价类划分 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.2边界值分析法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.3错误猜测法基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.4因果图方法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图逻辑模型. 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.5正交表分析法可能因为大量的参数的组合而引起测试用例数量上的激增同时这些测试用例并没有明显的优先级上的差距而测试人员又无法完成这么多数量的测试就可以通过正交表来进行缩减一些用例从而达到尽量少的用例覆盖尽量大的范围的可能性。6场景分析方法指根据用户场景来模拟用户的操作步骤这个比较类似因果图但是可能执行的深度和可行性更好。7状态图法通过输入条件和系统需求说明得到被测系统的所有状态通过输入条件和状态得出输出条件通过输入条件、输出条件和状态得出被测系统的测试用例。8大纲法大纲法是一种着眼于需求的方法为了列出各种测试条件就将需求转换为大纲的形式。大纲表示为树状结构在根和每个叶子结点之间存在唯一的路径。大纲中的每条路径定义了一个特定的输入条件集合用于定义测试用例。树中叶子的数目或大纲中的路径给出了测试所有功能所需测试用例的大致数量。2、详细的描述一个测试活动完整的过程。供参考本答案主要是瀑布模型的做法项目经理通过和客户的交流完成需求文档由开发人员和测试人员共同完成需求文档的评审评审的内容包括需求描述不清楚的地方和可能有明显冲突或者无法实现的功能的地方。项目经理通过综合开发人员测试人员以及客户的意见完成项目计划。然后SQA进入项目开始进行统计和跟踪开发人员根据需求文档完成需求分析文档测试人员进行评审评审的主要内容包括是否有遗漏或双方理解不同的地方。测试人员完成测试计划文档测试计划包括的内容上面有描述。测试人员根据修改好的需求分析文档开始写测试用例同时开发人员完成概要设计文档详细设计文档。此两份文档成为测试人员撰写测试用例的补充材料。测试用例完成后测试和开发需要进行评审。测试人员搭建环境开发人员提交第一个版本可能存在未完成功能需要说明。测试人员进行测试发现BUG后提交给BugZilla。开发提交第二个版本包括Bug Fix以及增加了部分功能测试人员进行测试。重复上面的工作一般是3-4个版本后BUG数量减少达到出货的要求。如果有客户反馈的问题需要测试人员协助重现并重新测试。3、BUG管理工具的跟踪过程用BugZilla为例子测试人员发现了BUG提交到Bugzilla中状态为newBUG的接受者为开发接口人员开发接口将BUG分配给相关的模块的开发人员状态修改为已分配开发人员和测试确认BUG如果是本人的BUG则设置为接收如果是别的开发人员的问题则转发出去由下一个开发人员来进行此行为如果认为不是问题则需要大家讨论并确认后拒绝这个BUG然后测试人员关闭此问题。如果开发人员接受了BUG并修改好以后将BUG状态修改为已修复并告知测试在哪个版本中可以测试。测试人员在新版本中测试如果发现问题依然存在则拒绝验证如果已经修复则关闭BUG。4、您认为在测试人员同开发人员的沟通过程中如何提高沟通的效率和改善沟通的效果维持测试人员同开发团队中其他成员良好的人际关系的关键是什么尽量面对面的沟通其次是能直接通过电话沟通如果只能通过Email等非及时沟通工具的话强调必须对特性的理解深刻以及能表达清楚。运用一些测试管理工具如TestDirector进行管理也是较有效的方法同时要注意在TestDirector中对BUG有准确的描述。在团队中建立测试人员与开发人员良好沟通中注意以下几点一真诚、二是团队精神、三是在专业上有共同语言、四是要对事不对人工作至上当然也可以通过直接指出一些小问题而不是进入BUG Tracking System来增加对方的好感。5、你对测试最大的兴趣在哪里为什么回答这个面试题没有固定统一的答案但可能是许多企业都会问到的。提供以下答案供考最大的兴趣感觉这是一个有挑战性的工作测试是一个经验行业工作越久越能感觉到做好测试的难度和乐趣通过自己的工作能使软件产品越来越完善从中体会到乐趣回答此类问题注意以下几个方面尽可能的切合招聘企业的技术路线来表达你的兴趣例如该企业是数据库应用的企业那么表示你的兴趣在数据库的测试并且希望通过测试提升自己的数据库掌握能力。表明你做测试的目的是为了提升能力也是为了更好的做好测试提升能力不是为了以后转开发或其他的除非用人企业有这样的安排。不要过多的表达你的兴趣在招聘企业的范畴这外。比如招聘企业是做财务软件的可是你表现出来的是对游戏软件的兴趣或招聘是做JAVA开发的而你的兴趣是在C类语言程序的开发。6、你自认为测试的优势在哪里该面试也没有固定不变的答案但可参考以下几点并结合自身特点有韧性、有耐心、做事有条理性、喜欢面对挑战、有信心做好每一件事情、较强的沟通能力、从以前的经理处都得到了很好的评价表明我做的很好7、简述你在以前的工作中做过哪些事情比较熟悉什么。参考答案如下。我过去的主要工作是系统测试和自动化测试。在系统测试中主要是对BOSS系统的业务逻辑功能以及软交换系统的Class 5特性进行测试。性能测试中主要是进行的压力测试在各个不同数量请求的情况下获取系统响应时间以及系统资源消耗情况。自动化测试主要是通过自己写脚本以及一些第三方工具的结合来测试软交换的特性测试。在测试中我感觉对用户需求的完全准确的理解非常重要。另外就是对BUG的管理要以需求为依据并不是所有BUG均需要修改。测试工作需要耐心和细致因为在新版本中虽然多数原来发现的BUG得到了修复但原来正确的功能也可能变得不正确。因此要注重迭代测试和回归测试。8、在C/C中static有什么用途请至少说明两种1)在函数体一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2) 在模块内但在函数体外一个被声明为静态的变量可以被模块内所用函数访问但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是这个函数被限制在声明它的模块的本地范围内使用9、引用与指针有什么区别1) 引用必须被初始化指针不必。2) 引用初始化以后不能被改变指针可以改变所指的对象。3) 不存在指向空值的引用但是存在指向空值的指针。10、Internet采用哪种网络协议该协议的主要层次结构Internet物理地址和IP地址转换采用什么协议TCP/IP协议主要层次结构为 应用层/传输层/网络层/数链路层。ARP (Address Resolution Protocol)地据址解析协议11、说说你对集成测试中自顶向下集成和自底向上集成两个策略的理解要谈出它们各自的优缺点和主要适应于哪种类型测试自顶向下集成优点较早地验证了主要控制和判断点按深度优先可以首先实现和验证一个完整的软件功能功能较早证实带来信心只需一个驱动减少驱动器开发的费用支持故障隔离。缺点柱的开发量大底层验证被推迟底层组件测试不充分。适应于产品控制结构比较清晰和稳定高层接口变化较小底层接口未定义或经常可能被修改产口控制组件具有较大的技术风险需要尽早被验证希望尽早能看到产品的系统功能行为。自底向上集成优点对底层组件行为较早验证工作最初可以并行集成比自顶向下效率高减少了桩的工作量支持故障隔离。缺点驱动的开发工作量大对高层的验证被推迟设计上的错误不能被及时发现。适应于底层接口比较稳定高层接口变化比较频繁底层组件较早被完成。12、软件验收测试包括正式验收测试、alpha测试、beta测试三种测试。13、系统测试的策略有很多种的有性能测试、负载测试、强度测试、易用性测试、安全测试、配置测试、安装测试、文档测试、故障恢复测试、用户界面测试、恢复测试、分布测试、可用性测试。14、设计系统测试计划需要参考的项目文档有软件测试计划、软件需求工件、和迭代计划15通过画因果图来写测试用例的步骤为___、___、___、___及把因果图转换为状态图共五个步骤。 利用因果图生成测试用例的基本步骤是§ 分析软件规格说明描述中哪些是原因即输入条件或输入条件的等价类哪些是结果即输出条件并给每个原因和结果赋予一个标识符。§ 分析软件规格说明描述中的语义找出原因与结果之间原因与原因之间对应的是什么关系? 根据这些关系画出因果图。§ 由于语法或环境限制有些原因与原因之间原因与结果之间的组合情况不可能出现。为表明这些特殊情况在因果图上用一些记号标明约束或限制条件。 § 把因果图转换成判定表。§ 把判定表的每一列拿出来作为依据设计测试用例。16、请说出这些测试最好由那些人员完成测试的是什么代码、函数级测试一般由白盒测试人员完成他们针对每段代码或函数进行正确性检验检查其是否正确的实现了规定的功能。模块、组件级测试主要依据是程序结构设计测试模块间的集成和调用关系一般由测试人员完成。系统测试在于模块测试与单元测试的基础上进行测试。了解系统功能与性能根据测试用例进行全面的测试。17、 设计测试用例时应该考虑哪些方面即不同的测试用例针对那些方面进行测试设计测试用例时需要注意的是除了对整体流程及功能注意外还要注意强度测试、性能测试、压力测试、边界值测试、稳定性测试、安全性测试等多方面。测试用例需要考虑的四个基本要素是输入、输出、操作和测试环境另外测试用例需要考虑的是测试类型功能、性能、安全……这部分可以参照TP做答。此外还需要考虑用例的重要性和优先级18、 在windows下保存一个文本文件时会弹出保存对话框如果为文件名建立测试用例等价类应该怎样划分单字节如A双字节 AA、我我特殊字符 /‘。‘、-等保留字如com文件格式为8.3格式的文件名格式为非8.3格式的/,,*等九个特殊字符。19、假设有一个文本框要求输入10个字符的邮政编码对于该文本框应该怎样划分等价类特殊字符如10个*或英文字母如ABCDefghik小于十个字符如123大于十个字符如11111111111数字和其他混合如123AAAAAAA空字符保留字符20、软件测试项目从什么时候开始为什么软件测试应该在需求分析阶段就介入,因为测试的对象不仅仅是程序编码,应该对软件开发过程中产生的所有产品都测试,并且软件缺陷存在放大趋势.缺陷发现的越晚,修复它所花费的成本就越大.21、什么是回归测试?回归测试: (regression testing): 回归测试有两类用例回归和错误回归用例回归是过一段时间以后再回头对以前使用过的用例在重新进行测试看看会重新发现问题。错误回归就是在新版本中对以前版本中出现并修复的缺陷进行再次验证并以缺陷为核心对相关修改的部分进行测试的方法。22、单元测试、集成测试、系统测试的侧重点是什么单元测试针对的是软件设计的最小单元–程序模块面向过程中是函数、过程面向对象中是类。,进行正确性检验的测试工作,在于发现每个程序模块内部可能存在的差错.一般有两个步骤:人工静态检查\动态执行跟踪集成测试针对的是通过了单元测试的各个模块所集成起来的组件进行检验,其主要内容是各个单元模块之间的接口,以及各个模块集成后所实现的功能.系统测试针对的是集成好的软件系统作为整个计算机系统的一个元素,与计算机硬件\外设\某些支持软件\数据和人员等其他系统元素结合在一起,要在实际的运行环境中,对计算机系统进行一系列的集成测试和确认测试.23、一个测试工程师应具备那些素质1、责任心2、沟通能力3、团队合作精神4、耐心、细心、信心5、时时保持怀疑态度并且有缺陷预防的意识6、具备一定的编程经验24、你所了解的的软件测试类型都有哪些简单介绍一下。按测试策略分类1、静态与动态测试2、黑盒与白盒测试 3、手工和自动测试 4、冒烟测试 5、回归测试按测试阶段分类单元测试、集成测试、系统测试其他常见测试方法1、功能测试 2、性能测试 3、压力测试 4、负载测试 5、易用性测试 6、安装测试 7、界面测试 8、配置测试 9、文档测试 10、兼容性测试 11、安全性测试 12、恢复测试25、你认为做好测试计划工作的关键是什么明确测试的目标增强测试计划的实用性编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷因此软件测试计划的价值取决于它对帮助管理测试项目并且找出软件潜在的缺陷。因此软件测试计划中的测试范围必须高度覆盖功能需求测试方法必须切实可行测试工具并且具有较高的实用性便于使用生成的测试结果直观、准确坚持“5W”规则明确内容与过程“5W”规则指的是“What做什么”、“Why为什么做”、“When何时做”、“Where在哪里”、“How如何做”。利用“5W”规则创建软件测试计划可以帮助测试团队理解测试的目的Why明确测试的范围和内容What确定测试的开始和结束日期When指出测试的方法和工具How给出测试文档和软件的存放位置Where。采用评审和更新机制保证测试计划满足实际需求测试计划写作完成后如果没有经过评审直接发送给测试团队测试计划内容的可能不准确或遗漏测试内容或者软件需求变更引起测试范围的增减而测试计划的内容没有及时更新误导测试执行人员。分别创建测试计划与测试详细规格、测试用例应把详细的测试技术指标包含到独立创建的测试详细规格文档把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系测试计划主要从宏观上规划测试活动的范围、方法和资源配置而测试详细规格、测试用例是完成测试任务的具体战术。26、您认为做好测试用例设计工作的关键是什么白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试以最少的用例在合理的时间内发现最多的问题27、你的测试职业发展目标是什么测试经验越多测试能力越高。所以我的职业发展是需要时间累积的一步步向着高级测试工程师奔去。而且我也有初步的职业规划前3年累积测试经验不断的更新自己改正自己做好测试任务。28、测试结束的标准是什么从微观上来说在测试计划中定义比如系统在一定性能下平稳运行72小时目前Bug Tracking System中本版本中没有一般严重的BUG普通BUG的数量在3以下BUG修复率90%以上等等参数然后由开发经理测试经理项目经理共同签字认同版本Release。如果说宏观的则是当这个软件彻底的消失以后测试就结束了。29、一套完整的测试应该由哪些阶段组成可行性分析、需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试30、您是否了解以往所工作的企业的软件开发过程如果了解请试述一个完整的开发过程需要完成哪些工作分别由哪些不同的角色来完成这些工作您在以往的测试工作中都曾经具体从事过哪些工作其中最擅长哪部分工作开发过程—需求调研需求人员、需求分析需求人员、概要设计设计人员、详细设计(设计人员)、编码开发人员测试过程—需求评审、系统测试设计、概要设计评审、集成测试设计、详细设计评审、单元测试设计、测试执行测试工作的整个过程都做过擅长做测试设计过程决定质量软件的过程改进正是为了提高软件的质量将过往的种种经验教训积累起来。二、软件测试经典面试题都在这里前面5题必问第一题你为什么选择软件测试这个行业答因为我喜欢软件测试所以我选择软件测试作为职业。我觉得软件测试是一个比软件编程更具挑战性和创造性的职业。不要说自己是开发做不下去了才选择做软件测试也不要说不喜欢敲代码第二题谈谈你对软件测试的理解答软件测试是对软件功能进行验证并生成具有良好标准的软件产品而没有缺陷错误和故障的过程。第三题测试日志是什么答测试日志包含完整的软件测试过程中执行的操作列表并从测试日志中可以知道测试是通过还是失败。第四题手动测试和自动化测试之间的区别?答手动测试由用户手动执行自动化测试在预脚本的帮助下自动完成。自动化测试更加快速安全且具有成本效益而手动测试则更慢更不安全。第五题白盒和黑盒测试之间的区别?答白盒测试是一种软件测试方法用户必须知道内部结构的实现而在黑盒测试中不需要知道用户的内部工作模块。在白盒测试中用户应该具备编程技能而在黑盒测试中用户不需要编程技能。第六题黑盒测试有什么好处?答黑盒测试可以由几乎没有编程知识的用户完成并且比白盒测试过程快得多。在软件产品中可能会导致很少的错误因为软件的每个组件和模块都未经过测试。第七题白盒测试的优点是什么?答白盒测试可确保更高质量的软件产品因为每个组件都由程序员进行测试。这是一个漫长的过程需要比黑盒测试更多的时间。第八题什么是回归测试?答当软件被更改或修改时重新测试以检查软件功能是否正常工作并确保软件中没有无意的错误。这个测试过程称为回归测试。第九题什么是功能测试?答功能测试是针对客户规格的测试和验证过程并满足客户的所有要求。第十题测试用例和测试脚本两者有什么关系?三、软件测试常见的面试题1、测试分为哪几个阶段?一般来说分为5个阶段单元测试、集成测试、确认测试、系统测试、验收测试。2、软件测试方法有哪些黑盒、白盒、灰盒。3、数据库中sum和count的区别以及使用一般面试会把sum与order by 分组一起使用count:统计你查询出来的数据记录条数select count(*) from 学生表sum:求和select sum(chengji) from 学生表 where name‘张三’4、设计一个模块测试用例考察面试者的经验、用例设计能力、思维、以及掌握的测试方法是否全面从功能测试、接口测试、异常测试、性能、安全测试方面分析5、pytest如何管理测试用例掌握案例规则如以test开头类以Test命名等案例文件执行单个py如何执行多个文件夹的管理方式6、你为什么选择软件测试行业因为之前了解软件测试这个行业觉得他的发展前景很好。千万不要说自己是开发干不下去了才转的测试7、软件测试类型有哪些?测试类型有功能测试、性能测试、界面测试8、什么是测试用例 什么是测试脚本 两者的关系是什么?为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。测试脚本是为了进行自动化测试而编写的脚本。测试脚本的编写必须对应相应的测试用例9、怎样写测试计划和测试用例简单点测试计划里应有详细的测试策略和测试方法合理详尽的资源安排等至于测试用例那是依赖于需求(包括功能与非功能需求)是否细化到功能点是否可测试等。10、软件测试的策略是什么?软件测试策略在一定的软件测试标准、测试规范的指导下依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合。软件测试常见的笔试题判断题Y对N错1.软件测试的目的是尽可能多的找出软件的缺陷。(Y)2.Beta测试是验收测试的一种。(Y)3.验收测试是由最终用户来实施的。(N)4.项目立项前测试人员不需要提交任何工件。(Y)5.单元测试能发现约80%的软件缺陷。(Y)6.代码评审是检查源代码是否达到模块设计的要求。(N)7.自底向上集成需要测试员编写驱动程序。(Y)8.负载测试是验证要检验的系统的能力最高能达到什么程度。(N)9.测试人员要坚持原则缺陷未修复完坚决不予通过。(N)10.代码评审员一般由测试员担任。(N)11.我们可以人为的使得软件不存在配置问题。(N)12.集成测试计划在需求分析阶段末提交。(N)选择题1、下列逻辑覆盖测试方法中覆盖能力最强的是DA语句覆盖 B判定覆盖 C条件覆盖 D条件组合覆盖2、关于黑盒测试与白盒测试的区别下列说法正确的是AA白盒测试侧重于程序结构黑盒测试侧重于功能B白盒测试可以使用自动测试工具黑盒测试不能使用工具 测试试题100道精讲C白盒测试需要开发人员参与黑盒测试不需要D黑盒测试比白盒测试应用更广泛3、关于HTTP协议中状态码的表示,下列说法错误的是DA1**表示客户端错误B2*表示请求成功地接收 *C3**表示完成请求客户需要进一步细化请求D4**表示服务器错误4、在Linux中.要解包bugzilla.tar.gz并详细报告tar命令处理的文件名应使 用命令AAtar –xvzf bugzilla.tar.gz Btar –cvzf bugzilla.tar.gzCtar –cvzf bugzilla.tar.gz Dtar –cxvf bugzilla.tar.gz5、在Redhat linux 9中要安装一个软件包perl.i386.rpm,并且在安装时以#号显示安装进度应该使用的命令是AArpm –ih perl.i386.rpm Brpm –i perl.i386.rpmCrpm –e perl.i386.rpm Drpm –V perl.i386.rpm6、在Linux的vi编辑器中想要不保存修改而退出vi。需要使用命令是CA:qa B:qw C:q! D:!q7、某数据库中存放两个数据表教师表教师编号教师姓名和课 程表课程号课程名教师编号若要快速查出某位教师所授的 课程下列建立索引方式中正确的是CA在教师表上按教师编号建立索引B在课程表上按课程号建立索引C在课程表上按教师编号建立索引D在教师表上按教师姓名建立索引8、要查询book表中所有书名bookname中包含“ 计算机”的书籍情况可使用语句BA. SELECT * FROM book WHERE bookname LIKE ‘计算机’B. SELECT * FROM book WHERE book_name LIKE ‘%计算机%’C. SELECT * FROM book WHERE book_name’计算机’9、下列关于alpha测试的描述中正确的是(AD)A.alpha测试需要用户代表参加B.alpha测试不需要用户代表参加C.alpha测试是系统测试的一种D.alpha测试是验收测试的一种10、软件测试计划评审会需要哪些人员参加?(ABCD)A.项目经理B.SQA负责人C.配置负责人D.测试组四、全网最全软件测试面试题含答案性能测试功能测试接口测试自动化测试性能测试方面简述性能测试流程1.分析性能需求。2.制定性能测试计划。3.编写测试用例4.搭建测试环境准备好测试数据5.编写性能测试脚本6.性能测试脚本调优。7.设计测试场景。8.分析测试结果。9.回归性能测试。10.编写测试报告。你们性能测试在什么环境什么时间执行我们会搭建一套独立的性能测试环境进行测试时间方面的话基准测试功能测试之后系统比较稳定的时候再做。负载测试夜深人静系统没人用的时候think_time的作用是什么模拟真实生产用户操作考察对服务器所造成的影响。在确定性能测试结果可信后如果发现以下问题按下面提供的思路来定位问题有验证码的功能怎么做性能测试1、将验证码暂时屏蔽完成性能测试后再恢复2、使用万能的验证码性能测试指标有哪些响应时间吞吐量cpu内存iodisk功能测试方面你对软件测试这个行业的看法为什么要选择软件测试软件测试是一个很有前途的职业我在该行业有了比较多的经验我觉得我很适合这个职位也想坚定地走下去。如果测试过程中发现bug但是开发人员认为不是bug你应当怎么处理首先将问题提交到缺陷管理平台里面进行备案登记。然后要获取判断的依据和标准根据需求说明书、产品说明、设计文档等确认实际结果是否与计划有不一致的地方提供缺陷是否确认的直接依据;如果没有文档依据可以根据类似软件的一般特性来说明是否存在不一致的地方来确认是否是缺陷;根据用户的一般使用习惯来确认是否是缺陷;与设计人员、开发人员和产品经理等相关人员探讨确认是否是缺陷。合理的论述向测试经理说明自己的判断的理由注意客观、严谨不参杂个人情绪。等待产品经理做出最终决定如果仍然存在争议跟测试经理确认在发上线报告时把这个bug的风险遗留预警让全项目方的人都知悉这个情况。设计测试用例的方法有哪些等价类、边界值、判定表、因果图。软件测试的策略是什么?软件测试策略在一定的软件测试标准、测试规范的指导下依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合。测试人员在软件开发过程中的任务是什么1尽可能早的找出系统中的Bug2避免软件开发过程中缺陷的出现3衡量软件的品质保证系统的质量4关注用户的需求并保证系统符合用户需求。总的目标是确保软件的质量。接口自动化测试方面get和post的区别Get请求浏览器会把http header和data一起发送服务器返回200响应码Psot请求浏览器先发送header服务器响应100continue然后再发送data服务器返回200响应码Post的安全性比get高接口自动化中的关联怎么处理把上一个请求返回的结果传入到下一个请求的参数中将请求的结果反射到一个类属性使用setattr函数下一个请求去调用这个类属性自动化测试怎么校验结果断言 预期结果与实际结果对比数据库校验根据测试场景来查询数据库里的数据和请求之前的数据进行比对说一说你对于参数化和数据驱动的理解这个问题牵扯到自动化测试中很重要的两个概念参数化和数据驱动。其实在我看来他们两个是一回事–测试脚本与数据的分离。举个例子你的登录脚本原本固定写了一组测试数据用户名、密码。每次改数据还要改脚本我要把数据和脚本分离出来那就把用户名、密码提取到外面最好放在一个外部文件中这个就叫参数化。对于性能测试来说我想保证每个虚拟用户都使用不同的用户名和密码登录这样更加贴近真实的业务场景。对于自动化测试来说我想测试多种数据组合–比如各种类型的用户名、密码。不管是哪种场景都要有多组数据但登录操作流程固定不变。这个就叫数据驱动。对于一般开发语言的单元测试框架都有数据驱动的功能比如Python的ddt模块TestNG的DataProvider注解。接口产生的垃圾数据如何清理跟上面一样造数据和数据清理需用python连数据库了做增删改查的操作测试用例前置操作setUp做数据准备后置操作tearDown做数据清理WebUI自动化测试方面selenium中如何判断元素是否存在没有提供原生的方法判断元素是否存在一般我们可以通过定位元素异常捕获的方式判断selenium中hidden或者是display none的元素是否可以定位到不可以想点击的话可以用js去掉dispalaynone的属性如何提高selenium脚本的执行速度1.优化测试用例。2.减少不必要的操作步骤。3.中断页面加载。4.使用Selenium grid。什么是持续集成频繁的将代码集成到主干持续性的进行项目的构架以便能能够快速发现错误防止分支大幅度偏离主干什么是分层测试1.数据层2.接口层’3.UI层App测试方面请说明IOS手机和Android手机系统有什么区别两者运行机制不同IOS采用的是沙盒运行机制安卓采用的是虚拟机运行机制。两者后台制度不同IOS中任何第三方程序都不能在后台运行安卓中任何程序都能在后台运行直到没有内存才会关闭。你觉得app的性能测试即专项测试需要重点关注那些方面内存、cpu占用、耗电量、流量等请简要介绍一下安卓系统四层架构从上到下依次是应用程序层、应用程序框架层、系统运行库层、Linux核心层试过程中遇到app出现crash或者ANR你会怎么处理可以先把日志过滤出来 adb logcat | findstr xxxxx(过滤日志信息) 然后再搜索其中的关键字比如exception、crash看看是那些方法或者异常导致了问题的发送初步定位问题原因后可以交给开发人员去具体查找深层原因并修复。请简单介绍一下实用过的安卓UI自动化测试工具appium是一个移动端的自动化框架可用于测试原生应用移动网页应用和混合型应用且是跨平台的。robotium是一款国外的Android自动化测试框架主要针对Android平台的应用进行黑盒自动化测试它提供了模拟各种手势操作点击、长按、滑动等、查找和断言机制的API能够对各种控件进行操作。五、全栈自动化测试面试题一、Web自动化测试面试题1.Selenium中hidden或者是display none的元素是否可以定位到不能,可以写JavaScript将标签中的hidden先改为0再定位元素。2.Selenium中如何保证操作元素的成功率也就是说如何保证我点击的元素一定是可以点击的添加元素智能等待时间 driver.implicitly_wait(30)添加强制等待时间(比如python中写 sleep)try 方式进行 id,name,clas,x path, css selector 不同方式进行定位如果第一种失败可以自动尝试第二种3.如何提高Selenium脚本的执行速度代码优化多任务分布式部署都是可以提升脚本执行速度的。4.用例在运行过程中经常会出现不稳定的情况也就是说这次可以通过下次就没办法通过了如何去提升用例的稳定性time.sleep( )driver.implicitly_wait(30)多用 try 捕捉处理异常5.你的自动化用例的执行策略是什么自动化测试与软件开发本质上是一样的利用自动化测试工具经过测试需求分析设计出自动化测试用例从而搭建自动化测试的框架设计与编写自动化脚本验证测试脚本的正确性最终完成自动化测试测试脚本即主要功能为测试的应用软件并输出测试结果。6.自动化测试的时候是不是需要连接数据库做数据校验从数据库层面来进行数据校验可以更方便验证系统的数据处理方面是否正确数据处理逻辑正常后UI层面上的校验也是需要做的。7.id,name,class,xpath, css selector这些属性你最偏爱哪一种为什么css 、xpath 几乎所有的元素都可以定位到,但是它们的短处在于页面上更改了元素后位置很容易改变所以首先使用的还是id或者name等。8.如何去定位页面上动态加载的元素触发动态加载元素的事件直至动态元素出现进行定位9.如何去定位属性动态变化的元素xpath或者css通过同级、父级、子级进行定位10.点击链接以后Selenium是否会自动等待该页面加载完毕会的11.什么是page object设计模式简单来说就是把页面作为对象在使用中传递页面对象来使用页面对象中相应的成员或者方法能更好的体现面向对象语言比如java或者python的面向对象和封装特性。12.如何在定位元素后高亮元素以调试为目的用JavaScript等脚本来重置元素属性给定位的元素加背景、边框。13.什么是断言断言是指定一个程序必须已经存在的状态的一个逻辑表达式或者一组程序变量在程序执行期间的某个点上必须满足的条件。14.你觉得自动化测试最大的缺陷是什么不稳定可靠性不易维护成本与收益二、APPUI自动化测试面试题1.Android APP 内存不足时 系统如何结束进程获得内存系统优先结束被挂起暂停的进程释放内存。2.APP 测试常见的严重问题有哪些 分别引起的原因有哪些常见的有 crash、ANR应用无响应、卡死一般由设备碎片化、网络波动大、内存泄漏、代码编写错误。3.请简单介绍你曾使用过的一款 APP 自动化测试工具 开放性问题带点主观意见对比其他熟悉的自动化工具的优缺点。自动化的简要方案简要的同时关键内容请具体。提示 appnium 等4.Android 测试与 web 测试有什么区别相同点设计测试用例均依据等价类、边界值等方法测试原理相同大多数都采用黑盒测试方法来验证业务功能需要检查界面布局、风格和按钮是否美观、统一等UI测试测试页面载入和翻页的速度、登录时长是否溢出等问题性能测试测试应用系统的稳定性不同点手机作为通信工具通信等一些行为会对 APP产生(中断测试)。手机用户对 app 产品的安装卸载操作从上一版本/上两个版本直接升级到最新。web 自动化测试使用的工具较常用的是 selenium,而 android手机自动化测试比较常用的自动化工具是 monkey、monkeyrunner、Appium测试工具不一样5.app 测试有哪几种环境本地环境 app 安装的手机环境和电脑搭建的自动化测试环境比如安卓 SDK 等等 。服务器环境war 包部署的服务器服务器可以通过浏览器访问也可以通过 app去访问。访问的是 web 程序的接口6.简单介绍一下 Android SDK 的安装步骤下载 jdk 和安卓 sdk安装 jdk 配置环境变量java_home、 classpath、 path7.请简要介绍一下移动应用及其服务端的测试点移动应用主要有权限、安装运行卸载、UI、功能、性能、中断、兼容性、安全性、回归、升级更新、用户体验。app 的 11 大测试点服务端有接口测试、性能测试、安全测试。8.如何判断 app 的 bug 是客户端问题还是后台问题这个要根据业务来一般数据的问题前端的问题多些一般做法是有问题提给前端开发他们知道是他们自己的问题还是后台返回的数据问题。9.安卓中如何取出日志信息把安卓系统日志信息实时导入到本地 adb logcat -v time d:\mylog.log运行使用某个 app实时获取该 app 的日志信息cmd 里面的返回信息 adb shell monkey -p com.android.calendar -v 1000 d:\mylog2.log10.常见的 adb 命令查看当前连接的设备 adb devices安装软件 adb install 路径\xx.apk卸载软件 adb uninstall 包名从电脑上发送文件到设备 adb push 本地路径 远程路径adb push C:\test1.txt /sdcard/从设备上下载文件到电脑 adb pull 远程路径 本地路径adb pull /sdcard/test1.txt D:实时获取日志 adb logcat -v time D:\mylog.log登录终端设备 shell adb shell查找包名/活动名 adb logcat | findstr START脚本中 cmp 后面的值就是 包名/activity 名称启动 APP 启动adb shell am start -n packageName/activity关闭 app语法 adb shell am force-stop 包名监控 APP 启动时间adb shell am start -W packageName/activityMonkey 命令adb shell monkey -v -p mypackage 5011.APP 这么多主流机型如何测试 我们公司就买了魅族华为小米iphone7、iphone8 、iphone8plus 、iphonex 测试兼容性有些没有的机型先借用同事的手机进行测试同时申请公司购买或者采用云真机。12.App 崩溃闪退可能是什么原因导致的缓存垃圾过多由于安卓系统的特性,如果长时间不清理垃圾文件.会导致越来越卡.也 会出现闪退情况.运行的程序过多,导致内存不足应用版本兼容问题如果应用版本太低会导致不兼容造成闪退。此外有些新版本 在调试中也会造成应用闪退。解决方法如果是版本太旧更新为新版本即可如果是新版本闪退 可能是应用在改版调 试可卸载后安装旧版。检查 APP 中访问网络的地方组件中的 ImageView 是否可以正常的下载并显示到 app 页面上。检查 APP 的 sdk 和手机的系统是否兼容。在一些特定情况下的闪退,比如播放视频,在 Android5.0 升级到 Android6.0 的时候,有些系统 API 老版本 有,新版本没有,到时回去对象的时候失败,报空,系统就会出现闪退13.Appium 都有哪些启动方式1.客户端启动2.命令行启动14.请简单介绍一下使用过的安卓 UI 自动化测试工具appium是一个移动端的自动化框架可用于测试原生应用移动网页应用和混合型应用且是跨平台的。robotium是一款国外的 Android 自动化测试框架主要针对 Android 平台的应用进行黑盒自动化测试它提供了模拟各种手势操作点击、长按、滑动等、查找和断言机制的 API能够对各种控件进行操作。15.请说明 Android 手机和 IOS 手机系统有什么区别两者运行机制不同IOS 采用的是沙盒运行机制安卓采用的是虚拟机运行机制。两者后台制度不同IOS 中任何第三方程序都不能在后台运行安卓中任何程序都 能在后台运行直到没有内存才会关闭。IOS 中用于 UI 指令权限最高安卓中数据处理指令权限最高。三、接口自动化测试面试题1.Webdriver可以用来做接口测试吗接口测试有现成的模块来处理WebDriver是用于做WebUI自动化测试的。如果要实现接口测试可以使用Requests模块来实现2.按你的理解软件接口是什么就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。3.HTTP 和 HTTPS 协议区别https 协议需要到 CACertificate Authority证书颁发机构申请证书一般免费证书 较少因而需要一定费用http 是超文本传输协议信息是明文传输Https 协议是由 SSLHttp 协议构建的可进行加 密传输、身份认证的网络协议比http 协议安全http 和 https 使用的是完全不同的连接方式用的端口也不一样前者是 80后者是 4434.HTTPS 在哪一层HTTPS 在应用层。5.get 和 post 区别是什么POST 和 GET 都是向服务器提交数据并且都会从服务器获取数据。区别传送方式get 通过地址栏传输post 通过报文传输传送长度get 参数有长度限制受限于 url 长度而 post 无限制GET 产生一个 TCP 数据包对于 GET 方式的请求浏览器会把 http header 和 data 一并 发送出去服务器响应200 返回数据POST 产生两个 TCP 数据包对于 POST浏览器先 发送 header服务器响应 100continue浏览器再发送 data服务器响应 200 ok 返回数 据get 请求参数会被完整保留在浏览历史记录里而 post 中的参数不会被保留在做数据查询时建议用 GET 方式而在做数据添加、修改或删除时建议用 post 方式6.常见的 POST 提交数据方式主要有四种方式application/x-www-form-urlencoded、multipart/form-data、application/json、text/xml 等。7.什么是 Http 协议无状态协议?怎么解决 HTTP 协议无状态协议无状态是指协议对于事务处理没有记忆能力服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后服务器根据请求会给我们发送数据过来但是发送完不会记录任何信息。HTTP 是一个无状态协议这意味着每个请求都是独立的Keep-Alive 没能改变这个结果。缺少状态意味着如果后续处理需要前面的信息则它必须重传这样可能导致每次连接传送的数据量增大。另一方面在服务器不需要先前信息时它的应答就较快。HTTP协议这种特性有优点也有缺点优点在于解放了服务器每一次请求“点到为止”不会造成不必要连接占用缺点在于每次请求会传输大量重复的内容信息。客户端与服务器进行动态交互的 Web 应用程序出现之后HTTP 无状态的特性严重阻碍了这些应用程序的实现毕竟交互是需要承前启后的简单的购物车程序也要知道用户到底在之前选择了什么商品。于是两种用于保持 HTTP 连接状态的技术就应运而生了一个是 Cookie而另一个则是 Session。8.cookie 和 session 的区别cookie 数据存放在客户的浏览器上session 数据放在服务器上cookie 不是很安全别人可以分析存放在本地的 cookie 并进行 cookie 欺骗考虑到安全应当使用 sessionsession 会在一定时间内保存在服务器上。当访问增多会比较占用你服务器的性能考虑到减轻服务器性能方面应当使用 cookie单个 cookie 保存的数据不能超过 4K很多浏览器都限制一个站点最多保存 20 个 cookie可以将登陆信息等重要信息存放为 session其他信息需要保存可以放在 cookie9.请求接口中常见的返回状态码1xx – 信息提示表示临时的响应。客户端在收到常规响应之前准备接收一个或多个 1xx 响应2xx – 成功表明服务器成功地接受了客户端请求3xx – 重定向客户端浏览器必须采取更多操作来实现请求。例如浏览器可能不得不请 求服务器上的不同的页面或通过代理服务器重复该请求4xx – 客户端错误发送错误客户端有问题。例如客户端请求不存在的页面客户端 未提供有效的身份证验证信息5xx – 服务器错误服务器由于遇到错误而不能完成该请求常见的返回码有200 OK - [GET]服务器成功返回用户请求的数据201 CREATED - [POST/PUT/PATCH]用户新建或修改数据成功202 Aceepted - [*]表示一个请求已经进入后台排队异步任务204 NO CONTENT - [DELETE]用户删除数据成功400 INVALID REQUEST - [POST/PUT/PATCH]用户发出的请求有错误服务器没有进行 新建或修改数据的操作401 Unauthorized -[*] 表示用户没有权限令牌、用户名、密码错误403 Forbidden -[*] 表示用户得到授权与 401 错误相对但是访问被禁止404 NOT FOUND -[*]用户发出的请求针对得到是不存在的记录服务器没有进行操作 该操作是幂等的406 Not Acceptable - [GET]用户请求的格式不可得比如用户请求 JSON 格式但 是只有 XML 格式500 INTERNAL SERVER ERROR - [*]服务器发生错误用户将无法判断发出的请求是 否成功10.什么是 DNSDNS 是域名系统 (Domain Name System)DNS 是用来做域名解析的,它会在你上网输入网址后把它转换成 IP然后去访问对方服务器没有它你想上百度就要记住百度的 IP但有了 DNS 的处理你只需要记住对应网站的域名即网址就可以了。11.请问你们公司是如何做接口测试的接口测试实际跟一般测试不同就是测试用例的设计部分。获取接口规范。设计接口测试功能用例主要从用户角度出发看接口能否实现业务需求用例设计就是黑 盒用例那一套。各种入参验证正常情况异常情况包括输入参数个数不对类型不对可选/必选还 有考虑参数有互斥或关联的情况。接口返回值各种验证符合接口文档需求了解接口实现逻辑实现逻辑覆盖语句/条件/分支/判定/…接口能并发执行吗、安全吗性能满足要求吗?采用工具或者自写代码来验证。发现问题跟功能测试一样该报 bug 报 bug该跟踪状态的跟踪状态。12.怎么设计接口测试用例通常设计接口测试用例需要考虑以下几个方面是否满足前提条件有些接口需要满足前提才可成功获取数据。常见的需要登录 Token逆向用例针对是否满足前置条件假设为 n 个条件设计 0~n 条用例是否携带默认值参数正向用例带默认值的参数都不填写、不传参必填参数都填写正确且存在的“常规”值其他不填写设计 1 条用例业务规则、功能需求这里根据时间情况结合接口参数说明可能需要设计 N 条正向用例和逆向用例参数是否必填逆向用例针对每个必填参数都设计 1 条参数值为空的逆向用例参数之间是否存在关联有些参数彼此之间存在相互制约的关系参数数据类型限制逆向用例针对每个参数都设计 1 条参数值类型不符的逆向用例参数数据类型自身的数据范围值限制正向用例针对所有参数设计 1 条每个参数的参数值在数据范围内为最大值的正向用例13.你做接口测试测什么可用性测试根据约定的协议、方法、格式内容传输数据到接口经处理后返回期望的结果接口功能是否正确实现返回值测试 - 返回值除了内容要正确类型也要正确保证调用方能够正确地解析参数值边界值、等价类测试错误和异常处理测试输入异常值空值、特殊字符、超过约定长度等接口能正确处理且按预期响应输入错误的参数接口能正确处理并按预期响应多输入、少输入参数接口能正确处理且按预期响应错误传输数据格式如 json 格式写成 form 格式测试安全性测试主要指传输数据的安全性敏感数据如密码、秘钥等是否加密传输返回数据是否含有敏感数据如用户密码、完整的用户银行账号信息等接口是否对传入的数据做安全校验如身份 ID 加 token 类似校验接口是否防止恶意请求如大量伪造请求接口致使服务器崩溃性能测试如接口的响应时间、并发处理能力、压测处理情况并发请求相同的接口特别为 POST 请求接口的处理情况如插入了相同的记录导致 数据出错引发系统故障接口响应时长在用户可忍受的范围内对于请求量大的接口做压测确定最大的瓶颈点是否满足当前业务需要14.平常用什么工具测接口的常用 http 协议接口测试工具如postman、fiddler、jmeterwebService 接口用 SoapUI、jmeter 等。15.没有接口文档如果做接口测试本题主要考情商通俗来说就是忽悠能力先唬住面试官了再说进去了也是瞎测测随时 做好背锅的准备当然你肯定不能回答面试官不测(心理mmp脸上笑嘻嘻)接下来就是 扯犊子时间用抓包工具把接口抓取处理然后针对性进行测试接口中字段信息不清楚的找时间集中寻求开发解答。常用抓包工具 Fiddler、Charles 等16.在手工接口测试或者自动化接口测试的过程中上下游接口有数据依赖如何处理用一个全局变量来处理依赖的数据比如登录后返回 token其它接口都需要这个 token那就用全局变量来传 token 参数。17.依赖于第三方数据的接口如何进行测试mock接着面试官会问你如果 mock 的然后你就顺着坑继续挖搭建 mock 服务。18.接口测试中依赖登录状态的接口如何测试依赖登录状态的接口的本质上是在每次发送请求时需要带上 session 或者 cookie 才能发送成功在构建 POST 请求时添加必要的 session 或者 cookie19.如何模拟弱网做测试Fiddler 和 charles 都可以模拟弱网测试平常说的模拟丢包也是模拟弱网测试。具体可以看《几种弱网模拟方法总有一种适合你》20.你平常做接口测试的过程中发现过哪些 bug?面试官出这个题主要是想知道你是不是真的做过接口测试毕竟现在很多小伙伴简历经过 包装不包装连面试机会都没有没办法为了生存能理解常规错误接口没实现没按约定返回结果边界值处理出错等。输入异常值空值、特殊字符、超过约定长度等接口抛错没做封装处理输入错误的参数、多输入、少输入参数接口可能出现的错误安全性问题如明文传输、返回结果含有敏感信息没对用户身份信息做校验没做恶意请 求拦截等性能问题如接口并发插入多条相同操作响应时间过长接口压测出现瓶颈等21.当一个接口出现异常时候你是如何分析异常的先抓包用 fiddlercharles工具抓包或者浏览器上 F12 调试工具APP 上的话那就 用 Fiddler做代理通过手机设置代理去看请求和返回报文查看后端日志如 Linux 系统通过 xhell 连上服务器查看接口日志查看是否有报错信息 命令tail -f 日志文件22.如何分析一个 bug 是前端还是后端的平常提 bug 的时候前端开发和后端开发总是扯皮不承认是对方的 bug。这种情况很容易判断先抓包看请求报文对着接口文档看请求报文有没问题有问题就是前端发的数据不对请求报文没问题那就看返回报文返回的数据不对那就是后端开发的问题咯。23.你们做接口测试自动化吗现在针对大量应用普遍推崇做接口测试自动化维护成本低、收益高。常用的工具有许多如 Jmeter、Robot Framework、pytest 等。24.列出几个 JMeter 监听器一些 JMeter 监听器是集合报告汇总报告查看结果树用表格查看结果图形结果BeanShell Listener摘要报告等25.在 python 中进行数据驱动测试在 unittest 中没有自带的数据驱动我们得借助 ddt 来实现首先我们得在 python运行环境中安装 ddt用下列命令安装pip install ddt另 外 一 个 测 试 框 架 pytest 它 自 带 数 据 驱 动 实 现 是 通 过pytest.mark.parametrize(argnames,argvalues) 来实现参数化的。也可以根据自己需求用 python 实现数据的读取和驱动。26.接口自动化中的关联怎么处理把上一个请求返回的结果传入到下一个请求的参数中将请求的结果反射到一个类属性使用 setattr函数下一个请求去调用这个类属性27.自动化测试怎么校验结果断言 预期结果与实际结果对比数据库校验根据测试场景来查询数据库里的数据和请求之前的数据进行比对。28.具体的在这个项目中自动化怎么应用到实际的您对自动化结果的分析完成所有的自动化测试框架的设计和实现后进行接口测试然后集成到jenkins配置定时执行生成 html 报表查看测试通过率查看接口的功能每次发版时进行回归测试新功能开发未提测前。感谢每一个认真阅读我文章的人作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。视频文档获取方式这份文档和视频资料对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方小卡片即可自行领取。