2024年软件测试面试题大全【含答案】(2021年软件测试面试题大全)

2024年软件测试面试题大全【含答案】一、面试基础题
简述测试流程:
1、阅读相关技术文档(如产品PRD、UI设计、产品流程图等)。
2、参加需求评审会议。
3、根据最终确定的需求文档编写测试计划。
4

1. 面试基本问题

简单说明一下测试过程:

1.阅读相关技术文档(产品PRD、UI设计、产品流程图等)。

2.参加需求评审会议。

3. 根据最终需求文档创建测试计划。

4、编写测试用例(等价类划分法、边界值分析法等)。

5. 用例评审(主要参与者:开发、测试、产品、测试负责人)。

6. 开发代码并将其提交到SVN 或GIT 以配置和构建您的测试环境。

7. 运行测试用例并记录发现的任何问题。

8. 验证错误和回归测试。

9. 撰写测试报告。

10. 产品发布。

补充测试用例设计流程:

根据需求导出测试要求

测试计划设计、测试计划评审

计划审核通过后,设计测试用例并审核测试用例。

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

使用手动或自动方式运行或测试系统的过程。其目的是测试是否满足指定的需求,或澄清预期结果与实际结果之间的差异。

软件测试的目的:

测试是为了发现错误而运行程序的过程。

成功的测试用例包括发现以前未发现的错误。

成功的测试将发现以前未发现的错误。

确保您的产品能够实现其承诺或宣布的功能,并且有明确的书面说明说明您的用户可以访问哪些功能。

确保产品满足性能和效率要求。

确保您的产品强大且适合您的环境。

问:什么是软件生命周期及其模型?

软件生命周期是所有软件开发过程、活动和任务的结构框架,从可行性研究到需求分析、软件设计、编码、测试、软件发布和维护。软件经过需求、分析、设计、实施、部署后,进入使用并进入维护阶段,但由于缺乏维护成本而逐渐变得无法使用。这样的过程称为“生命周期模型”。

什么是软件质量?

软件质量:软件产品的功能满足用户功能和性能要求的能力。

自动化测试脚本开发的主要步骤:

1. 通过特定方法找到要执行的对象和目标。

2.对该对象执行什么操作(命令)

3.通过操作给找到的元素赋值(values)。

4.添加断言操作

目前主要的测试用例设计方法有哪些?

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

黑盒测试:边界值分析法、等价类划分、误差估计法、鱼骨图法、状态图法、测试大纲法、随机测试场景法

常见的测试用例设计方法有哪些?用具体的例子来说明这些方法在测试用例设计工作中的应用。

1)等价类的划分和划分

等价类是输入域的子集。在这个子集中,每个输入数据在揭示程序中的错误方面都是等效的。并且可以合理地认为,测试等价类: 的代表值等同于测试该类的任何其他值。因此,可以将所有输入数据合理划分为若干等价类,并取每个等价类的一个数据作为测试的输入条件,从而可以使用少量有代表性的测试数据。您将获得更好的测试结果。 等价类可以在两种不同的情况下拆分:有效等价类和无效等价类。

2)边值分析法

边界值分析方法是对等价类划分方法的补充。我的测试经验告诉我,大量错误发生在输入或输出范围的边界,而不是在输入和输出范围内。因此,针对不同的边界情况设计测试用例将帮助您检测更多错误。

要使用边界值分析技术设计测试用例,必须首先确定边界条件。输入和输出等价类的边界通常是您应该重点测试的边界情况。您应该选择完全等于、大于或小于界限的测试数据,而不是典型值或等价类中的任何值。

3)错误的猜测方法

如何有针对性地设计测试用例,根据经验和直觉猜测程序中所有可能的错误。

错误推断技术的基本思想是列出程序中所有可能的错误,以及它们可能发生的特殊情况,并根据它们选择测试用例。例如,在单元测试期间列出了模块中的许多常见错误。它是经验的集合,包括之前产品测试期间发现的错误。另外,输入数据和输出数据将为0。输入表格为空或只有一行。这些都是容易出错的情况。可以选择这些情况的示例作为测试用例。

4)鱼骨图

前面介绍的等价类划分方法和边界值分析方法侧重于考虑输入条件,而没有考虑输入条件之间的联系或相互组合。当考虑输入条件的组合时,可能会出现新的情况。然而,即使将所有输入条件划分为等价类,输入条件的组合也有很多种。因此,您应该考虑以适合描述多个条件的组合并相应地生成多个操作的格式来设计测试用例。这需要使用因果图(逻辑模型)。因果图产生的最终产品是决策表。适用于检查程序输入条件的各种组合。

5)正交阵分析法

在某些情况下,大量的参数组合会导致测试用例数量突然增加,但同时这些测试用例之间没有明显的优先级差异,导致测试人员很难完成如此大的测试用例。有些事情你不能做。您可以提交一个表格来减少一些用例,以便您可以用尽可能少的用例覆盖尽可能多的内容。

6)情景分析法

这是指根据用户场景模拟用户交互步骤。它类似于鱼骨图,但可能具有更大的实现深度和可行性。

您的测试策略是什么?

黑盒/白盒/灰盒、静态/动态、手动/自动化、冒烟测试、回归测试、公开测试(beta测试策略)

旁注:什么是公开测试版?还有其他测试策略、测试方法和测试类型之间的区别吗?

按测试策略分类:

1. 静态和动态测试

2. 黑盒和白盒测试

3. 手动测试与自动化测试

4.冒烟测试

5.回归测试。

按测试阶段分类:单元测试、集成测试、系统测试。

其他常见的测试方法: 1.功能测试2.性能测试3.压力测试4.负载测试5.可用性测试6.安装测试7.接口测试8.配置测试9.文档测试10.兼容性测试11 安全测试12、恢复测试

Alpha测试可以是用户在开发环境中执行的测试,也可以是内部用户在模拟真实操作环境中执行的受控测试;alpha测试不能由程序员或测试人员完成。

