软件测试面试必备—基础知识整理(必备技能)

发布时间:2026/7/31 11:13:54
软件测试面试必备—基础知识整理(必备技能) 1、软件缺陷有哪些1软件未实现产品说明书要求的功能2软件出现了产品说明书指明不应该出现的错误3软件实现了产品说明书未提到的功能4软件未实现产品说明书虽未明确提及但应该实现的目标5软件难以理解、不易使用、运行缓慢或者从测试员的角度看最终用户会认为不好为了发现软件产品中的各种缺陷而对软件产品进行验证和确认的活动过程此过程贯穿整个软件开发生命周期。简单的说软件测试是以发现错误为目的而执行的一个程序或系统的过程。2、你如何理解软件测试的目的验证软件需求和功能是否得到完整实现验证软件是否可以发布尽可能多的发现软件中的bug尽可能早的发现软件中的bug对软件质量做出合理评估预防下个版本可能出现的问题预防用户使用可能出现的问题发现开发过程中的问题和风险3、软件测试有哪些原则?所有测试的标准都是建立在用户需求之上 。合理控制测试深度与广度完全测试不可能测试的投入与产出要均衡。80-20原则软件中80%的bug可以在分析、设计与评审阶段就能被发现与修正16%的缺陷在系统的软件测试中发现最后剩下的4%是用户长期使用的过程中才能暴露出来。尽可能早的开展测试越早发现错误修改的代价越小。发现错误较多的程序段应进行更深入的测试。软件项目一启动软件测试也就是开始而不是等程序写完才开始进行测试 。软件开发人员即程序员应当避免测试自己的程序严格执行测试计划 排除测试的随意性以避免发生疏漏或者重复无效的工作优秀测试人员应具备的素质1沟通能力与表达能力2好奇心与怀疑精神3责任感与抗压能力4自信心坚持自己的观点5耐心与细心6逆向思维的能力7善于学习与总结8团队协作精神9文档编写能力优秀测试人员应具备的技能1精通业务知识2具备软件编程能力比如C,C,JAVA等。3可以用脚本语言编写小测试工具4主流操作系统应用与网络知识可以搭建测试环境5熟练掌握各种数据库知识6精通软件测试理论与方法7掌握常用测试与开发工具的使用8优秀的文档编写能力4、说一说软件测试的组织架构1项目型的测试组织测试人员作为项目组的固定成员从头到尾的跟着项目走2智能型的测试组织测试人员参与到项目中是以独立的测试部门委派的方式进入3综合型的测试组织项目型与职能型的结构组合并加以改造而产生的。测试部门把测试人员分为常规项目测试人员与专项测试人员。测试部门会把常规测试人员长期委派到项目组中成为项目中的一员。专项测试人员一般由性能测试工程师、自动化测试工程师、安全性测试工程师等组成。只有当项目发生专门需求测试时测试部门才灵活把专项测试人员委派到各个项目组进行专项测试。5、软件测试常见分类有哪些1按照是否执行被测试软件来分静态测试是指不运行软件测试包括代码检查、静态结构分析、代码质量度量等主要对软件需求说明书、设计说明书、软件源代码进行检查与分析。动态测试指通过运行被测程序检查运行结果与预期结果的差异分析差异原因并分析软件运行效率、健壮性等性能。动态测试是目前公司主要的测试方式2按照测试技术分为黑盒测试和白盒测试黑盒测试黑盒测试又叫功能测试或数据驱动测试在完全不考虑程序内部结构和内部特性的情况下通过软件的外部表现来发现其缺陷和错误。白盒测试白盒测试也称结构测试或逻辑驱动测试它是按照程序内部的结构进行测试程序通过测试来检测产品内部逻辑是否按照设计规格说明书的规定正常进行检验程序中的每条通路是否都能按预定要求正确工作。3按照测试手段来分可以分为手工测试和自动化测试4按照过程阶段来分可以分为单元测试、集成测试、系统测试和验收测试单元测试通过模块(类/方法/函数)测试使代码达到设计要求 主要目的是针对编码过程中可能存在的各种错误例如用户输入验证过程中的边界值的错误。集成测试将经过单元测试的模块逐步组装成完整的程序。主要目的是检查各单元与其它程序部分之间的接口是否存在问题各模块功能之间是否有影响。系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起进行测试。系统测试是针对整个产品系统进行的测试目的是验证系统是否满足了需求规格的定义找出与需求规格不符或与之矛盾的地方 进行改正。验收测试验收测试是在软件产品完成了单元测试、集成测试和系统测试之后产品发布之前所进行的最后一次软件测试活动也称为交付测试。通常由业务专家或用户进行以确认产品能真正符合用户业务上的需要。6、软件开发流程和开发模型软件生命周期 计划-》需求分析-》设计-》程序编写-》测试-》运行/维护软件测试流程测试计划-》需求分析-》测试用例 -》测试用例执行-》提交bug-》回归测试瀑布模型适用于需求很明确的项目分阶段向下进行无法回溯迭代模型需求不明确迭代版本系统敏捷开发模型敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中软件项目被切分成多个子项目各个子项目的成果都经过测试具备集成和可运行的特征。换言之就是把一个大项目分为多个相互联系但也可独立运行的小项目并分别完成在此过程中软件一直处于可使用状态。测试驱动开发模型先编写测试代码再写开发代码7、软件测试模型有哪些V模型反映了测试与开发阶段之间一一对应的特点测试在开发之后出错后回归测试 量大W模型测试伴随整个开发周期测试与开发同步进行有利于尽早发现问题H模型软件测试活动完全独立与其他流程并行感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取