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也不会丢失。

 总结

如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面

  自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

​​​

​​​

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值