Beta测试是由软件的多个用户在一个或多个用户的实际使用环境中进行的测试。开发人员通常不会出现在测试站点,并且程序员或测试人员无法进行Beta 测试。

测试需求时需要注意什么?

您使用的是内部模板吗?

文件内容是否符合规范?

所有需求是否都经过适当的评估和分析?

所有要求是否一致?

需求是否可行(即需求组合是否有解决方案)?

使用已知的约束条件可以实现这些要求吗?

需求是否足够(即需求是否可以提交给合格的开发组织并有合理的可能性生产所需的产品)?

所有其他要求是交叉引用正确。

使用说明是否清晰?

是否用客户的语言描述需求

每个需求的描述是否清晰、无歧义、即使移交给独立小组实施也可以理解。

所有要求都可以验证吗?

每个需求是否独立,是否可以在不影响其他需求的情况下进行更改?

绩效指标是否清晰?

非功能性需求是否得到充分表达?

是否完整列出了适用的标准或协议?

标准和协议之间是否存在冲突?

问:测试时发现了一个bug,但开发经理并不认为这是一个bug。我该如何解决这个问题?

将问题提交到缺陷管理数据库进行提交。

获取判断依据和标准:根据需求规格书、产品说明书、设计文件等检查实际结果是否与计划不一致,如有缺陷,检查缺陷是否已确认提供。直接证据。它没有文档依据,可能基于类似软件的一般特征。 如果有差异我们会根据用户的一般使用习惯进行解释并检查是否属于缺陷。

与设计师、开发人员、客户代表和其他利益相关者讨论以确定是否是缺陷。

使用理性的论点,向考试管理员解释你的决定的原因,客观、严谨,不要让你的个人感情掺杂其中。

等待考试管理员做出最终决定,但如果您仍有争议,您可以通过公司政策中提供的渠道向您的主管报告,由他做出决定。

问:给定一个网站,我如何测试它?

1. 通过查找相关文档(例如需求描述和网站设计)来分析您的测试需求。

2. 创建测试计划并确定测试范围和测试策略。这通常包括以下部分:

功能测试、数据库性能测试、

3. 设计测试用例。

功能测试包括但不限于以下几个方面:

链接测试。链接跳转是否正确?是否返回了错误的错误消息?提交功能测试。

多媒体元素能否正确加载并显示。例如,多语言支持是否正确显示所选语言?

接口测试包括但不限于以下几个方面:

页面风格是否一致、美观?

文本检查

关于安装所需空间,是否有自动下载安装功能?

控件使用是否正确

页面布局是否合理,重点热点内容是否突出?

问题:一台客户端上有300 个客户端和服务器上有300 个客户端有什么区别?

请务必对外发布。这提高了错误提交的质量。

描述软件测试的两种基本方法:黑盒测试和白盒测试的优缺点。

黑盒测试的优点是:它相对简单,不需要了解程序的内部代码或实现。从用户的角度来看,很容易知道。根据软件开发文档,还可以知道用户在做软件自动化测试时使用了哪些功能,遇到了哪些问题,以及文档中的哪些功能更方便实现。

黑盒测试的缺点是无法覆盖所有代码,覆盖率较低,仅达到总代码的30%,自动化测试的复用性较低。

白盒测试的好处在于它可以让软件测试人员增加代码覆盖率、提高代码质量、发现代码中隐藏的问题。

白盒测试的缺点是一个程序可以走很多不同的路径来工作,并且不可能测试所有的执行路径;测试是基于代码,以及开发人员是否做得正确;只能测试你的设计是否正确,有可能会泄露。如果系统很大,测试开销可能会很大。

系统瓶颈是什么?

参考答案:

瓶颈主要是指整个软硬件系统的一个或多个方面无法满足用户特定的业务需求。 “特定”毕竟意味着大多数系统无法满足特定的业务需求,因此在某些情况下会出现瓶颈。预生产用户要求。

严格从技术角度来说,所有系统都存在瓶颈,因为大多数系统的资源配置不协调。例如,即使CPU 使用率达到100%,系统也不会出现内存不足的情况。因此,在讨论系统瓶颈时,我们必须从应用的角度来讨论。关键是要确保系统能够满足用户的需求。如果用户将系统推向极限,系统很可能会正常响应,或者系统中可能不存在瓶颈,或者瓶颈可能不会影响用户的工作。

因此,我们主要测试系统瓶颈,达到两个目的:

-发现“表面”瓶颈。主要目的是模拟用户操作,当用户将系统推到极限时发现瓶颈,并解决瓶颈。这就是性能测试的基本目的。

– 发现并解决潜在瓶颈,确保系统长期稳定。主要考虑的是保证系统能够适应未来随着用户对系统的扩展或者随着业务的变化。我们系统设计的目标是确保系统的整个软件生命周期能够不断适应用户的变化,或者说系统能够简单地适应新的变化。我们正在扩展该系统。

手机APP测试

:主要包括功能、性能测试、稳定性、兼容性、用户测试。

性能测试:CPU使用率/内存使用率/功耗测试/流量消耗测试/安装包大小/加载时间测试/核心功能响应时间(启动时间检测:检测APP在设备上的首次启动时间。内存和CPU消耗检测):检测应用在设备上运行时不同时间的内存和CPU使用情况。 流量消耗检测:检测应用在设备上运行时的网络流量消耗情况。 电池温度检测:应用程序运行时检测。 (设备电池温度和其他性能指标的影响)

兼容性测试:屏幕分辨率/网络状态、状态切换/Android版本/安装、卸载、升级等/权限设置/与其他应用的兼容性(安装/卸载测试:应用在指定环境下正常遍历测试:自动识别App的可执行功能,在一定时间内遍历App的各个功能界面,通过截图和输出日志查看操作路径并识别。 运行稳定性测试:与Monkey类似,测试运行应用程序的稳定性。 UI适配测试:测试并记录应用的UI是否适配目标设备的屏幕。渲染失败、错位、黑边、黑白屏等)

稳定性测试包括服务器不健康时的稳定性/外部事件(电话、短信等)的影响/存在内存溢出或泄漏/多线程问题。

