Hi,大家好。最近很多朋友都在说今年的互联网行情不好,面试很难,不知道怎么复习,我最近总结了一份在软件测试面试中比较常见的测试理论/基础面试面试题合集,希望对大家有帮助。建议点赞+收藏再阅读,防止丢失!只收藏不点赞都是坏人呀!废话少说,直上干货。
目录
1.简单介绍下最近做过的项目
2.拿一个你所负责的模块,讲下具体怎么测的?
3.你在这个项目里面主要做了些什么工作?
4.你们项目组有多少人、开发多少个、测试多少个?
5.测试人员怎么分工的?
6.项目的送代周期?多久—选代?一个版本你们发现多少bug
7.你们整个项目写了多少用例,你负责的模块大概写了多少用例?
8.最近的版本写了多少用例?
9.你的需求分析—般几天,用例大概写了多长时间?执行了多长时间?
10.在uat测试的时候,突然客户临时要大量的数据
1.阐述软件生命周期都有哪些阶段? 常见的软件生命周期模型有哪些?
软件生命周期是指一个计算机软件从功能确定设计,到开发成功投入使用,并在使用中不断地修改、增补和完善,直到停止该软件的使用的全过程(从酝酿到废弃的过程)
生命周期从收到应用软供开始算起,到该软件不再使用为止。
它有如下各方面的内容:
初始构思、需求分析、功能设计、内部设计、文档计划、测试计划、文档准备、集成、测 试、维护升级、再测试、逐步淘汰 (phase-out)、等等
常见的软件生命周期模型:
瀑布模型,迭代式模型,快速原型模型,螺旋模型
2.什么是版本控制,常用的版本控制系统有哪些?
版本控制 (Revision control) 是一种软件工程技巧,在在开发的过程中,确保由不同人所编辑的司一文件都得到更新及历史记录的保存。Git(读音为/git/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 https://git-scm.com/docSVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设 计目标就是取代CVs .互联网上很多版本控制服务已从CVs 迁Subversion移https://tortoisesvn.net/support.htm
3.简述软件测试与软件开发之间的关系?
1.项目规划阶段:负责从单元测试到系统测试的整个测试阶段的监控。
2.需求分析阶段:确定测试需求分析、系统测试计划的制定,评审后成为管理项目。测试需求分析是对产品生命周期中测试所需求的资源配置、每阶段评判通过的规约,系统测试计划则是依据软件的需求规格说明书,制定测试计划和设计相应的测试用例。
3.详细设计和概要设计阶段: 确保集成测试计划和单元测试计划完成。
4.编码阶段: 由开发人员进行自己负责部分的代码的测试。在项目较大时,由专人进行编码阶段的测试任务
5.测试阶段(单元、集成、系统测试) :
依据测试代码进行测试,并提交相应的测试状态报告和测试结束报告开发和测试是一个有机的整体!在产品的发布之前,开发和测试是循环进行的, 测出的缺陷要经开发人员修改后继续测试。在开发的同时测试经理开始编写测试用例,测 试文档要参考开发文档,所以开发和测试是不可分割的,少了任何一个都不能开发出产品。从角色方面看,像理论和实验的关系,开发人员通过自己的想象创造出一套思想,之 后测试人员再对它进行检验、证伪,开发人员再修改的过程从而不断丰富产品。
从方法方 面看,是演绎和归纳的关系,一个要掌握大量的技术一个要不断的从实例中学习。因这 两方面的不司,所以开发和测试看上去做的工作很不一样开发与测试是相辅相承、密不可分的,开发人员开发出新的产品后要通过测试判断产 品是否完全满足用户的需求。如果发现缺陷,提交给开发人员进行修复,然后再转交测试 人员进行回归测试,直到产品符合需求规格说明。符合用户需求的产品是开发和测试 共同努力的成果
4.常见测试模型有哪些?
特点: 这是一种古老的瀑布模型,反映了实际和测试之间的关系局限: 仅仅把测试过程作为编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,如果前面设计错误,得一直到后期的验收测试才被发现,耗时耗力。
特点: 测试与开发同时进行,在√ 模型的基础上,增加了在开发阶段的同步测试局限: 仍然不支持迭代,减少了一定错误发生率,但是需按照流水线进行设计、编码和测试
5.请根据”V”模型分别概述测试人员在软件的需求定
义阶段、设计阶段、编码阶段、系统集成阶段的工作任务及其相应生成的文档?
需求定义阶段:根据项目需求提取测试需求 并形成测试需求文档,根据提取的测试需求和项目计划进行测试计划的拟定,测试计划文档
设计阶段: 根据测试需求拟订测试方案并形成测试方案文档,根据测试方案制定测试用例,并形成测试用例文档
编码阶段:执行测试并完善测试用例文档
系统集成阶段:测试总结报告,阶段问题统计报告,测试问题报告
6.W 模型的描述?
W 模型也称之为双V 模型,一个V 是开发的生命同期,另一个V 是测试的生命周期,W 模型与V模型有一个很大的不同,就是W 模型是一个并行的模型,V 模型是一个串行的模型,W 模型开始是从需求分析开始就开始了,而不是等到编码完成后才开始。
并且测试阶段的划分更清楚,而不仅仅是单元测试、集成测试、系统测试,还包括前期的测试计划、测试方案等内容,这更符合现在企业测试的流程。W 模型强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W 模型有利于尽早全面地发现问题。
从需求分析开始测试工程师就参与到项目的测试中,当需求分析完成后,测试工程师就需要参与到需求的验证和确认活动中,并需要提供可测试性需求分析说明书,这样可以尽早地发现需求阶段的缺陷。同时,对需求的测试也有利子及时了解项目难度和测试风险,及早制定应对指施,这将显著减少总体测试时间,加快项目进度。
但W 模型也存在局限性,需求、设计、编码等活动被视为是串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一阶段工作,这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W 模型并不能解除测试管理面临的床惑。
总之W 模型具有以下特征:
(1)测试阶段戈分得更全面,不仅仅是单元测试、集成测试和系统测试,
(2)测试与开发是并行的,从需求测试就应该开始介入
(3)提出尽早测试的概念,这样可以险低缺陷修复成本;
(4)测试对象不仅仅是程序,还包括需求或其他的相关文档
7.编写测试计划的目的是?
使测试工作顺利进行,使项目参与人员沟通更舒畅,使测试工作更加系统化
8.测试计划编写的六要素?
why一一为什么要进行这些测试
what一测试哪些方面,不同阶段的工作内容
when一测试不同阶段的起止时间
where一相应文档,缺陷的存放位置,测试环境等
who一项目有关人员组成,安排哪些测试人员进行测试
how一如何去做,使用哪些测试工具以及测试方法进行测试。
9.项目版本执行过程中,测试人员如何把控测试进度?
在项目的系统测试过程中,测试负责人要及时了解测试进度,跟踪 BUG 提交、修复及验证情况以及系统的拷机情况。在开发初期阶段,测试组执行BBFV 时,很多模块、功能点的开发完成进度和原计划会存在一定的偏差,就需要测试负责人动态的刷新WBS 计划,根据实际的开发进度调整测试计划。
在开发阶段,存在版本编译不出来导致无法测试,开发人员修复代码太随意导致版本稳定性反复,需求变更过大导致后端测试开发变更严重等现象,会导致测试工作无法正常进行。
就需要测试负责人及时反馈出来,根据项目本身的特点讲行对应的处理。当测试进度出现延期时,要及时确认问题原因如果是问题协查导致,则需及时与研发人员进行沟通协商,看问题是否必须在测试环境进行排查,若为必现问题可与研发协商要求其在自己环境进行排查,若必须占用测试环境,则需及时调整测试计划,若因此可能影响版本的发布,则应及时与 SE 确认。
若发现有较多BUG 未解决,则应主动联系 SE 及研发人员召开BUG 会确定问题的解决时间。若发现有较多BUG未验证,则应提醒项目组的测试人员及时进行验证,对于一些拷机或非必现的BUG,建议测试人员在此 BUG 上现做拷机标记连续拷机一周未再复现的做关闭处理,若再次复现则继续进行排查。疑难问题的跟控: 比较难复现的问题,怎么去尝试复现。
比较难定位的问题,怎么驱动、反馈给SE,协调开发人员定位问题。比较难处理的问题,怎么跟控反馈进度等每天下班前确认拷机内容,每天上班第一件事需确认拷机结果,只有这样才能保证拷机的效果,实现拷机的真正意义。
10.测试人员在软件开发过程中的任务是什么?
寻找 Bug;避免软件开发过程中的缺陷;衡量软件的品质,关注用户的需求。总的目标是: 确保软件的质量
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。