这些软件测试面试题你都会,那offer还不手拿把掐(1),软件测试开发者出路在哪

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

1 基本的登录功能的检查

2 是否存在溢出错误,导致系统崩溃或者权限泄露

3 相关开发语言的常见安全性问题检查,例如 SQL 注入等。

4 如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持兼容性测试,根据需求说明的内容,确定支持的平台组合,浏览器的兼容性;操作系统的兼容性;软件平台的兼容性

问:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别? ?

300 个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。300 个用户在一个客户端上,需要更大的带宽。IP 地址的问题,可能需要使用 IP Spoof 来绕过服务器对于单一 IP 地址最大连接数的限制。所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。

软件生存周期及其模型是什么?

软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为"生命周期模型"

什么是软件测试?软件测试的目的与原则

使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

软件测试的目的:

测试是程序的执行过程,目的在于发现错误一个成功的测试用例在于发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。确保产品满足性能和效率的要求确保产品是健壮的和适应用户环境的

软件测试的原则:

软件测试应尽早执行,并贯穿于整个软件生命周期软件测试应追溯需求测试应由第三方来构造穷举测试是不可能的,要遵循 Good-enough 原则必须确定预期输出(或结果)必须彻底检查每个测试结充分注意测试中的群集现象

缺陷的二八定理严格执行测试计划,排除测试的随意性注意合法合理的输入,也要注意非法的非预期的输入检查程序是否做了不该做的测试应从“小规模”开始,逐步转向“大规模”反复使用同样的测试会使软件具有抵抗力关注缺陷的修复

软件配置管理的作用?软件配置包括什么?

软件配置管理作为软件开发过程的必要环节和软件开发管理的基础,贯穿整个软件生命周期,同时对软件开发过程的宏观管理即项目管理也有重要的支持作用。一个软件开发组织真正有效的实施软件配置管理,将会使软件开发过程有更好的可预测性,使系统具有可重复性,大大提高软件组织的竞争力。

软件配置包括如下内容:

配置项识别、工作空间管理、版本控制、变更控制、状态报告、配置审计

什么是软件质量?
软件质量:软件产品的特性可以满足用户的功能、性能需求的能力。

目前主要的测试用例设计方法是什么?

白盒测试:逻辑覆盖循环覆盖基本路径覆盖

黑盒测试:边界值分析法、等价类划分、错误猜测法、因果图法、场景法

软件产品质量特性是什么? ?
功能性:适应性、准确性、互操作性、依从性、安全性。
可靠性:成熟性、容错性、以恢复性。
可使用性:易理解性、易学习性、易操作性。
效率:时间特性、资源特性。
可维护性:易分析性、易变更性、稳定性、易测试性。
可移植性: 适应性、易安装性、遵循性、易替换性。

软件测试的策略是什么? ?
软件测试策略:在一定的软件测试标准、测试规范的指导下,依据测试项目的特定环境约束
而规定的软件测试的原则、方式、方法的集合。

软件测试分为几个 阶段 各阶段的测试策略和要求是什么? ?
软件测试按阶段划分可以分为单元测试、集成测试、系统测试和<验收测试>
单元测试测试策略:
自顶向下的单元测试策略
总结:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。
自底向上的单元测试策略
总结:比较合理的单元测试策略,但测试周期较长。
孤立单元测试策略
总结:最好的单元测试策略。
系统测试的测试策略
数据和数据库完整性测试;功能测试;用户界面测试;性能评测;负载测试;强度测试;容
量测试;安全性和访问控制测试;故障转移和恢复测试;配置测试;安装测试;加密测试;
可用性测试;版本验证测试;文档测试

测试人员在软件开发过程中的任务是什么?

1、寻找 Bug;

2、避免软件开发过程中的缺陷;

3、衡量软件的品质;
4、关注用户的需求。
总的目标是:确保软件的质量。
在您以往的工作中,一条软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量
的软件缺陷(Bug)记录?
一条 Bug 记录最基本应包含:编号、Bug 所属模块、Bug 描述、Bug 级别、发现日期、发现
人、修改日期、修改人、修改方法、回归结果等等;