什么是并发?如何在lordrunner 中运行并发测试?如果集合点失败会发生什么?

参考答案:

同时支持多种不同的操作。

LoadRunner提供IP伪装、交汇点、虚拟用户设计以及多台计算机上的配置,以更好地模拟现实世界的并发。

集合点是多个用户在特定时间和特定环境中同时执行虚拟用户操作的点。如果集合点失败,集合点操作将被取消,并且测试无法运行。

详细解释了测试活动的完整过程。

答案:(仅供参考,这个答案主要基于瀑布模型)

项目经理通过与客户沟通完成需求文档,开发人员和测试人员协作完成需求文档审核。审查将包括要求不明确或可能存在明显冲突或功能的领域。无法实施。项目经理整合开发人员、测试人员和客户的意见来最终确定项目计划。 SQA随后进入项目并开始统计和跟踪。开发人员根据需求文档完成需求分析文档,测试人员审核双方是否有遗漏或理解上的差异。派对。测试人员完成测试计划文档。上面解释了测试计划的内容。测试人员开始根据修改后的需求分析文档编写测试用例,开发人员完成高级和详细的设计文档。这两份文档作为测试人员编写测试用例的支撑材料。一旦测试用例完成,就应该审查测试和开发。测试人员构建环境,开发人员提交第一个版本。可能有未完成的功能需要澄清。测试人员运行测试,查找错误,然后将其提交给BugZilla。开发人员提交第二个版本,其中包含错误修复和附加功能以供测试人员测试。如果重复上述步骤,BUG数量就会减少,并且可以满足出货要求,通常是在3-4个版本之后。如果客户报告问题,测试人员应帮助重现和重新测试。

在我之前的工作中,软件缺陷(或错误)记录包括哪些内容?如何提交高质量的软件缺陷(或错误)记录?

在经典的BugZilla中,一个BUG的描述必须包括该BUG对应的软件版本以及该BUG所属模块的优先级。如果不可能,则错误标题应清楚地描述该现象,并提供尽可能多的有关修复该错误的步骤的详细信息。错误附件。高质量的Bug记录是一种描述要求较高,能够提供大量准确信息帮助开发者正确查找的Bug记录。你需要小心错误。记录的描述质量高且准确。

您是否在思考如何提高测试人员和开发人员沟通过程中的沟通效率和效果?保持测试人员和开发团队其他成员良好关系的关键是什么?

强调需要尽可能面对面地沟通,然后深入了解只能通过电子邮件等不太及时的沟通工具进行沟通的情况的特点。并且您将能够清楚地表达它们。更有效的方法是使用TestDirector等测试管理工具来管理。同时,您还应该注意TestDirector bug的准确描述。在团队中的测试人员和开发人员之间建立良好的沟通时,请记住以下几点:第一,诚实,第二,团队精神,第三,有共同的专业语言,第四,处理问题而不是个人,当然还有bug跟踪,以增加对方的好感,而不是进入系统。还直接指出一些小问题。

软件测试项目什么时候开始?

软件测试不仅涵盖程序的编码,还需要测试软件开发过程中创建的所有产品,并且由于软件缺陷往往越晚发现就越被放大,因此需求分析必须在这个阶段进行。修理的次数越多,费用就越高。

结束测试的标准是什么?

从微观的角度来看,比如系统在一定性能下平稳运行72小时,那么这个版本一般不会出现严重的Bug,通常的Bug数量为。如果小于3且bug修复率大于90%,则等待参数和开发经理、测试经理、项目经理共同签署批准版本发布。从宏观上讲,当软件完全消失时,测试就结束了。

您是否了解您曾经工作过的任何一家公司的软件开发流程?如果了解,请解释一下整个开发过程中需要完成哪些任务。执行这些任务的不同角色是什么?您在之前的测试工作中参与过哪些具体任务?

开发流程:需求调查(需求经理)、需求分析(需求经理)、总体设计(设计师)、详细设计(设计师)、编码(开发人员) 测试流程:需求评审、系统测试设计,我们擅长改进软件流程通过执行总体设计评审、集成测试设计、详细设计评审、单元测试设计和测试执行等所有流程来确定质量。结合过去的经验和教训。

补充装

1.明确你的测试目标,增加测试计划的实用性创建软件测试计划的一个重要目的是帮助测试过程发现更多的软件缺陷。因此,软件测试计划的价值取决于其能力。它可以帮助您管理测试项目并识别软件中的潜在缺陷。因此,软件测试计划的测试范围必须高度覆盖功能需求,测试方法必须实用,测试工具必须实用易用,生成的测试结果必须直观、准确。不一定是这样。

2. 采用审查和更新机制,确保测试计划满足实际需求

如果您创建测试计划,然后未经审查就直接发送给测试团队,则测试计划可能不准确或缺失,或者测试范围可能会因软件需求的变化而增加或减少。测试计划内容可能无法及时更新,并且可能在测试执行中产生误导。分别创建测试计划和测试

详细规格、测试用例,应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。

请你回答一下性能测试有哪些指标,对一个登录功能做性能测试,有哪些指标,怎么测出可同时处理的最大请求数量

参考回答:

性能测试常用指标:

从外部看,主要有

1、吞吐量:每秒钟系统能够处理的请求数,任务数

2、响应时间:服务处理一个请求或一个任务的耗时

3、错误率:一批请求中结果出错的请求所占比例

从服务器的角度看,性能测试关注CPU,内存,服务器负载,网络,磁盘IO

对登录功能做性能测试

单用户登陆的响应界面是否符合预期

单用户登陆时后台请求数量是否过多

高并发场景下用户登录的响应界面是否符合预期

高并发场景下服务端的监控指标是否符合预期

高集合点并发场景下是否存在资源死锁和不合理的资源等待

长时间大量用户连续登录和登出,服务器端是否存在内存泄漏

怎么测出可同时处理的最大请求数量

可以采用性能测试工具(WeTest服务器性能),该工具是腾讯wetest团队出品,使用起来很简单方便,但测试功能相当强大,能提供10w+以上的并发量,定位性能拐点,测出服务器模型最大并发

