测试开发八股(测试方面)(1)

1.测试理论部分

1.为什么选择测试

我对开发技术比较感兴趣,所以再校期间看了一些业务开发的知识,但是在这个过程中但我发现了质量保障的独特价值。并且在后续的学习中了解到了自动化测试框架,通过自动化测试技术能够将测试用例的效率提升特别多,这比单纯写业务代码更加有成就感。

2.回答一下什么是软件测试

软件测试是通过系统化的方法验证软件产品是否符合预期需求的过程,包括需求评审时的场景覆盖、编码阶段的单元测试、持续集成中的自动化验证以及上线后的监控反馈等

3.你知道的项目开发模型有哪些

1.瀑布模型

顺序性强,每个阶段结束后才能进入下一个阶段,像瀑布一样逐步推进。

缺点:无法应对需求变化,测试集中在后期

2.敏捷开发

强调迭代、快速反馈、灵活性。开发过程是一个不断循环的过程。

适用场景:需求可能会频繁变化的项目,注重快速交付和客户反馈。

3.螺旋模型

结合了瀑布模型和敏捷开发的优点,强调风险管理。每一轮迭代(螺旋)包括计划、风险评估、工程设计和客户评审。

适用场景:大型、复杂的项目,且风险较高。

4.增量迭代模型

开发分阶段进行,每个阶段都是产品的一部分,并且通过反复开发和完善产品,每次迭代都是一个小版本

4.说一下你理解的项目开发的完整流程是什么

需求评审 -用例评审 - 技术评审,提bug -开发解bug - 复测没问题 - 项目上线 — 后期跟进监控等。

5.什么是测试左移,测试右移?

测试左移则是在需求分析、设计等早期阶段就开始着手测试工作,以确保在后续开发过程中能够减少代码缺陷和问题的出现。

测试右移则是在软件交付后持续进行测试工作,以确保软件在实际运行中的稳定性、性能和安全性。

6.你知道的设计测试用例的方法有哪些?

首先先回答测试包括以下这些:

功能测试 + 性能测试 + 界面测试 + 兼容性测试 + 易用性测试 + 安全性测试;

1.等价类,就是分区分块检测,分为有效等价类和无效等价类

2.边界值:也分为有效边界和无效边界

3.判定表:处理多条件组合,要分析好输入条件和输出条件,画出判定表之后,根据表写测试用例,一遍来说测试用例的条数为2的输入条件个数次方

4.错误猜测法:根据自己的经验,猜测那个过程中会出现问题

等等

7.如何提以及描述一个bug?

1.首先要保证这个bug是可重现的

2.登录缺陷管理工具

3.创建新缺陷,填写bug信息。包括:bug标题,bug类型,bug严重程度,bug优先级。附加一些bug描述的信息,前置条件,结果图等,指派bug,保存bug

8.你提的bug开发人员不认可怎么办?

1.重新验证Bug:测试人员可以再次验证Bug,确保Bug描述准确,可以重现,并且确实存在问题。

2.提供更详细的信息,描述这个bug是如何产生的,复现步骤、截图等

3.再次跟开发人员沟通讨论

4.实在不行寻求项目经理等帮助协调

9.如何判断一个bug属于前端还是后端?

  1. 了解bug的具体现象和表现:如果bug出现在用户界面或网页上,可能是前端bug;如果bug影响到服务器端或数据库操作,可能是后端bug。

  1. 查看报错信息:前端bug通常会在浏览器的开发者工具中显示有关脚本错误或样式问题的信息;后端bug通常会在服务器端的日志文件中显示有关请求处理或数据库操作的错误信息。

  1. 分析相关代码:查看触发bug的代码部分,如果涉及到前端界面的操作,可能是前端bug;如果涉及到后端业务逻辑、数据处理或API调用,可能是后端bug。

10.给测试留的预期时间只有3天,而评估测完需要5天,这种情况该怎么办?

1.质量最重要,向领导请示是否可以压缩上游的时间,保证测试能够按时完成

2.上一步不行的话,要告知领导测试风险,询问是否可以接受只测试主要功能,次要功能等上线后持续跟进测试

3.如果上述都不可以的话,继续向上级的上级领导反馈情况,寻求帮助

11.什么是APP(移动端)测试?

APP测试是指对移动应用程序进行的测试活动。移动应用程序(App)是指设计和开发用于移动设备(如手机、平板电脑)上运行的软件应用程序。APP测试是确保移动应用程序质量、功能正确性和用户体验的重要过程。

同样包括:功能测试,性能测试,界面测试,兼容性测试,用户体验测试等

12.APP崩溃(crash)的原因有哪些?

1.内存管理错误: 可用内存过低,app需要的内存超过了设备的限制,跑不起来导致崩溃内存泄露了

2.程序逻辑错误:像数组越界、堆栈溢出、并发操作、逻辑错误等比如添加一个未经测试的新功能,调用已经释放的指针,运行时就会崩溃

3.兼容性

4.网络波动

13.可以讲一下APP常见的异常情况各是什么意思嘛?

1.查看日志文件(通常是app.log)

2.看不同的报错情况,根据错误情况搜索关键字

(1)Crash:闪退问题

(2)ANR:程序无响应

(3)Exception:异常问题

(4)forceclosed:强制退出

14.什么是OOM?

OOM(Out Of Memory,内存溢出) 是指应用程序在申请内存时,系统无法提供足够的内存空间来满足需求,导致程序异常终止。以下是分层次的详细解析:

Android系统的OOM:当应用程序尝试使用的内存超出了系统为其分配的内存限制时,就会发生内存溢出,系统可能会强制关闭应用程序以释放内存。

表现:应用强制关闭,提示应用已经停止运行

IOS:iOS系统对每个应用程序的内存使用有严格的限制,如果应用使用的内存超过了这个限制,系统会向应用发送内存警告。如果应用没有及时释放足够的内存,系统会强制终止该应用。

表现:应用强制结束,没有提示

15.了解什么是埋点测试嘛?介绍一下

埋点测试是指在应用程序(如网站、移动应用等)中特定的位置插入代码,用于收集用户行为数据的过程。这些插入的代码就像一个个“监测点”,可以捕捉用户在应用内的各种操作和行为,例如点击按钮、浏览页面、提交表单等,以便后续对这些数据进行分析,了解用户的使用习惯、行为路径等,从而为产品优化、业务决策等提供数据支持

技术上分为:

代码埋点,

无埋点(也称为全埋点,通过特定的技术手段,自动收集应用程序中的所有用户行为数据,无需在代码中逐个添加埋点),

针对这个埋点测试:

数据准确性:检查埋点所收集的数据是否准确无误,例如点击事件的记录是否与用户实际点击的位置和次数完全一致,页面浏览量的统计是否准确等。

数据完整性:验证是否所有需要收集的用户行为数据都被正确地记录下来,没有遗漏重要的操作或事件。

埋点性能:关注埋点代码对应用程序性能的影响,如是否会导致应用程序卡顿、加载速度变慢等问题。

16.什么是冒烟测试,讲一下你的理解?

冒烟测试就是完成一个新版本的开发后,对该版本最基本的功能进行测试,保证基本的功能和流程能走通。如果不通过,则打回开发那边重新开发;

如果通过测试,才会进行下一步的测试(功能测试,集成测试,系统测试等)。

作用:主要确认新的版本是否存在致命性bug,冒烟测试最大的优点在于节约测试的时间成本,减少测试轮数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值