要有效的发现 Bug 需参考需求以及详细
设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认
肯定,然后再向外发布如此才能提高提交 Bug 的质量。
黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!
黑盒测试的优点有:
比较简单,不需要了解程序内部的代码及实现;
与软件的内部实现无关;
从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
在做软件自动化测试时较为方便。
黑盒测试的缺点有:
不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的 30%;
自动化测试的复用性较低。

白盒测试的优点有:
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
白盒测试的缺点有:
程序运行会有很多不同的路径,不可能测试所有的运行路径;
测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一
些功能需求;
系统庞大时,测试开销会非常大。
如何测试一个 纸杯?
功能度:用水杯装水看漏不漏;水能不能被喝到
安全性:杯子有没有毒或细菌
可靠性:杯子从不同高度落下的损坏程度
可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
疲劳测试:将杯子盛上水(案例一)放 24 小时检查泄漏时间和情况;盛上汽油(案例二)
放 24 小时检查泄漏时间和情况等
压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

测试计划工作的目的是什么?测试计划文档的内容应该包括什么?其中哪些是最重要的?

包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试
交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,
可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对
测试过程中的各种变更。
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划
测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
所以其中最重要的是测试测试策略和测试方法(最好是能先评审)。

在您以往的工作中,一条软件缺陷(或者叫 Bug )记录都包含了哪些内容?如何提交高
质量的软件缺陷( Bug )记录?
在传统的 BugZilla 中,BUG 描述应该包括以下的信息
和 BUG 产生对应的软件版本和模块
开发的接口人员
BUG 的优先级
BUG 的严重程度
BUG 可能属于的模块,如果不能确认,可以用开发人员来判断
BUG 标题,需要清晰的描述现象
BUG 描述,需要尽量给出重新 Bug 的步骤
BUG 附件中能给出相关的日志和截图。
高质量的 BUG 记录就是指很容易理解的 BUG 记录,所以,对于描述的要求高,能提供的信息
多且准确,很好的帮助开发人员定位,因此提交高质量的软件缺陷记录需要注意对 BUG 记录
的描述质量多且准确。

BUG 管理工具的跟踪过程用 BugZilla 为例子

测试人员发现了 BUG,提交到 Bugzilla 中,状态为 new,

BUG 的接受者为开发接口人员开发接口将 BUG 分配给相关的模块的开发人员,状态修改为已分配,开发人员和测试确认BUG,

如果是本人的 BUG,则设置为接收;

如果是别的开发人员的问题,则转发出去,由下一个开发人员来进行此行为;

如果认为不是问题,则需要大家讨论并确认后,拒绝这个 BUG,然后测试人员关闭此问题。如果开发人员接受了 BUG,并修改好以后,将 BUG 状态修改为已修复,并告知测试在哪个版本中可以测试。

测试人员在新版本中测试,如果发现问题依然存在,则拒绝验证;如果已经修复,则关闭BUG。

四、您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?
维持测试人员同开发团队中其他成员 良好的人际关系的关键是什么?
尽量面对面的沟通,其次是能直接通过电话沟通,如果只能通过 Email 等非及时沟通工具的
话,强调必须对特性的理解深刻以及能表达清楚。
运用一些测试管理工具如 TestDirector 进行管理也是较有效的方法,同时要注意在
TestDirector 中对 BUG 有准确的描述。

在团队中建立测试人员与开发人员良好沟通中注意以下几点:
一真诚
二是团队精神
三是在专业上有共同语言
四是要对事不对人,工作至上
当然也可以通过直接指出一些小问题,而不是进入 BUG Tracking System 来增加对方的好感。

你自认为测试的优势在哪里?
该面试也没有固定不变的答案,但可参考以下几点,并结合自身特点:
有韧性
有耐心
做事有条理性
喜欢面对挑战
有信心做好每一件事情
较强的沟通能力
从以前的经理处都得到了很好的评价表明我做的很好
集成测试通常都有那些策 略?
1、大爆炸集成
2、自顶向下集成
3、自底向上集成
4、三明治集成适应于大部分软件开发项目
5、基干集成
6、分层集成
7、基于功能的集成
8、基于消息的集成
9、基于风险的集成
10、基于进度的集成

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
的集成

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-x55nbgAy-1713615557906)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值