什么是兼容型测试?兼容性测试侧重哪些方面?

兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了

兼容和配置测试的区别在于,做配置测试通常不是在Clean OS下做测试,而兼容测试多是在Clean OS环境下做的。

补充:做兼容测试的具体步骤:在列好的软硬件环境清单做冒烟测试,还是每一步都测试。测出不兼容,怎么和开发沟通,开发面对这些不兼容需要做什么。如果修复成本很高,怎么和产品经理沟通。和谁确认表单

软件测试项目从什么时候开始,?为什么?

软件测试应该在需求分析阶段就介入,因为测试的对象不仅仅是程序编码,应该对软件开发

过程中产生的所有产品都测试,并且软件缺陷存在放大趋势.缺陷发现的越晚,修复它所花费的成本就越大.

二、测试实战面试题

我现在有个程序,发现在Windows上运行的很慢,怎么判别是程序存在问题还是软硬件系统存在问题

1、检查系统是否有中毒的特征

2、检查软件/硬件的配置是否符合软件的推荐标准

3、确认当前的系统是否独立,即没有对外提供什么消耗CPU资源的服务

4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成

5、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况

补充:每一步该怎么实现,需要用到什么技术

一个程序有n个变量采用边界值分析可以产生几个测试用例

4n+1

请设计一个关于ATM自动取款机的测试用例。

1)功能

a)ATM所识别卡的类型;

b)密码验证(身份登陆、是否为掩码、输入错误密码时是否提示,连续三次错误吞卡等);

c)取款功能:

i、金额多少的限制,单次最大最小提取金额、每天最大提取金额等);

Ii、取款币种的不同,如人民币、美元、欧元等。

d)是否提示客户操作完成后,打印相关操作信息;

e)查询功能是否正常;

f)转账功能是否正常;

g)是否提示客户操作完成后,取回客户卡;

2)性能

a)是否有自动吞卡:非法客户\\密码错误客户\\规定时间内未完成相关操作功能的客户。(如果有,有无报警功能(保密报警))

b)平均无故障时间,平均故障修复时间,输入密码后验证时间,出钞票时间,查询余额等待时间。

3)易用性

a)ATM各个操作功能(硬件)是否正常、易懂;

b)ATM的界面显示是否友好;

c)ATM是否支持英文操作;

d)ATM是否存在异常(断电、黑客入侵)有自动保护(报警)功能;

如何测试一个 纸杯?

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

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

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

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

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

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

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

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

放 24 小时检查泄漏时间和情况等

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

我手上这支笔,请你根据这支笔设计测试用例

首先我要测它的外观、颜色是否符合要求、所占的空间是多大、是否环保、接下来测它的质量、这支笔是否能够写字流畅、写出的自得颜色是否符合要求、能使用多长时间等

测试手机开机键

功能测试:按下开机键,屏幕能否亮起

性能测试:按下开机键,屏幕能否在规定时间内亮起

压力测试:连续多次按下开机键,观察屏幕是否能一直亮起,到多久时间失灵

健壮性测试:给定一个中了病毒的手机或者是淘汰许久的老机子,安歇开机键观察屏幕能否亮起

可靠性测试:连续按下开机键有限次数,比如1万次,记录屏幕未亮起的次数

可用性测试:开机键按下费不费力,开机键的形状设计是否贴合手指,开机键的位置设计是否方便

如何回答登录功能怎么进行测试?

首先,进行界面测试。

查看界面上的所有元素是否齐全;

没有输入内容时,是否有相应的提示语;

验证码是否能够显示;

移动鼠标,【登陆】按钮默认不能点击;

【忘记密码】是否有个小问号“?”(其他都有);

第二,进行功能测试。

输入正确的用户名、密码、验证码,点【登陆】能登陆;

输入正确的用户名、错误的密码、正确的验证码,提示用户名或密码错误;

输入错误的用户名、正确的验证码,提示用户名或密码错误;

输入正确的用户名、密码,错误的验证码,提示验证码错误;

输入不符合规则的手机号或者邮箱应该提示错误;

页面长时间不登陆和操作,验证码会不会过期;

点【记住密码】,登录后退出,再次登陆是不是可以不输入密码;

点【忘记密码】能够跳转到密码设置页面(至于是什么不用管,就是能不能跳转)

只点击验证码图案,验证码能不能刷新;

页面刷新,验证码图案能不能刷新;

输入栏是否设置快速删除按钮;

用户名和密码是否大小写敏感;

用户名和密码前后有空格的处理;

登陆成功,是否有记住密码功能;

登陆失败后,不能记录密码的功能;

新用户第一次登陆成功,是否有修改密码提示;

用户登录过程中log中是否有个人信息明文打印;

是否支持第三方登陆;

刷新页面时是否会刷新验证码;

输入密码的时候,大写键盘开启的时候要有提示信息 ;

不同级别的用户,比如管理员用户和普通用户,登录系统后的权限是否正确;

第三、业务安全测试。

有没有登陆错误次数的限制;

每次登陆错误之后有没有限制再次登陆的时间间隔;

是否支持一个账号多地登陆;

不同机型登陆,异地登陆是否有提醒 ;

不登录的情况下,在浏览器中直接输入登录后的URL地址,验证是否会重新定向到用户登录界面;

第四、兼容性测试。

在相同浏览器的不同版本上打开登录页面,效果是否一致;在不同浏览器上打开登录页面,效果是否一致;在不同操作系统的不同浏览器打开登录页面,效果是否一致;在不同的屏幕分辨率下打开登录页面,效果是否一致;

第五、代码安全性测试。

用户输入登录信息登陆时,个人信息是不是会显示在浏览器地址栏;

用户登陆的时候,通过抓包工具抓数据,密码是否加密;

查看页面源代码,验证码是否直接显示在代码中;

密码在后台储存时是否加密;

是否可以使用登录的API发送登录请求,并绕开验证码校验;

用户名和密码的输入框中分别输入典型的“SQL注入攻击”字符串,验证系统的返回页面;

