软件测试基础面试问答(二)

1、什么是功能测试?能举个例子吗?

功能测试是对软件的每个功能进行验证,确保其行为与需求规格一致,其主要目的是发现与需求不符合的缺陷和错误,例如在用户注册功能中测试的输入有效数据和无效数据,确保应用程序按预期反应。功能测试一般采用黑盒测试,测试方法有:等价类划分、边界值分析、决策表测试,因果图法,判定表分析法等。

2、功能测试与性能测试有什么明显的区别?

  • 功能测试:确保软件“做对的事”(功能正确性)。
  • 性能测试:确保软件“把事情做好”(效率、稳定性)

维度

功能测试

性能测试

测试目标不同

核心目标

验证软件功能是否按需求正常工作

验证软件在特定条件下的性能表现(如速度、稳定性)。

典型问题

“功能是否实现?”

(如登录是否成功)

“功能是否足够快/稳定?”

(如1000用户同时登录是

关注点不同

验证内容

-输入输出的正确性

-响应时间

-业务流程是否符合预期

-吞吐量(TPS)

-用户界面交互

-资源占用(CPU/内存)

-系统稳定性(如高负载下是否崩溃)

测试场景

-正常流程(如成功支付)

-负载测试(模拟正常用户量)

-异常流程(如错误密码)

-压力测试(极限用户量)

-耐久测试(长时间运行)

测试方法不同

测试类型

黑盒测试为主(无需了解代码)

灰盒或白盒测试(需监控系统内部资源)

执行方式

手动或自动化(如Selenium)

通常需自动化工具(如JMeter)

数据需求

少量测试数据(覆盖功能场景即可)

大量模拟数据(如生成100万用户请求)

工具与技术差异

常用工具

- Selenium

- JMeter

- Cypress

- LoadRunner

- Postman(API)

- Gatling

指标衡量

-通过/失败(功能是否通过)

-响应时间(如≤2秒)

-错误率(如<0.1%)

实际案例对比

测试内容

-用户能否成功添加商品到购物车

- 1000用户同时支付时,服务器响应时间是否≤3秒

-支付流程是否跳转正确

-数据库在高并发下是否死锁

结果分析差异

输出结果

-缺陷报告(如“登录按钮无响应”)

-性能报告(如“CPU使用率峰值90%”)

优化方向

-修复代码逻辑或UI交互

-优化数据库查询、缓存、服务器配置

3、功能测试中,如果功能实现与需求有偏差的情况下怎么办?

  • 首先明确偏差的类型和严重程度,去回溯需求,查看当前的功能实现是否是因为需求变动发生改变;
  • 如果不是需求发生变动,则需要复现问题并记录,核对需求,与产品经理/BA确认:明确需求原始意图,与开发团队讨论:确认是缺陷还是设计变更
  • 修正:
  • 开发错误:根据讨论结果,提Bug,按流程做修改,指派给开发人员修复。
  • 需求文档错误:发起需求变更流程(如更新PRD文档并通知所有干系人)。
  • 隐性需求缺失:发起需求补充评审,评估是否需要新增功能或优化。
  • 测试用例错误:修正测试用例并重新执行测试。

4、黑盒测试是什么?有什么具体的场景?

黑盒测试是一种软件测试方法,测试人员在不了解系统内部代码、结构和实现细节的情况下,仅基于输入和输出来验证软件功能是否符合需求。

  黑盒测试的常见类型:

  • 功能测试(Functional Testing)验证软件功能是否符合需求(如登录、支付、搜索等)。示例:测试电商网站的“加入购物车”功能是否正常。
  • 用户界面测试(UI Testing)检查界面布局、颜色、字体、按钮交互等是否符合设计稿。示例:验证按钮点击后是否变色,输入框是否限制字符长度。
  • 兼容性测试(Compatibility Testing)测试软件在不同浏览器、操作系统、设备上的表现。示例:检查网页在Chrome、Firefox、Safari上的显示是否一致。
  • 回归测试(Regression Testing)确保新代码修改不会影响已有功能。示例:版本升级后,重新测试核心业务流程(如登录→下单→支付)。
  • 冒烟测试(Smoke Testing)快速验证核心功能是否可用(通常用于版本发布前的快速检查)。示例:部署新版本后,先测试登录、主页加载等关键功能。
  • 黑盒测试的常用技术:

    • 等价类划分(Equivalence Partitioning)将输入数据分为有效类和无效类,减少测试用例数量。示例:测试“年龄输入框(18-60岁)”:有效类:20(合法年龄)无效类:10(太小)、70(太大)
    • 边界值分析(Boundary Value Analysis)测试输入范围的边界值(如最小值、最大值、临界值)。示例:测试“密码长度(6-12位)”:边界值:5位(无效)、6位(有效)、12位(有效)、13位(无效)
    • 决策表测试(Decision Table Testing)适用于多条件组合的业务规则测试。示例:电商优惠券规则(满100减20,仅限VIP用户):90否不减免150是减免20
    • 状态转换测试(State Transition Testing)测试系统在不同状态间的转换(如登录状态→注销状态)。示例:ATM机“插卡→输入密码→取款→退卡”流程测试。
    • 错误推测法(Error Guessing)基于经验猜测可能出错的场景(如输入特殊字符、空提交等)。示例:在用户名输入框中输入admin'--(测试SQL注入漏洞)。

    黑盒测试工具:

    • 功能测试:Selenium、Cypress、Katalon Studio
    • API测试:Postman、SoapUI
    • 兼容性测试:BrowserStack、Sauce Labs
    • 自动化测试框架:Robot Framework、TestNG

     实际应用场景:

    • 电商网站:测试购物车、支付流程、优惠券计算是否正常。
    • 银行系统:验证转账、查询余额等关键功能是否符合业务规则。
    • 移动App:检查注册、登录、推送通知等用户体验是否流畅。

    5、黑盒测试测试输入时没有得到输出,请问原因是什么?怎么排除?

    原因输入未被正确处理, 后端未返回响应,网络或环境问题,安全策略拦截

    排除确认输入数据,观察网络请求,模拟接口调用,检查依赖服务,对比其他输入

    问题类型

    解决方案

    前端未发请求

    修复JS代码,确保事件绑定正确;添加输入校验提示。

    接口无响应

    后端补充异常处理,确保所有分支返回响应(如{ "code": 500, "error": "描述" })。

    数据无结果

    明确返回空数据提示(如HTTP 200 + { "data": null })。

    安全拦截

    设计友好的拦截提示(如“输入包含非法字符”)。

    环境问题

    重启服务、修复网络配置或联系运维。

    #测试面经##测试#
    测试岗面经 文章被收录于专栏

    整理面试过程中的测试问答,常看常新,多多学习!有些问题是从其他人那里转载而来,会在文章下面注明出处,希望大家多多支持~~

    全部评论

    相关推荐

    07-11 16:49
    已编辑
    测试开发
    呜呜呜,一面面试下来体验感挺好的,但我是笨蛋1.自我介绍2.对于测试开发岗位有什么了解3.你更希望从事哪一方向4.现在有两个选择,一个是稳定的业务部门有带教老师指导你做一些工作,一个是刚起步独立的部门,做的任务有挑战,你选哪一个5.使用python在linux编写脚本测试linux系统重启功能,执行命令是什么6.你开发测试并维护了一个测试平台,然后节假日放了个小长假回来发现这个平台在假期第二天崩溃了,你会怎么处理这个问题,说出详细步骤7.自动化的测试框架你了解多少,主要用什么,还了解其他的吗,为什么当时选择这个框架去搭建接口自动化8.你还了解其他自动化测试吗9.你还知道其他的可以为测试提效的方式吗10.有了解过公司的产品吗11.美图秀秀这个软件的照相功能从性能角度出发你怎么测试12.对一个钥匙扣进行测试,如果我们公司没有钥匙,挂钩,包,你应该怎么去测他的兼容性易用性13.当你发现了一个问题的时候你怎么分析定位14.还有其他的问题我想一下反问:1.公司支持员工在工作中使用AI完成工作吗2.您觉得对于入职测试开发岗位的应届生需要面临的挑战有哪些3.岗位base地在哪体验:很棒,面试官挺帅的,沟通过程中也会引导你多说一些,但是沟通到最后他说这个岗位的门槛很高,面试通过率低,我们需要去找到最合适的人选,我应该是黄了啊啊啊啊啊啊啊我是笨蛋,我很想加入这个公司,我爱厦门我爱美图秀秀二面hr线上面问了一下处理问题的一些问题,然后最后问了一下薪资。个人体验没有太好
    查看42道真题和解析
    点赞 评论 收藏
    分享
    2025.7.23&nbsp;&nbsp;某汽车配件公司--软件测试岗位线下面试复盘岗位招聘要求:(二)软件测试工程师职责描述:5-7K/月1.建立和完善测试体系、流程、规范;2.根据产品需求,制定测试验证计划、明确测试策略、设计测试用例;3.搭建和维护测试台架、搭建测试环境;4.撰写测试方案,实施EHB、EPS、ABS、ESC、EPB的测试验证工作;5.撰写测试报告,分析并定位软件bug,协助开发人员解决软件&nbsp;bug;6.开发或协助开发非标测试设备,开发测试标定工具。7.需出差试验场地完成实车测试。任职要求:1.本科及以上学历,软件、计算机、电子等相关专业;2.&nbsp;有软件测试方案设计能力,动手能力强:3.熟练掌握MIL、SIL、HIL测试,熟练使用一种BUG追踪软件;4.熟悉C语言、CAN总线、单片机;5.良好的沟通协作能力和表达能力,较强的抗压能力。6.对汽车构造感兴趣,有较强的学习能力,吃苦耐劳。先是做了一个简单的自我介绍(忘记录音了,没记录上)线下面试对话总结(对话形式)​​面试官:​​&nbsp;好的,我们从你的学校经历开始吧。你提到学校的项目经验涉及单片机(如STM32),但课程比较浅显,主要是些简单实验,比如课程老师给点任务,让你改代码、调线或插板子,没有完整的项目。对吗?​​应聘者:​​&nbsp;是的,学校教的比较基础,课设也不完整,没有做过系统的项目。我觉得要靠自己后续学习才行。​​面试官:​​&nbsp;那没事,我们公司对基础经验要求不高,上手学起来应该不难。现在,实习这块呢?实习工资是2800元,提供住宿全额补贴(上海郊区,消费不高),工作日午餐免费,加班有晚餐。但培训在上海进行,大约半年时间,我们一般不招纯实习的,希望实习后能留在公司研发岗位上发展。你怎么考虑?​​应聘者:​​&nbsp;实习工资还行,我暂时没考虑考研考公,家里也建议我往离家近的地方发展(公司在江西南昌和上海都有点)。公司情况我看过一点,知道你们主要做汽车零部件控制系统,研发团队挺大的。对了,出差的话,有补贴吗?​​面试官:​​&nbsp;没错,我们公司研发汽车控制器系统,研发团队约400人,在南昌和上海都有业务。出差主要是测试硬件和软件,比如到试验场地做装车检测(夏天户外多)。出差补贴是80元/天,交通费另算;近的地方用公车就没补贴,但用餐时能参与工作。公司成立在上海第六年,老板是研究生研究方向相关,后来扩展到南昌,看中交通便利和汽车行业趋势(如新能源)。说说你的校园经验吧?​​应聘者:​​&nbsp;我在大学是班级团支书,负责团务工作和班级协调,,这些提升了管理和问题解决能力。另外,硬件和软件测试我有兴趣——上一家公司出差经验让我知道补贴细节要发票才会给到补贴。​​面试官:​​&nbsp;了解。汽车行业在快速发展,我们做前沿技术研发,但现在还在早期阶段。今天就聊到这吧,后续看情况。关键要点总结(简要版)​​学校项目:​​&nbsp;学校教单片机/STM32,但课程浅显,只有简单实验(如插线、调代码),缺乏完整项目经验。​​实习细节:​​&nbsp;工资2800元,住宿全额补贴,免费工作日餐;培训在上海郊区半年;公司希望实习后留用测试研发岗位。​​公司背景:​​&nbsp;研发汽车控制系统,团队约300人;总部上海,分部南昌;老板有相关背景;汽车行业趋势关注新能源。​​工作职责:​​&nbsp;涉及硬件/软件测试;需出差到试验场地,补贴80元/天(交通费另计)。​​个人情况:​​&nbsp;您无考研考公计划,家里希望离家近发展;校园经验包括团支书,有管理能力。
    查看4道真题和解析
    点赞 评论 收藏
    分享
    评论
    1
    5
    分享

    创作者周榜

    更多
    牛客网
    牛客网在线编程
    牛客网题解
    牛客企业服务