软件测试面试攻略:常见测试理论/基础面试题合集

[复制链接]
查看415 | 回复0 | 2024-6-6 04:09:21 | 显示全部楼层 |阅读模式
面试篇003

点击上方蓝字“ 程序员二黑“关注我,每天早上09:00准时推送,每月不定期附送技术书籍。

微信公众号后台点击“资源”领取测试资源,点击“交流群”一起进群打怪,点击“面试刷题”进入刷题小程序

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 内核开发而开发的一个开放源码的版本控制软件。 SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设 计目标就是代替CVs .互联网上好多版本控制服务已从CVs 迁Subversion移

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;避免软件开发过程中的缺陷;衡量软件的品质,关注用户的需求。总的目标是: 确保软件的质量

粉丝福利

作为一位过来人也是希望你们少走一些弯路,在这儿我给你们分享一些软件测试的学习资源,希望能给你前进的路上带来帮助。

需要的同学直接扫码发放

添加小助理陌陌

领取「软件测试」资料包

面试栏目往期推荐:
回复

使用道具 举报

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

本版积分规则