用户名和密码的输入框中分别输入典型的“XSS跨站脚本攻击”字符串,验证系统行为是否被篡改;

第六、页面性能测试。

单用户登录的响应时间是否小于3秒;

通过工具向登录页发起大量请求,查看页面响应时间的变化;

通过工具对登陆功能进行并发测试;通过工具向登录页发起大量请求,查看页面何时崩溃;

通过工具向登录页发起大量请求,查看页面崩溃后有没有良好的提示信息;

通过工具向登录页发起大量请求,查看页面崩溃后多长时间能够恢复服务;

弱网,不同网速时登陆的时间,网络切换和网络延迟时登陆界面是否正常;

最后、易用性测试。

页面是否美观;

功能是否都可以使用;

页面速度快不快;

页面元素加载是否耗费网络流量;

能不能第三方登陆;

为什么不使用手机验证码登陆;

输入框能否可以以Tab键切换。

如何回答京东购物车功能怎么进行测试?

1.功能测试

a)、未登录时:

将商品加入购物车,页面跳转到登录页面,登录成功后购物车数量增加。

b)、登录后:

所有链接是否跳转正确;

商品是否可以成功加入购物车;

没有限购要求的商品,添加数量能不能超过库存数;

购物车商品总数是否有限制;

商品总数统计是否正确;

全选功能是否可用;

删除功能是否可用;

删除功能是否有提示;

价格总计是否正确;

商品文字太长时是否显示完整;

购物车中下架的商品是否有标识,是否还能支付;

新加入购物车商品排序(添加购物车中存在的店铺的商品和购物车中不存在的店铺的商品);

是否支持快TAB、ENTER等快捷键;

商品删除后商品总数是否减少;

收藏功能是否可用;

账号退出后,购物车添加的内容是否还在;

购物车结算功能是否可用。

限购商品按照规则购买完成后,还能不能再次添加购物车并购买;

2.兼容性测试

BS架构:不同浏览器测试,比如:IE,火狐,谷歌,360这些。

APP:在主流的不同类型,不同分辨率,不同操作系统的手机上测试,华为,vivo,oppo等

3.用户体验测试

删除商品是否有提示;

是否支持快捷键功能;

是否有回到顶部的功能;

商品过多时结算按钮是否可以浮动显示;

购物车有多个商品时,能不能只对单个商品结算;

界面布局、排版是否合理;

文字是否显示清晰;

不同卖家的商品是否区分明显。

4.性能测试

打开购物车页面要多长时间

支付流程测试

功能测试。

用等价类和边界值,判断支付的金额

如果没有登陆能否支付,支付成功后是否可以正常跳转;

支付方式是否支持扫码支付,第三方平台支付(支付包,云网等),语音支付,指纹支付;

支付时是否需要身份验证,支付后有无手机短信提示,是否可以找他人代付;

用边界值法有无支付额度限制,余额不足时有无提示,支付时是否是动态加密支付;

待支付状态:订单是否可以正常支付;是否可以取消;有相同订单是否可以支付两次;

是否可以扫码支付,输入错误的密码会怎样显示,有无错误次数限制;

若支持扫码支付,二维码是否支持支付包和微信扫码,若两人同时扫描怎么处理;

有无最小支付金额限制,无意义的支付金额0,重复支付如何处理;

如果支付包含优惠金额,该怎么处理优惠额度;

性能测试

弱网,无网时是否可以支付;

退款到账时间,耗电量的多少;

带负载情况下的响应时间和吞吐率,在某个时间段内同时访问系统的用户数量 ;

压力测试

多人同时付款;

界面测试;

支付界面有无错别字,排版是否合理,颜色搭配是否合理;

兼容性测试

是否可以跨平台,不同电脑机型下显示有无区别;

安全性测试;

若支付不成功是否原路退款,若支付成功,有无支付信息提示;

用fiddler抓包尝试修改价格,对订单金额有无效验;

直接输入需要权限的页面地址可用访问;

接口测试

第三方平台支付

对于有系统大量并发访问,你会如何做测试,有什么建议

参考回答:

如何做高并发系统的测试,一般而言,整体的测试策略是:先针对部分系统进行性能测试及压力测试,得到各部分的峰值处理性能,再模拟整体流程测试,重点测试整体业务流程以及业务预期负荷,着重测试以下几点:

1、不同省份,不同运营商CDN节点性能,可采用典型压力测试方案

2、核心机房BGP网络带宽,此部分重点在于测试各运行商的BGP网络可靠性,实际速率,一般采用smokeping,lxChariot等工具

3、各类硬件设备性能,一般采用专业的网络设备测试工具

4、各类服务器并发性能,分布式处理能力,可采用压力测试方案工具

5、业务系统性能,采用业务系统压力测试方案

6、数据库处理性能,这部分需要结合业务系统进行测试,以获取核心业务场景下的数据库的TPS/QPS,

7、如果有支付功能,需要进行支付渠道接口及分流测试,此部分相对而言可能是最大的瓶颈所在,此外还涉及备份方案,容灾方案,业务降级方案的测试。

请对这个系统做出测试用例:一个系统,多个摄像头,抓拍车牌,识别车牌,上传网上,网上展示

参考回答:

功能:

1.每个摄像头都能抓拍车牌;

2.每个摄像头抓拍到的车牌能正常交给系统处理;

3.系统能够正确识别车牌;

4.系统能够将识别出的车牌上传;

5.上传至网络的车牌能够正常展示出来;

一、功能测试

1.使用正常的车牌,保持车牌静止,检查每个摄像头是否能抓拍车牌;

2.使用类似非车牌的写有字的纸板,检查每个摄像头是否抓拍;

3.使用正常的车牌,保持车牌较高速移动,检查每个摄像头是否能抓拍车牌;

4.在多种情况下检查每个摄像头抓拍到的车牌能否正常交给系统处理,如临时断电、断网后能否正常将数据交给系统;

5.使用抓拍到的正常的车牌,交由系统处理,检查系统能否识别车牌;

