2024年全网最新最全面的软件测试常见面试题

1.软件测试的目的是什么?
  • 以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷
  • 通过修正各种错误和缺陷来提高软件质量
  • 回避软件发布后由于潜在的错误或缺陷所造成的隐患带来商业风险
2. 软件测试的一般流程是什么?
  1. 需求评审
  2. 制定测试计划
  3. 设计测试用例
  4. 测试用例评审
  5. 冒烟测试
  6. 一轮测试
  7. n轮测试
  8. 回归测试
  9. 撰写文档
3.常见的测试类型有哪些?分别说明一下。
按测试技术划分
  1. 黑盒测试:不关心软件内部,只关心输入输出,主要测试依据是需求文档
  2. 白盒测试:关心软件内部设计和程序实现,主要测试依据是设计文档
  3. 灰盒测试:介于白盒测试和黑盒测试之间的测试——接口测试,关注输出对于输入的正确性,同时也关注内部表现。
按测试阶段划分

单元测试,集成测试,系统测试,验收测试是“从小到大”,“由内至外”,“循序渐进”的测试过程,体现了“分而治之”的思想

  1. 单元测试:粒度最小,一般由开发小组采用白盒测试,主要测试单元是否符合设计
  2. 集成测试:介于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用灰盒测试,既要验证“设计”,又要验证“需求”。也就是模块测试(多个单元组成,单元与单元之间的调用与被调用,相当于接口测试)
  3. 系统测试:粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合需求规格说明书
  4. 验收测试:与系统测试相似,主要区别是测试人员不同,验收测试由用户执行
按测试手段划分

手动测试和自动化测试

系统测试类型:功能测试,性能测试,界面测试,安全测试,兼容性测试,易用性测试,压力测试,负载测试,恢复测试

4.探索性测试是什么?应该怎么做?

探索性测试可以说是一种测试思维技术。它没有很多实际的测试方法,技术和工具,当时确是所有开测试人员都应该掌握的一种测试思维方式。是一种经过深思熟虑的测试方式,没有测试脚本,可以使你的测试超出各种明显已经测试过的场景。探索性测试将学习,测试设计和测试执行整合一起,形成一种测试方法。

基本过程:

  • 识别软件系统的目的;
  • 识别软件系统提供的功能;
  • 识别软件系统潜在的不稳定的区域;
  • 在探索软件系统的过程中记录关于软件的信息和问题;
5.什么是冒烟测试?如何有效的开展冒烟测试?

冒烟测试就是对一个新版本的开发后,对改版本最基本的功能进行测试,保证基本的功能和流程能走通。

6.一条高质量的缺陷记录(Bug)应该具有哪些内容
  1. 和Bug对应的软件版本号
  2. 开发的人员,测试人员
  3. Bug的优先级
  4. Bug的严重程度
  5. Bug可能属于的模块
  6. Bug的标题
  7. Bug的描述
  8. Bug的截图
  9. Bug的状态
  10. Bug的错误类型(数据错误,界面错误,功能错误...)
7.缺陷的生命周期

新建--提交--确认--分配--修复--验证--关闭

8.alpha测试和beta测试的区别

(1)alpha测试相当于内部测试,一般开发人员在场,是由用户做测试,一般是请到用户到开发现场做测试

(2)beta测试版,完全交给用户,由用户做测试,返回测试报告,相当于发行前的一个版本

9.你认为做好软件测试应该具备哪些素质?

没有统一标准答案,可以从细心,时间观念,耐心,能够接受枯燥工作,沟通能力等入手

10.与开发人员的沟通过程中,如何提高沟通效率和改善沟通效果,维持与开发人员良好的关系?

提高沟通效率可以使用项目管理平台等;

一真诚、二是团队精神、三是在专业上有共同语言、四是要对事不对人,工作至上。

11.你觉得软件测试工程师在一个团队中,都需要做什么?有什么价值?

需要做:通过不同的测试方法发现软件中的问题,形成一个文档,及时与开发团队沟通等

价值:可以通过自己的测试,发现各种缺陷和错误,可以不断提高产品的质量

12.如果你在测试中发现缺陷,但是开发人员不认可怎么办

笔者:我会对这个缺陷做更多的测试,去证实这个地方是有缺陷并会到时项目出现问题,然后把数据进行统计汇总交给开发人员去证明这个地方是有一定的缺陷。 技术面试官:要是开发人员还是不认可怎么办 笔者:我将数据整合给他,数据是不会说谎的,我相信开发人员是能够认同的,毕竟每一个开发都希望自己做的东西将能够精益求精,没有缺陷。

13.没有文档怎么开展测试工作。
  1. 先从系统层面,确定产品的用处是什么
  2. 根据产品用户,分析和记录基本功能点,并生成软件功能模型
  3. 将2的功能再细化,挖掘更深的测试点
数据库问题
一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15。

一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysql的情况下),这条记录的id是18;但是如果重启(文中提到的)MySQL的话,这条记录的ID是15。因为InnoDB表只把自增主键的最大ID记录到内存中,所以重启数据库或者对表OPTIMIZE操作,都会使最大ID丢失。

但是,如果使用表的类型是MylSam,那么这条记录的ID就是18。因为MylSam表会把自增主键的最大ID记录到数据文件里面,重启MYSQL后,自增主键的最大ID也不会丢失。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值