2021年最常见10道软件测试笔试题!(建议收藏)

目录

1、你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?

2、给你一个网站,该如何测试?

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

4、在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?

5、如何测试一个纸杯?

6.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?

7.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?

8、SQL 的 select 语句完整的执行顺序?

9、说一下 Mysql 数据库存储的原理?

10、​​​​​​​事务的特性?

1、你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?

首先,将问题提交到缺陷管理库里面进行备案。

然后,要获取判断的依据和标准:根据需求说明书、产品说明、原型图、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据。

如果没有文档依据:

(1)可以根据同行或类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;

(2)根据用户的一般使用习惯,来确认是否是缺陷;

(3)与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷。

合理的论述,向测试经理说明自己的判断的理由,等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并由上级做出决定。

2、给你一个网站,该如何测试?

首先,查找需求说明、网站设计等相关文档,分析测试需求。

制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试、界面测试、性能测试、数据库测试、安全性测试、兼容性测试,设计测试用例等。

(1)功能性测试可以包括,但不限于以下几个方面:

1)链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。

2)提交功能的测试。

3)多媒体元素是否可以正确加载和显示。

4)多语言支持是否能够正确显示选择的语言等。

(2)界面测试可以包括但不限于以下几个方面:

1)页面是否风格统一,美观。

2)页面布局是否合理,重点内容和热点内容是否突出。

3)控件是否正常使用。

4)对于必须但未安装的控件,是否提供自动下载并安装的功能。

5)文字检查。

(3)性能测试一般从以下几个方面考虑:

压力测试、负载测试、强度测试。

(4)数据库测试要具体决定是否需要开展:

数据库一般需要考虑连接性,对数据的存取操作,数据内容的验证等方面。

(5)安全性测试:

1)基本的登录功能的检查。

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

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

4)如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试或者获取支持。

(6)兼容性测试,根据需求说明的内容,确定支持的平台组合:

1)浏览器的兼容性。

2)操作系统的兼容性。

3)软件平台的兼容性。

4)数据库的兼容性。

开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如:需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。定期评审,对测试进行评估和总结,调整测试的内容。

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

300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。

线程之间可能发生干扰,而产生一些异常。

300个用户在一个客户端上,需要更大的带宽。

IP地址的问题,可能需要使用IP Spoof来绕过服务器对于单一IP地址最大连接数的限制。

所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。

4、在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?

一条Bug记录最基本应包含:

(1)bug编号

(2)bug严重级别,优先级

(3)bug产生的模块

(4)首先要有bug摘要,阐述bug的内容

(5)bug对应的版本

(6)bug详细现象描述,包括一些截图、录像等

(7)bug出现时的测试环境,产生的条件即对应操作步骤

高质量的Bug记录:

(1)缺陷报告的UI要与测试的软件UI保持一致,便于查找定位。

(2)使用业界惯用的表达术语和表达方法,保证表达准确,体现专业化。

(3)每条缺陷报告只包括一个缺陷,可以使缺陷修正者迅速定位一个缺陷,集中精力每次只修正一个缺陷。校验者每次只校验一个缺陷是否已经正确修正。

(4)首先缺陷报告必须展示重现缺陷的能力。不可重现的缺陷要尽力重现,若尽力之后仍不能重现,仍然要报告此缺陷,但在报告中要注明无法再现,缺陷出现的频率。

(5)根据缺陷的现象,总结判断缺陷的类型。例如,即功能缺陷、界面缺陷、数据缺陷,合理化建议,这是最常见的缺陷或缺陷类型,其他形式的缺陷也从属于其中某种形式。

(6)高严重问题可能描述(Description),简洁、准确,完整,揭示缺陷实质,记录缺陷或缺陷出现的位置描述要准确反映缺陷的本质内容,简短明了。为了便于在软件缺陷管理数据库中寻找制定的测试缺陷,包含缺陷发生时的用户界面(UI)是个良好的习惯。例如记录对话框的标题、菜单、按钮等控件的名称。

(7)短行之间使用自动数字序号,使用相同的字体、字号、行间距,可以保证各条记录格式一致,做到规范专业。

(8)确认步骤完整,准确,简短保证快速准确的重复缺陷,“完整”即没有缺漏,“准确”即步骤正确,“简短”即没有多余的步骤。