6.使用非车牌的其他图片,交由系统处理,检查系统能否识别;

7.在多种情况下检查系统能否将正常识别出的车牌进行上传,如临时断电、断网后未上传数据是否能继续上传;

8.构造非车牌的其他内容的数据,检查系统能否将异常内容进行上传;

9.检查上传至网络的车牌能否正常展示出来;

10.上传非车牌的其他内容的数据,检查能否正常显示出来。

二、性能测试

1.同时向一个摄像头展示多个静止的车牌,检查摄像头能否抓拍到多个车牌;

2.同时向一个摄像头展示多个较高速运动的车牌,检查摄像头能否抓拍到多个车牌;

3.抓拍后,检查系统识别车牌的时间是否在需求要求的时间内;

4.模拟大量抓拍照片同时交由系统处理,检查一定压力下系统能否正常识别车牌;

5.模拟大量车牌同时上传,检查一定压力下能否上传成功。

三、安全性测试

1.检查是否能够通过给车牌加装饰物等方法,使摄像头无法抓拍或抓拍后系统无法正常识别车牌。

请你说一说PC网络故障,以及如何排除障碍

参考回答:

(1)首先是排除接触故障,即确保你的网线是可以正常使用的。然后禁用网卡后再启用,排除偶然故障。打开网络和共享中心窗口,单击窗口左上侧“更改适配器设置”右击其中的“本地连接“或”无线网络连接”,单击快捷菜单中的“禁用”命令,即可禁用所选网络。接下来重启网络,只需右击后单击启用即可。

(2)使用ipconfig查看计算机的上网参数

1、单击“开始|所有程序|附件|命令提示符“,打开命令提示符窗口

2、输入ipconfig,按Enter确认,可以看到机器的配置信息,输入ipconfig/all,可以看到IP地址和网卡物理地址等相关网络详细信息。

(3)使用ping命令测试网络的连通性,定位故障范围

在命令提示符窗口中输入”ping 127.0.0.1“,数据显示本机分别发送和接受了4个数据包,丢包率为零,可以判断本机网络协议工作正常,如显示”请求超时“,则表明本机网卡的安装或TCP/IP协议有问题,接下来就应该检查网卡和TCP/IP协议,卸载后重装即可。

(4)ping本机IP

在确认127.0.0.1地址能被ping通的情况下,继续使用ping命令测试本机的IP地址能否被ping通,如不能,说明本机的网卡驱动程序不正确,或者网卡与网线之间连接有故障,也有可能是本地的路由表面收到了破坏,此时应检查本机网卡的状态是否为已连接,网络参数是否设置正确,如果正确可是不能ping通,就应该重新安装网卡驱动程序。丢失率为零,可以判断网卡安装配置没有问题,工作正常。

(5)ping网关

网关地址能被ping通的话,表明本机网络连接以及正常,如果命令不成功,可能是网关设备自身存在问题,也可能是本机上网参数设置有误,检查网络参数。

微信红包

功能

1.在红包钱数,和红包个数的输入框中只能输入数字

2.红包里最多和最少可以输入的钱数 200 0.01

3.拼手气红包最多可以发多少个红包 100

3.1超过最大拼手气红包的个数是否有提醒

4.当红包钱数超过最大范围是不是有对应的提

5.当发送的红包个数超过最大范围是不是有提示

6.当余额不足时,红包发送失败

7.在红包描述里是否可以输入汉字,英文,符号,表情,纯数字,汉字英语符号,

7.1是否可以输入它们的混合搭配

8.输入红包钱数是不是只能输入数字

9.红包描述里许多能有多少个字符 10个

10.红包描述,金额,红包个数框里是否支持复制粘贴操作

12.红包描述里的表情可以删除

13.发送的红包别人是否可以领取

13.1发的红包自己可不可以领取 2人

14. 24小时内没有领取的红包是否可以退回到原来的账户

14.1 超过24小时没有领取的红包,是否还可以领取

15.用户是否可以多次抢一个红包

16.发红包的人是否还可以抢红包 多人

17.红包的金额里的小数位数是否有限制

18.可以按返回键,取消发红包

19. 断网时,无法抢红包

20.可不可以自己选择支付方式

21.余额不足时,会不会自动匹配支付方式

22.在发红包界面能否看到以前的收发红包的记录

23.红包记录里的信息与实际收发红包记录是否匹配

24.支付时可以密码支付也可以指纹支付

25.如果直接输入小数点,那么小数点之前应该有个0

26.支付成功后,退回聊天界面

27.发红包金额和收到的红包金额应该匹配

28.是否可以连续多次发红包

29.输入钱数为0,\”塞钱进红包\”置灰

性能

1.弱网时抢红包,发红包时间

2.不同网速时抢红包,发红包的时间

3.发红包和收红包成功后的跳转时间

4.收发红包的耗电量

5.退款到账的时间

兼容

1.苹果,安卓是否都可以发送红包

2.电脑端可以抢微信红包

界面

1.发红包界面没有错别字

2.抢完红包界面没有错别字

3.发红包和收红包界面排版合理,

4.发红包和收到红包界面颜色搭配合理

安全

1.对方微信号异地登录,是否会有提醒 2人

2.红包被领取以后,发送红包人的金额会减少,收红包金额会增加

3.发送红包失败,余额和银行卡里的钱数不会少

4.红包发送成功,是否会收到微信支付的通知

易用性(有点重复)

1.红包描述,可以通过语音输入

2.可以指纹支付也可以密码支付

微信发朋友圈点赞

参考回答:

功能测试:点赞某条朋友圈,验证是否成功

接口测试:点赞朋友圈,验证朋友能否收到提示信息

性能测试:点赞朋友圈,是否在规定时间显示结果,是否在规定时间在朋友手机上进行提示。

兼容性测试

在不同的终端比如ipad,手机上点赞朋友圈,验证是否成功

如何对淘宝搜索框进行测试

参考回答:

一, 功能测试

1. 输入关键字,查看: 返回结果是否准确,返回的文本长度需限制

