软件测试面试中最为经典的五个面试题

1、测试基础面试题
  问:介绍一下测试中 v 模型,以及各个阶段测试的概念、应用场景。以及你认为其中最重要的测试是哪一项。
  答:测试 v 模型:
  V 模型中,前半段是项目需要 – 规格说明 – 概要设计 – 详细设计;后半段是验收测试 – 系统测试 – 集成测试 – 单元测试
  单元测试:是最小单元的测试工作;以详细设计描述作为指南;对重要的控制路径进行测试并发现模块内的错误;通常情况下采用白盒测试;对业务逻辑、代码风格和规则、程序设计和结构进行静态测试。
  集成测试:通过测试发现与模块接口有关的问题。
  系统测试:以整体说明书作为指南;针对整个产品系统进行测试;验证系统是否满足需求规格的定义;还需要包含软件所依赖的硬件、外设、支持的某些软件及接口结合起来,在系统实际运行环境下来进行测试。
  验收测试:根据测试计划和结果对系统进行测试和接收;确定产品是否能够满足合同或用户所规定需求的测试;包括 Alpha 测试和 Beta 测试(Alpha 测试,是用户在开发者场所来进行,在一个可控环境;Beta 测试,有软件的最终用户在一个或多个用户场所来进行)。
  我认为最重要的一项:系统测试,系统测试能够对软件所有功能进行测试,能够覆盖所有联合的部件,能够验收系统是否满足了需求规格的定义。
  2、语言类面试题(python)
  问:“new” 和 “init"的区别。
  答:1)用法不同:new是创建实例,在实例创建之前调用,是个静态方法;init是初始化实例,是在实例被创建之后调用,用于设置对象属性的一些初始值(因此new是在init前被调用。如果new创建的是当前类的实例,会自动调用init函数,通过 return 调用的new的参数 cls 来保证当前类实例,如果其他类的类名,那么返回的是其他类的实例,就不会调用当前类的init函数)。
  2)传入的参数不同:new至少有一个参数 cls,代表当前类,此参数有实例化时有 python 解释器自动识别;init至少有一个参数 self,就是这个 new 返回的实例,init在 new 基础上完成一些初始化的操作。
  3)new必须有返回值,返回实例对象,init不需要返回值。
  3、操作系统类面试题(linux)
  问:线程和进程的区别
  答:进程是具有独立功能的一次运行活动,系统会给进程进行资源分配和调度。线程是进程的一个实体,是 CPU 调度和分派的基本单位,是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,但它可以同属一个进程的其他线程共享进程所拥有的全部资源(一个程序至少有一个进程,一个进程至少有一个线程)。
  4、计算机网络类面试题
  问:TCP 和 UDP 的区别,以及 TCP 三次握手,四次挥手
  答:TCP(Transmission control protocol)和 UDP(user datagrame protocol)的区别:
  1)TCP 是面向连接的(即传输数据前需要先建立连接),UDP 是无连接的。
  2)TCP 是提供可靠服务,保证数据的无差错(seq、acl)、不丢失(重传机制)、不重复。UDP 是尽最大努力交付,不保证可靠性。
  3)TCP 链接是点到点,UDP 支持 1 对 1,1 对多,多对 1 和多对多的通信。
  4)UDP 没有拥塞机制,网络出现拥塞也不会影响源主机的发送速率(对实时应用很有用,如 ip 电话,会议视频等)。
  5)TCP 报文头字节有 20 字节,UDP 是 8 字节,TCP 协议号是 6,udp 是 17。
  TCP 三次握手和四次挥手。在 TCP 报文头中有几个关键字段:seq,ack,SYN,FIN,ACK。一般来说都是客户端向服务端发起连接或者中断连接请求。
  三次握手:
  客户端(setsend)-----SYN=1,seq=x------>服务器端(listen);
  客户端(established)<-------SYN=1,ACK=1,seq=y,ack=x+1-----服务器端(receive);
  客户端(established)-------ACK=1,seq=x+1,ack=y+1---->服务器端(established)。然后传递数据。
  四次挥手:
  客户端-----FIN=1,seq=x---->服务器端;
  客户端<----ACK=1,seq=y,ack=x+1—服务器端;
  客户端<----FIN=1,ACK=1,seq=w,ack=x+1----服务器端;
  客户端-----ACK=1,seq=x+1,ack=w+1---->服务器端
  5、数据库类面试题(sql,mysql)
  问:什么是数据库事物
  数据库事务是数据库管理系统执行过程中的一个逻辑单元,由一个有限的数据库操作序列构成。一个数据库事务通常包含了一个序列的对数据库的读/写操作,包含有一下两个目的:1、为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法;2 当多个应用程序并在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作相互干扰。
  当事务被提交给 DBMS(数据库管理系统),则 DBMS(数据库管理系统)需要确保该事务中的所有操作都成功完成且其结果被永久保存在数据库中,如果事务中有的操作没有成功完成,则事务中的所有操作都需要被回滚,回到事务执行前的状态;同时,该事务对数据库或者其他事务的执行无影响,所有的事务都好像在独立的运行。
  数据库事务拥有一下四个特性,被称之为 ACID 特性:
  1)原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。
  2)一致性(Consistency):事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致状态的含义是数据库中的数据应满足完整性约束。
  3)隔离性(Lsolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行。
  4)持久性(Durability):已被提交的事务对数据库的修改应该永久保存在数据库中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、什么是兼容性测试?兼容性测试侧重哪些方面? 5 2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题? 5 3、测试的策略有哪些? 5 4、正交表测试用例设计方法的特点是什么? 5 5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程? 5 6、你觉得bugzilla在使用的过程,有什么问题? 5 7、描述测试用例设计的完整过程? 6 8、单元测试的策略有哪些? 6 9、LoadRunner分哪三部分? 6 10、LoadRunner进行测试的流程? 6 什么是并发?在lordrunner,如何进行并发的测试?集合点失败了会怎么样? 6 12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作? 6 13、QTP的Action有什么作用?有几种? 6 14、TestDirector有些什么功能,如何对软件测试过程进行管理? 7 15、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)? 7 16、条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? 8 17、Beta测试与Alpha测试有什么区别? 8 18、软件的评审一般由哪些人参加?其目的是什么? 8 19、测试活动,如果发现需求文档不完善或者不准确,怎么处理? 8 20、阶段评审与项目评审有什么区别? 8 21、阐述工作版本的定义? 8 22、什么是桩模块?什么是驱动模块? 8 23、什么是扇入?什么是扇出? 8 24、你认为做好测试计划工作的关键是什么? 8 25、你认为做好测试用例工作的关键是什么? 9 26、简述一下缺陷的生命周期? 9 27、软件的安全性应从哪几个方面去测试? 9 28、软件配置管理工作开展的情况和认识? 9 29、你觉得软件测试通过的标准应该是什么样的? 10 30、引入测试管理的含义? 10 31、一套完整的测试应该由哪些阶段组成? 10 32、单元测试的主要内容? 10 33、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容? 10 34、简述集成测试与系统测试关系? 10 35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其用户文档是文档测试的重点。那么软件系统的用户文档包括哪些? 10 36、软件系统除用户文档之外,文档测试还应该关注哪些文档? 10 37、简述软件系统用户文档的测试要点? 11 38、单元测试主要内容是什么? 11 39、如何理解强度测试? 13 40、如何理解压力、负载、性能测试测试? 13 41、什么是系统瓶颈? 13 42、文档测试主要包含什么内容? 13 43、功能测试用例需要详细到什么程度才是合格的? 14 44、配置和兼容性测试的区别是什么? 14 45、软件文档测试主要包含什么? 15 46、没有产品说明书和需求文档地情况下能够进行黑盒测试吗? 15 47、测试的“杀虫剂怪事”是指什么? 15 48、在配置测试,如何判断发现的缺陷是普通问题还是特定的配置问题? 15 49、为什么尽量不要让时间有富裕的员工去做一些测试? 16 50、完全测试程序是可能的吗? 16 51、软件测试的风险主要体现在哪里? 16 52、发现的缺陷越多,说明软件缺陷越多吗? 16 53、所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗? 17 54、软件测试人员就是QA吗? 17 55、如何减少测试人员跳槽带来的损失? 17 56、测试产品与测试项目的区别是什么? 17 57、和用户共同测试(UAT测试)的注意点有哪些? 18 58、如何编写提交给用户的测试报告? 18 59、测试工具在测试工作是什么地位? 18 60、什么是软件测试软件测试的目的? 18 61、简述负载测试与压力测试的区别。 19 62、写出bug报告流转的步骤,每步的责任人及主要完成的工作。 19 63、写出bug报告当一些必备的内容。 19 64、开发人员老是犯一些低级错误怎么解决? 20 65、画出软件测试的V模型图。 20 66、为什么要在一个团队开展软件测试工作? 20 67、您在以往的测试工作都曾经具体从事过哪些工作?其最擅长哪部分工作? 20 68、您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……) 20 69、您认为做好测试用例设计工作的关键是什么? 21 70、请试着比较一下黑盒测试、白盒测试单元测试集成测试、系统测试、验收测试的区别与联系。 21 71、测试计划工作的目的是什么?测试计划工作的内容都包括什么?其哪些是最重要的? 22 72、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作的应用。 22 73、请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。 23 74、您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。 23 75、你对测试最大的兴趣在哪里?为什么? 23 76、你以前工作时的测试流程是什么? 24 77、当开发人员说不是BUG时,你如何应付? 24 78、软件的构造号与版本号之间的区别?BVT(BuildVerificationTest) 24 79、您以往的工作,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? 25 80、您以往所从事的软件测试工作,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。 25 81、您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么? 25 82、单元测试集成测试、系统测试的侧重点是什么? 25 83、集成测试通常都有那些策略? 25 84、一个缺陷测试报告的组成 25 85、基于WEB信息管理系统测试时应考虑的因素有哪些? 25 86、软件测试项目从什么时候开始,?为什么? 26 87、需求测试注意事项有哪些? 26 88、简述一下缺陷的生命周期 26 89、你在你所在的公司是怎么开展测试工作的?是如何组织的? 26 90、你认为理想的测试流程是什么样子? 26 91、您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作的例子描述该工具是如何在实际工作应用的。 26 92、软件测试活动的生命周期是什么? 26 93、请画出软件测试活动的流程图? 26 94、针对缺陷采取怎样管理措施? 26 95、什么是测试评估?测试评估的范围是什么? 26 96、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么? 26 97、测试结束的标准是什么? 26 98、软件验收测试除了alpha ,beta测试以外,还有哪一种? 26 99、做测试多久了?以前做过哪些项目?你们以前测试的流程是怎样的?用过哪些测试工具? 27 100、请就如何在开发进行软件质量控制说说你的看法 27 101、一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 27 102、软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。 27 103、测试用例通常包括那些内容?着重阐述编制测试用例的具体做法 27 104、在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试?他们存在什么样的区别与联系? 27 105、在测试winform的C/S结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?您会采取哪些方法去检查这个原因? 27 106、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程 27 107、你都用什么测试方法 针对不同的产品或者系统或者模块,有不同的测试方法。总体而言有白盒测试和黑盒测试。 27 108、怎么编写案例 案例的编写与测试阶段的定义有很大的关系。系统测试和unit测试的案例可能不同。总体而言测试案例根据系统的需求而定。 27 109、怎么才能够全面的测试到每一个点 测试的全面性主要需要在设计测试计划的时候考虑,从测试策略,产品需求等等多个角度考虑从而定义全部的测试点。 27 110、谈谈软件测试技术,以及如何提高 27 111、谈谈软件测试职业发展,以及个人的打算 27 112、谈谈软件测试在企业的地位,也可以结合软件生命周期来谈 27 113、一般公司里实际的软件测试流程是什么样的?你们公司又是怎样的? 27 114、软件工程师要具有那些素质? 27 115、你会哪些测试工具?怎么操作? 27 116、你能不能说下你的3到5年的职业计划(规划) 27 117、你觉得你来应聘有那些优势? 27 其他问题:(有可能清晰的思路比确切的答案更重要) 27 开发及环境搭建类面试题 28 1、描述软件产生内存泄露的原因以及检查方式。(可以结合一种开发语言进行描述) 28 2、简述什么是值传递,什么是地址传递,两者区别是什么? 28 3、结构化程序设计和面向对象程序设计各自的特点及优缺点是什么? 28 4、简述什么是存储过程和触发器? 28 5、使用C语言编写一个函数,用于交换两个变量的值(地址传递)。 29 6、请简述DNS、活动目录、域的概念。 29 7、描述TCP/IP协议的层次结构,以及每一层重要协议。 29 8、简述子网掩码的用途。 29 9、说出4种以上常用的操作系统及其主要的应用范围(微软的操作系统除外)。 29 10、在Linux系统,一个文件的访问权限是755,其含义是什么? 29 11、Windows操作系统PATH环境变量的作用是什么? 30 12、Ghost的主要用途和常用方法? 30 13、在RedHat,从root用户切到userl用户,一般用什么命令? 30 14、Linux,一般怎么隐藏文件? 30 15、如何将自己的本地磁盘(D)做成FTP供远端主机使用? 30 16、对RUP.CMM,CMMI,XP,PSP.TSP的认识? 30 17、DNS是什么,它是如何工作的? 31 18、防火墙如何保证安全的?主要有哪些? 31 19、目前流行的操作的系统有哪些?请举例说明安装操作系统的注意事项? 33 20、简述一下c/s模式或者b/s模式? 33 21、TCP/UDP有哪些区别? 34 22、ISO模型?HUB、tch、Router是ISO的第几层设备? 34 23、内存有哪几种存储组织结构.请分别加以说明? 34 人力资源面试题 34 1、你的测试职业发展是什么?你自认为做测试的优势在哪里? 34 2、你为什么想离开目前的职务? 34 3、你对我们公司了解有多少? 34 4、你找工作时,最重要的考虑因素为何? 34 5、为什么我们应该录取你? 34 6、请谈谈你个人的最大特色。 34 7、一个测试工程师应具备那些素质和技能? 35 8、您认为在测试人员同开发人员的沟通过程,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队其他成员良好的人际关系的关键是什么? 35 9、在您以往的测试工作,最让您感到不满意或者不堪回首的事情是什么?您是如何来对待这些事情的? 35 10、在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面) 35 11、为什么选择测试这行? 35 12、你的工作通常能在时限内完成吗.(我想问一下就是她问这个问题的动机是什么) 35 13、通常你对于别人批评你会有什么样的反应 35 14、如果明知这样做不对,你还会依主管的指过去做吗? 35 15、如果你接到一个客户抱怨的电话,你确知无法解决他的问题,你会怎么处理? 35 16、请就软件测试人员应该具备什么样的基本素质说说你的看法。 36 17、你在五年内的个人目标和职业目标分别是什么? 36 18、你怎样做出自己的职业选择? 36

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值