(9)根据缺陷,可选择是否进行图像捕捉为了直观的观察缺陷或缺陷现象,通常需要附加缺陷或缺陷出现的界面,以图片的形式作为附件附着在记录的“附件”部分。为了节省空间,又能真实反映缺陷或缺陷本质,可以捕捉缺陷或缺陷产生时的全屏幕,活动窗口和局部区域。为了迅速定位、修正缺陷或缺陷位置,通常要求附加中文对照图。

(10)如果打开某个特殊的文档而产生的缺陷或缺陷,则必须附加该文档,从而可以迅速再现缺陷或缺陷。有时,为了使缺陷或缺陷修正者进一步明确缺陷或缺陷的表现,可以附加个人的修改建议或注解。

(11)在提交每条缺陷或缺陷之前,检查拼写和语法,确保内容正确,正确的描述缺陷。要求客观的描述操作步骤,不需要修饰性的词汇和复杂的句型,增强可读性。

以上概括了报告测试缺陷的规范要求,随着软件的测试要求不同,测试者经过长期测试,积累了相应的测试经验,将会逐渐养成良好的专业习惯,不断补充新的规范书写要求。此外,经常阅读、学习其他测试工程师的测试缺陷报告,结合自己以前的测试缺陷报告进行对比和思考,可以不断提高技巧。

缺陷描述内容:

缺陷描述的内容可以包含缺陷操作步骤,实际结果和期望结果。操作步骤可以方便开发人员再现缺陷进行修正,有些开发的再现缺陷能力很差,虽然他明白你所指的缺陷,但就是无法再现特别是对系统不熟悉的新加入开发人员,介绍步骤可以方便他们再现。实际结果可以让开发明白错误是什么,期望结果可以让开发了解正确的结果应该是什么样子的。

5、如何测试一个纸杯?

功能性:用水杯装水看漏不漏;水能不能被喝到。

安全性:杯子有没有毒或细菌。

可靠性:杯子从不同高度落下的损坏程度。

可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用。

兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等。

易用性:杯子是否烫手、是否有防滑措施、是否方便饮用。

用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述。

疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等。

压力测试:用根针并在针上面不断加重量,看压强多大时会穿透。

1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?

第一步:A绳从两头烧,同时B绳只烧一头。30分钟后,A烧完了。

第二步:A烧完,同时B绳另一头也点燃,开始两头烧,烧完是15分钟。

第三步:再取一根C绳从两头烧,烧完30分钟。

三步加起来就是1小时15分钟。

6.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?

根据抽屉原理,4个(只有三个抽屉,最多第四个有重合)

1、第一次就抓取了两个一样颜色.

2、第一次抓取的两个颜色不同.那就再抓两个,要么这两个相同,要么有至少一个与第一次有相同。

7.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?

用5升桶满桶,倒入3升桶中,倒满后大桶里剩2升。

把3升桶倒空,把那2升倒入3升桶中。

用5升桶满桶再向3升里倒,倒入一升就满,大桶里剩下的是4 升。

8、SQL 的 select 语句完整的执行顺序?

1、from 子句组装来自不同数据源的数据;

2、where 子句基于指定的条件对记录行进行筛选; 3、group by 子句将数据划分为多个分组;

4、使用聚集函数进行计算;

5、使用 having 子句筛选分组; 6、计算所有的表达式;

7、select 的字段;

8、使用 order by 对结果集进行排序。​​​​​​​

9、说一下 Mysql 数据库存储的原理?

储存过程是一个可编程的函数,它在数据库中创建并保存。它可以有 SQL 语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。存储过程通常有以下优点:

1、存储过程能实现较快的执行速度

2、存储过程允许标准组件是编程。

3、存储过程可以用流程控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。

4、存储过程可被作为一种安全机制来充分利用。

5、存储过程能够减少网络流量

10、​​​​​​​事务的特性?

1、原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行。

2、一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致。

3、隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的。

4、持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障

感谢支持,我会更加努力分享,喜欢的朋友可以关注下我。每天有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。因软件测试面试题内容较多,篇幅有限,需要面试答案等,可【点击这里,暗号CSDN】,获取更多面试题资源,以及软件测试自学视频!


版权声明:本文为m0_60149999原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。