1.1输入可查到结果的正常关键字、词、语句,检索到的内容、链接正确性;

1.2输入不可查到结果的关键字、词、语句;

1.3输入一些特殊的内容,如空、特殊符、标点符、极限值等,可引入等价类划分的方法等;

2. 结果显示:标题,卖家,销售量,单行/多行,是否有图片

3. 结果排序:价格 销量 评价 综合

4.返回结果庞大时,限制第一页的现实量,需支持翻页

5. 多选项搜索:关键字 品牌 产地 价格区间 是否天猫 是否全国购

6. 是否支持模糊搜索,支持通配符的查询

7, 网速慢的情况下的搜索

8. 搜索结果为空的情况

9. 未登录情况和登录情况下的搜索(登录情况下 存储用户搜索的关键字/搜索习惯)

二.性能测试:

1压力测试:在不同发用户数压力下的表现(评价指标如响应时间等)

2负载测试:看极限能承载多大的用户量同时正常使用

3稳定性测试:常规压力下能保持多久持续稳定运行

4内存测试:有无内存泄漏现象

5大数据量测试:如模拟从庞大的海量数据中搜索结果、或搜索出海量的结果后列示出来,看表现如何等等。

三. 易用性:交互界面的设计是否便于、易于使用

1依据不同的查询结果会有相关的人性化提示,查不到时告知?查到时统计条数并告知?有疑似输入条件错误时提示可能正确的输入项等等处理;

2查询出的结果罗列有序,如按点击率或其他排序规则,确保每次查询出的结果位置按规则列示方便定位,显示字体、字号、色彩便于识别等等

3标题查询、全文检索、模糊查询、容错查询、多关键字组织查询(空格间格开)等实用的检索方式是否正常?

4输入搜索条件的控件风格设计、位置摆放是否醒目便于使用者注意到,有否快照等快捷查看方式等人性化设计?

四. 兼容性

1WINDOWS/LINUX/UNIX等各类操作系统下及各版本条件下的应用

2IE/FIREFOX/GOOGLE/360/QQ等各类浏览器下及各版本条件下、各种显示分辨率条件下的应用

3SQL/ORACLE/DB2/MYSQL等各类数据库存储情况下的兼容性测试

4简体中文、繁体中文、英文等各类语种软件平台下的兼容性测试

5IPHONE/IPAD、安卓等各类移动应用平台下的兼容性测试

6与各相关的监控程序的兼容性测试,如输入法、杀毒、监控、防火墙等工具同时使用

五. 安全性

1被删除、加密、授权的数据,不允许被SQL注入等攻击方式查出来的,是否有安全控制设计;

2录入一些数据库查询的保留字符,如单引号、%等等,造成查询SQL拼接出的语句产生漏洞,如可以查出所有数据等等,这方面要有一些黑客攻击的思想并引入一些工具和技术,如爬网等。

3通过白盒测试技术,检查一下在程序设计上是否存在安全方面的隐患;

4对涉及国家安全、法律禁止的内容是否进行了相关的过滤和控制;

就linux下的CP命令设计测试用例。

功能

拷贝的文件

1)大小:0k, 1k, 10k, 100k, 1000k…

2)类型:二进制文件、文本文件、mp3、avi、压缩文件…

文件源目录

1)文件中包含各种类型的文件

2)目录深度为0,1,2,3…

文件目标目录

1)目标目录中存在与源文件同名同类型的文件

2)目标目录中存在与源文件同名不同类型的文件

3)目标目录中存在与源文件不同名同类型的文件

4)目标目录中存在与源文件不同名不同类型的文件

异常

参数异常

1)包含特殊字符

2)参数长度超过限制

3)源目录不存在

4)目标目录不存在

文件异常

1)文件没有拷贝权限

2)非法的文件格式和内容

存储介质异常

1)存储介质由损坏

2)拷贝前存储介质已满

3)拷贝中存储介质存满

执行过程异常

1)拷贝过程中删除源文件

2)拷贝过程中删除目标文件

性能

1)拷贝大文件

2)拷贝源目录中存在大量小文件

3)跨文件系统拷贝

4)跨存储介质拷贝

5)并发执行拷贝

关注性能点:拷贝完成时间,CPU,内存,磁盘IO

请问如果用户点击微博的关注图标但是APP上面没有反应,应该怎么排查这个问题

是否手机出现故障,是否手机缓存过多造成内存不够用

是否手机网络连接不稳定(弱网/无网),若是,有无网络差提示

是否手机内存溢出(关注人数达上限否)

是否是版本问题或者是安装包问题(更新系统,重新安装安装包)

现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组:

标题:这一组只有一个记录,其内容为输出成绩报告的名字。

试卷各题标准答案记录:每个记录均在第80个字符处标以数字\”2\”。该组的第一个记录的第1至第3个字符为题目编号(取值为1一999)。第10至第59个字符给出第1至第50题的答案(每个合法字符表示一个答案)。该组的第2,第3……个记录相应为第51至第100,第101至第150,…题的答案。

每个学生的答卷描述:该组中每个记录的第80个字符均为数字\”3\”。每个学生的答卷在若干个记录中给出。如甲的首记录第1至第9字符给出学生姓名及学号,第10至第59字符列出的是甲所做的第1至第50题的答案。若试题数超过50,则第2,第3……纪录分别给出他的第51至第100,第101至第150……题的解答。然后是学生乙的答卷记录。

学生人数不超过200,试题数不超过999。

程序的输出有4个报告:

a)按学号排列的成绩单,列出每个学生的成绩、名次。

b)按学生成绩排序的成绩单。

c)平均分数及标准偏差的报告。

d)试题分析报告。按试题号排序,列出各题学生答对的百分比。

分别考虑输入条件和输出条件,以及边界条件。给出右表所示的输入条件及相应的测试用例。

三、基础知识点

什么是桩模块?什么是驱动模块?

桩模块:被测模块调用模块

驱动模块 调用被测模块

什么是扇入?什么是扇出?

扇入:被调次数,扇出:调其它模块数目

