2023年最新最全软件测试面试题大全

打印 上一主题 下一主题

主题 1073|帖子 1073|积分 3219

一、面试基础题
   简述测试流程:
  1、阅读相关技能文档(如产品PRD、UI设计、产品流程图等)。
  2、参加需求评审会议。
  3、根据最终确定的需求文档编写测试计划。
  4、编写测试用例(等价类划分法、界限值分析法等)。
  5、用例评审(主要到场职员:开发、测试、产品、测试leader)。
  6、开发提交接码至SVN大概GIT ,配管搭建测试情况。
  7、实行测试用例,记载发现的题目。
  8、验证bug与回归测试。
  9、编写测试报告。
  10、产品上线。
  补充测试用例设计过程:
  根据需求得出测试需求
  设计测试方案,评审测试方案
  方案评审通过后,设计测试用例,再对测试用例举行评审什么是软件测试?软件测试的目标与原则
  使用人工或自动手段,来运行或测试某个系统的过程。其目标在于查验它是否满足规定的需求或弄清预期效果与实际效果之间的差别。
  软件测
  试的目标:
  测试是程序的实行过程,目标在于发现错误。
  一个成功的测试用例在于发现至今未发现的错误。
  一个成功的测试是发现了至今未发现的错误的测试。
  确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明白的书面说明。
  确保产品满足性能和效率的要求。
  确保产品是健壮的和适应用户情况的。
  问:软件生存周期及其模子是什么?
  软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。在履历需求、分析、设计、实现、摆设后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐灭亡。如许的一个过程,称为"生命周期模子"(Life Cycle Model)。
  什么是软件质量?
  软件质量:软件产品的特性可以满足用户的功能、性能需求的能力。
  自动化测试脚本开发的主要步骤:
  1、通过某些方式定位到我们要实行的对象、目标( Target)
  2、对这个对象举行什么操纵(command)
  3、通过操纵对定位到的元素赋值(value)
  4、添加断言操纵
  目前主要的测试用例设计方法是什么?
  白盒测试:逻辑覆盖、循环覆盖、根本路径覆盖
  黑盒测试:界限值分析法、等价类划分、错误推测法、因果图法、状态图法、测试大纲法、随机测试场景法
  常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用
  (1)等价类划分划分
  等价类是指某个输入域的子聚集。在该子聚集中,各个输入数据对于揭露程序中的错误都是等效的。并公道地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据公道划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试效果。等价类划分可有两种不同的情况:有效等价类和无效等价类。
  (2)界限值分析法
  界限值分析方法是对等价类划分方法的补充。测试工作履历告诉我,大量的错误是发生在输入或输出范围的界限上,而不是发生在输入输出范围的内部。因此针对各种界限情况设(面试题目:什么样的工作情况恰当你&#from一个常见的软件测试面试题来自end#lt;结束)计测试用例,可以查出更多的错误。
  使用界限值分析方法设计测试用例,起首应确定界限情况。通常输入和输出等价类的界限,就是应偏重测试的界限情况。应当选取恰好等于,刚刚大于或刚刚小于界限的值作为测试数据,而不是选取等价类中的典型值或恣意值作为测试数据。
  (3)错误推测法
  基于履历和直觉推测程序中全部可能存在的各种错误,从而有针对性的设计测试用例的方法。
  错误推测方法的根本头脑:列举出程序中全部可能有的错误和容易发生错误的特别情况,根据他们选择测试用例。比方,在单位测试时曾列出的许多在模块中常见的错误。从前产品测试中曾经发现的错误等,这些就是履历的总结。另有,输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。
  (4)因果图方法
  前面先容的等价类划分方法和界限值分析方法,都是偏重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要查抄输入条件的组合不是一件容易的事情,即使把全部输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑接纳一种恰当于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就必要利用因果图(逻辑模子)。因果图方法最终生成的就是判定表。它恰当于查抄程序输入条件的各种组合情况。
  (5)正交表分析法
  有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有显着的优先级上的差距,而测试职员又无法完成这么多数量的测试,就可以通过正交表来举行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。
  (6)场景分析方法
  =指根据用户场景来模仿用户的操纵步骤,这个比较类似因果图,但是可能实行的深度和可行性更好。
  测试的策略有哪些?
  黑盒/白盒/灰盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)
  补充:公测是什么?另有没有其他的测试策略?测试策略和测试方法以及测试类型有什么区别?
  测试 策略分类:
  1、静态与动态测试
  2、黑盒与白盒测试
  3、手工和自动测试
  4、冒烟测试
  5、回归测试;
  按测试阶段分类:单位测试、集成测试、系统测试;
  其他常见测试方法:1、功能测试 2、性能测试 3、压力测试 4、负载测试 5、易用性测试 6、安装测试 7、界面测试 8、设置测试 9、文档测试 10、兼容性测试 11、安全性测12、恢复测试
  α测试是由一个用户在开发情况下举行的测试,也可以是公司内部的用户在模仿实际操纵情况下举行的受控测试,Alpha 测试不能由程序员或测试员完成。
  β测试是软件的多个用户在一个或多个用户的实际使用情况下举行的测试。开发者通常不在测试现场,Beta 测试不能由程序员或测试员完成。
  回归测试(对软件的新版本测试时,重复实行上一个版本测试时的用例,是为了验证缺陷是否真正修复,确认修复后是否影响其它功能);
  冒烟测试:对新版本测试之前,先验证下软件的根本功能是否实现,是否具备可测性。
  单位测试的策略有哪些?
  逻辑覆盖、循环覆盖、同行评审、桌前查抄、代码走查、代码评审、景泰数据流分析
  正交表测试用例设计方法的特点是什么?
  答:用最少的实验覆盖最多的操纵,测试用例设计很少,效率高,但是很复杂;对于根本的验证功能,以及二次集成引起的缺陷,一样平常都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;具体的情况下,正交表一样平常都很难做的。大多数,只在系统测试的时候使用此方法。
  补充:什么时候用系统测试,测试的每个阶段是什么,比如单位、集成、系统、公测,每个阶段必要什么技能,有什么要求
  软件的安全性应从哪几个方面去测试?
  (1) 用户认证机制:如数据证书、智能卡、双重认证、安全电子生意业务协议
  (2) 加密机制
  (3) 安全防护策略:如安全日志、入侵检测、隔离防护、毛病扫描
  (4) 数据备份与恢复手段:存储设备、存储优化、存储掩护、存储管理
  (5) 防病毒系统
  软件安全性测试包罗程序、数据库安全性测试。根据系统安全指标不同测试策略也不同。
  用户认证安全的测试要考虑题目:
  明白区分系统中不同用户权限
  系统中会不会出现用户辩论
  系统会不会因用户的权限的改变造成混乱
  用户登陆暗码是否是可见、可复制
  是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)
  用户退出系统后是否删除了全部鉴权标记,是否可以使用退却键而不通过输入口令进入系统
  系统网络安全的测试要考虑题目
  测试采取的防护步伐是否正确装配好,有关系统的补丁是否打上
  模仿非授权攻击,看防护系统是否结实
  接纳成熟的网络毛病查抄工具查抄系统相关毛病(即用最专业的黑客攻击工具攻击试一下,现在最常用的是 NBSI 系列和 IPhacker IP )
  接纳各种木马查抄工具查抄系统木马情况
  接纳各种防外挂工具查抄系统各组程序的外挂毛病
  数据库安全考虑题目:
  系统数据是否秘密(比如对银行系统,这一点就特别紧张,一样平常的网站就没有太高要求)系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这个系统的功能实现有了停滞)
  系统数据可管理性
  系统数据的独立性
  系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)
  α测试是由一个用户在开发情况下举行的测试,也可以是公司内部的用户在模仿实际操纵情况下举行的受控测试,Alpha 测试不能由程序员或测试员完成。
  β测试是软件的多个用户在一个或多个用户的实际使用情况下举行的测试。开发者通常不在测试现场,Beta 测试不能由程序员或测试员完成。
  需求测试的注意事项有哪些?
  是否使用了公司的模板
  文档内容是否符合规范
  全部的需求是分级是否清析适当?
  全部的需求是否具有一致性
  需求是否可行(即,该需求组合有解决方案)
  需求可否用己知的约束来实现
  需求是否足够(即,可以把它送到一个规范的开发组织,并有一个生产出所必要产品的公道的可能性)全部的其它需求是交织引用是否正确
  用户描述是否清楚
  是否用客户的语言来描述需求
  每个需求描述是否清楚没有岐义,可以移交给一个独立的组去实现时也能理解
  是否全部的需求都是可验证的
  是否每条需求都具有独立性,即使发生了变化也不会影响其它需求
  性能指标是否明白
  非功能性需求是否得到充实体现
  是否完整列出适用的尺度或协议
  尺度和协议之间是否存在辩论
  问:你在测试中发现了一个 bug ,但是开发司理认为这不是一个 bug ,你应该怎样解决。
  将题目提交到缺陷管理库内里举行存案。
  要获取判断的依据和尺度:根据需求说明书、产品说明、设计文档等,确认实际效果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;如果没有文档依据,可以根据类似软件的一样平常特性来说明是否存在不一致的地方,来确认是否是缺陷;根据用户的一样平常使用习惯,来确认是否是缺陷;
  与设计职员、开发职员和客户代表等相关职员探究,确认是否是缺陷;
  公道的论述,向测试司理说明本身的判断的理由,注意客观、严谨,不参杂个情面绪。
  等待测试司理做出最终决定,如果仍旧存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。
  问:给你一个网站,你怎样测试?
  1、查找需求说明、网站设计 m 等相关文档,分析测试需求。
  2、订定测试计划,确定测试范围和测试策略,一样平常包罗以下几个部分:
  功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试
  3、设计测试用例:
  功能性测试可以包罗,但不限于以下几个方面:
  链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回等。提交功能的测试。
  多媒体元素是否可以正确加载和表现。多语言支持是否可以大概正确表现选择的语言等。
  界面测试可以包罗但不限于一下几个方面:
  页面是否风格统一,雅观
  文字查抄
  对于必须但为安装的空间,是否提供自动下载并安装的功能
  控件是否正常使用
  页面布局是否公道,重点内容和热门内容是否突出
  问:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
  300 个用户在一个客户端上,会占用客户机更多的资源,而影响测试的效果。线程之间可能发生干扰,而产生一些非常。300 个用户在一个客户端上,必要更大的带宽。IP 地点的题目,可能必要使用 IP Spoof 来绕过服务器对于单一 IP 地点最大毗连数的限制。全部用户在一个客户端上,不必考虑分布式管理的题目;而用户分布在不同的客户端上,必要考虑使用控制器来团体调配不同客户机上的用户。同时,还必要给予相应的权限设置和防火墙设置。
  你工作中遇到最具价值的bug,就是重大bug咯,比方app性能测试测哪些,那你就看一看性能测试的视频咯
  软件的安全性应从哪几个方面 去测试?
  软件安全性测试包罗程序、数据库安全性测试。根据系统安全指标不同测试策略也不同。
  用户认证安全的测试要考虑题目:
  明白区分系统中不同用户权限
  系统中会不会出现用户辩论
  系统会不会因用户的权限的改变造成混乱</

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

种地

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表