软件测试经典面试题
📝 博主首页 : 「码上生花」 ,同名公众号 :「伤心的辣条」
📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
如何向一个不懂软件的人解释bug?
如果你想跟一个不懂代码不懂软件的人说这是一个bug,可以尝试以下的方法:
用简单明了的语言描述bug的现象,例如“当我点击这个按钮时,应用程序就会闪退”或“当我输入这个数字时,结果显示错误”。
用具体的例子或截图来说明bug的影响,例如“因为这个bug,我无法完成我的任务”或“因为这个bug,用户会对我们的产品失去信任”。
用类比或比喻来解释bug的原因,例如“这就像是一辆车的轮胎漏气了,所以车子跑不动了”或“这就像是一道数学题的公式写错了,所以答案算不出来了”。
用逻辑或常识来证明bug的存在,例如“根据需求文档,这个功能应该是这样的,但现在却是那样的”或“根据常识,这个结果应该是这样的,但现在却是那样的”。
测试人员发现一个bug给开发,开发说不是bug怎么办?
这是一个常见的软件测试中的沟通问题,可能会影响测试的效果和质量。要解决这个问题,可以采取以下的步骤:
首先,要明确bug的定义和依据。bug是指软件的实际表现和预期表现不一致的情况,预期表现通常是根据需求文档、设计文档、用户故事等来确定的。测试人员要有充分的证据来证明这是一个bug,例如测试用例、测试数据、测试结果、测试截图等。
其次,要与开发人员进行友好和专业的沟通。测试人员要用清晰和客观的语言来描述bug的现象、影响、重现步骤等,避免使用主观和情绪化的词语,如“你的代码有问题”、“这个功能很烂”等。测试人员要尊重开发人员的工作,理解他们的困难,避免指责和责备,寻求合作和解决问题的态度。
第三,要听取开发人员的意见和反馈。开发人员可能会有不同的理由来否认这是一个bug,例如需求变更、环境问题、数据问题、技术问题等。测试人员要认真听取开发人员的解释,尝试理解他们的观点,如果有疑问或不同意,可以提出质疑或反驳,但要保持礼貌和尊重。
第四,要寻求第三方的协助和裁决。如果测试人员和开发人员无法达成一致,可以请产品经理、测试经理、开发经理等相关的负责人来介入,根据需求、设计、用户、业务等方面的角度来判断这是不是一个bug,以及是否需要修复或忽略。
如何判定bug等级?
不同的项目和团队可能有不同一般来说,可以根据bug的影响程度、紧急程度、发生频率、可复现性等因素来划分bug等级。
一种常见的划分方法是:
严重级别:表示bug对软件功能和质量的影响程度,通常分为以下四个等级:
Blocker(阻塞):表示bug导致软件无法正常运行或主要功能无法使用,如系统崩溃、死机、死循环、数据丢失等。
Critical(严重):表示bug导致软件部分功能无法使用或业务流程错误,如功能缺失、数据错误、安全问题等。
Major(一般):表示bug导致软件功能不完善或不符合需求,如功能错误、界面错误、性能问题等。
Minor(次要):表示bug对软件功能和质量的影响较小,如界面不规范、提示不清、建议改进等。
优先级:表示bug的修复顺序和紧迫程度,通常分为以下四个等级:
Immediate(立即):表示bug必须马上修复,否则软件无法交付或使用,如阻塞级别的bug。
Urgent(紧急):表示bug需要尽快修复,否则软件会严重偏离需求或功能,如严重级别的bug。
Normal(正常):表示bug可以按计划修复,否则软件会有一定的缺陷或问题,如一般级别的bug。
Low(低):表示bug可以在有时间的情况下修复,否则软件会有一些不影响使用的瑕疵或建议,如次要级别的bug。
描述下负载测试和压力测试?
负载测试
负载测试,又称为强度测试,是通过逐步增加系统负载,测试系统性能变化,并最终确定在满足系统性能指标的情况下,系统所能承受的最大负载量的测试。
(负载是逐步增加的、在满足性能指标的前提下、发现最大负载量)
负载测试目标
评估系统的性能指标,如:响应时间、事务处理效率等
确定并确保系统超出最大逾期工作量的情况下仍能正常运行
日常我们说的这个软件性能咋样,基本说的就是负载测试,因为我们考虑的是这个软件用起来流畅度,响应快不快、耗不耗资源等。
运用场景:此类型的测试目前运用得比较少。一般情况下,是以服务器资源安全临界值为界限的测试。如果要模拟某个应用在指定服务器上最大且安全的负载量,则属于负载测试。
压力测试
压力测试,对系统逐渐增加压力的测试,来获得系统能提供的最大服务级别的测试或者不能接受用户请求的性能点。
(压力是逐步增加的,直到系统不能接受用户请求的性能点,让系统崩溃的压力点,去发现系统在什么情况下,应用程序的性能会变得不可接受。)
压力测试可以细分为并发测试和大数据量测试:
并发测试:当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题。并发测试不是为了获取系统的性能指标,而是为了发现并发引发的问题,如:线程锁、内存泄漏、资源占用等
大数据量测试:包含独立数据量测试,主要是针对某些系统存储、传输、查询等业务进行大数据量测试,如测试系统存储能力,IO传输速率、读取速率、慢查询等
负载测试和压力测试之间的区别:
负载测试用来评估系统的性能指标,而压力测试是去制造问题,然后去分析引起问题的原因
运用场景:此类型的测试目前运用得比较少。但对于大型的共享中心或者核心的应用,也会用到。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以加入我们的QQ群:748833197,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 本地部署 DeepSeek:小白也能轻松搞定!
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)
· 我们是如何解决abp身上的几个痛点
· 如何基于DeepSeek开展AI项目