8020原则:在需求分析开始到集成测试阶段引入测试手段,能发现所有缺陷的80%,系统测试阶段发现16%,在运行维护阶段经过长时间大量运行软件后,能够发现4%。起源于经济学。

什么是耦合?什么是内聚?

耦合:对一个软件结构内各个模块之间互连程度的度量。

内聚:一个模块内各个元素彼此结合的紧密程度。强内聚,松耦合。

缺陷严重程度:

致命(Fatal)、严重(Critical)、一般(Major)、较小(Minor)。

缺陷优先级:

立即解决P1、高优先级P2、正常排队P3、低优先级P4。

缺陷状态:

打开(open)、修正(fixed)、重新打开(reopen)、关闭(closed)、重复(Duplicate)、推迟(Deferred)、保留(On hold)、不修复(wontfix)。

简单的软件缺陷生命周期:

发现(new)-打开-修复-关闭。

复杂的软件缺陷生命周期:

新建-打开-Bug审查(设计需要修改/延期/关闭)-关闭。

新建-打开-是否清楚,可再现(不能再现缺少信息返回到打开状态)-修正-关闭。

什么是在线用户数?什么是并发用户数?

在线用户数:

用户同时在一定时间段的在线数量

并发用户数:

某一时刻同时向服务器发送请求的用户数

分布式软件架构分为:

B/S架构(浏览器、web版) C/S架构:客户端(先进行安装)

测试人员的能力:

搭建环境的能力(配置JDK、数据库、Tomcat/Apace、程序放相应路径下、检查配置是否成功‚数据库管理和设置ƒ程序设计C++④测试方法论⑤工具的使用能力(QC\\QTP\\LR\\Bugfree)

简述负载测试与压力测试的区别。

参考答案:

压力测试(Stress Testing)

压力测试的主要任务就是获取系统正确运行的极限,检查系统在瞬间峰值负荷下正确执行的能力。例如,对服务器做压力测试时就可以增加并发操作的用户数量;或者不停地向服务器发送请求;或一次性向服务器发送特别大的数据等。看看服务器保持正常运行所能达到的最大状态。人们通常使用测试工具来完成压力测试,如模拟上万个用户从终端同时登录,这是压力测试中常常使用的方法。

负载测试(Volume Testing)

用于检查系统在使用大量数据的时候正确工作的能力,即检验系统的能力最高能达到什么程度。例如,对于信息检索系统,让它使用频率达到最大;对于多个终端的分时系统,让它所有的终端都开动。在使整个系统的全部资源达到“满负荷”的情形下,测试系统的承受能力。

软件缺陷管理工具有哪些

答: QC ALM BugFree jira Mantis 禅道

弱网测试

四、智力题

一,5只猫 五分钟捉5只老鼠 请问100分钟捉100只老鼠需要多少只猫?

答案:5只

二,圆桌,两个人,轮流放硬币,不能重叠,半径为1,某一方不能放下去,则为输。问先手赢 后手赢

答案:先手赢,圆桌对称,先手先放,后手都可以找对称位置,除了圆心

三,3升的杯子一个,5升的杯子一个,杯子不规则形状 问怎么得到4升的水 水无限多

答案:略

四,晚上有四个人过桥,一次只能过两个人,但是只有一只手电筒,四个人过桥时间分别是1,2,5,8,求最短过桥时间

答案:甲乙,甲回,丙丁,乙回,甲乙,15分钟

五,有十张扑克牌,每次可以只出一张,也可以只出两张,要出完有多少种出法

答案:89 F(9)=N F(8)=P F(10)=F(8)+F(9) F(1)=1 F(2)=2

六,井盖为什么是圆的

答案:用料少,受压均匀,成本低

七,两个盲人各买了一白一黑两双袜子,不小心弄混了,问他们自己怎么分成刚好每人一白一黑

答案:袜子是连在一起的

八, 烧一根不均匀的绳子,从头烧到尾总共需要1个小时,问如何用烧绳子的方法来确定15分钟?

答案:烧两根,一根点两头,一根点一头,烧完,剩下的把另一投点了,烧完,看重合点

九,海盗分金,五人,过半同意,否则喂鱼,问1方案?

答案:45,5反对,4喂鱼,所3(100,0,0),故2(98,0,1,1),故1(97,0,1,2,0)

十,岔路口,通往1,2,两人,一人必说谎,一人永真话,怎么去1

答案:问一人,另一人会回答那条路去1,回答答案必假

十一,果冻,有黄色、绿色、红色三种,闭眼抓同种颜色两个,抓取多少个,可确定有两个同色果冻?

答案:根据抽屉原理,4个

十二,下水道为什么是圆的

答案:方便人员进出,井盖不容易掉落,不易如棱角磨损节约材料,保护车辆 和行人的安全

十三,一共100个球,两人轮流拿,每人每次最多拿5个,最后一个拿的人赢;如果我先拿,怎么拿一定会赢?

答案:每次拿的球总数控制为6;第一次拿4个;

十四,有120g面粉,现有一个天平和一个2g的砝码以及一个7g的砝码,最少称几次可以将面粉分为70g与50g

答案:4次,第一次120g=111g+9g 第二次111g=93g+18g 第三次93g=57g+36g 第四次50g=57g-7g 70g=7g+36g+18g+9g

十五,扔鸡蛋不碎问题(腾讯校招面试题)?

答案:14次

十六,智力题:一千瓶中有一瓶毒药 十只小白鼠找出这瓶毒药

答案:2^10=1024,小白鼠编号1-10,瓶子编号1-1000,把瓶子的编号转变为二进制数,第几位1,就给第几个小白鼠喝

四、你还有什么想问的吗(必答)

我非常希望能够加入公司,所以想请问您觉得我还有哪些地方比较不足,能否给一些建议?以及是否有复试时间呢? 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。
#以上关于2024年软件测试面试题大全【含答案】的相关内容来源网络仅供参考,相关信息请以官方公告为准!

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93277.html

(0)
CSDN的头像CSDN
上一篇 2024年7月6日
下一篇 2024年7月6日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注