![[��ǩ:����] [��ǩ:����]](https://www.xuefen.net//file/upload/img/7/431.jpg)
如下:
1、什么是bug?
答:软件的bug指的是软件当中不符合用户需求的问题。
常见的软件bug分为以下三类:
没有实现的功能。
完成了用户需求的功能,但是运行时会出现一些功能或性能上的问题。
实现了用户不需求的多余功能。
2、简单概述缺陷报告,并说明包括哪些项?
答:现在缺陷报告一般不再使用纸质档文档编写,而是专用测试管理工具(如TestDirector),这样便于缺陷管理。在这些工具中,每个缺陷作为一条记录输入指定的缺陷管理系统中。
缺陷报告包括:软件名称、版本号、功能模板、缺陷编号、对应的用例编号、编写时间、编写人、测试员、预期结果、实际结果、缺陷描述、严重级别、优先级别
3、开发人员修复缺陷后,如何保证不影响其他功能?
答:重新执行用例、看是否出现错误结果。并对周围的一些相关功能点追加新的测试用例。
4、什么时候功能测试?
答:功能测试是在规定的一段时间内运行软件系统的所有功能,以验证这个软件系统有无严重错误。
5、为什么选择测试这行?
答:它是一个新兴的行业,有发展潜力,而且很锻炼人,需要掌握更多的技能,比做开发要更全面。
1、说下测试的基本流程?
2、你曾做过哪些项目,有些什么功能,什么样的业务逻辑?
3、在测试的过程中,都用到了什么工具?
4、做需求分析会议的目的是什么?
5、如果需求过少,你应该怎么办?
6、编写测试用例的时候,会用到什么方法?
7、会写测试计划吗、包含哪些内容?
问题都是曾经面试时遇到的,如果是做软件的,只要做过这些都是流程内的问题,随意答,就是看你做过没有,做得怎么样。要是刚从事这个行业,一般就问些学过什么这样的问题。
随着企业对软件测试项目的重视,越来越多的零基础的人也开始加入到软件测试的求职浪潮之中。
今天,我们就给大家简单分析了在软件测试行业中需要了解的一些常见问题。
1、测试负责人要进行严格的测试进度跟踪吗?很多时候,由于人力资源的不足,测试项目负责人都是在执行测试,这样就使整个项目缺乏控制,一些问题(例如:有些成员的缺陷质量不够合格;开发人员修改不及时,系统某些功能发生严重问题导致部分功能无法测试。
)得不到解决,耽误了进度。
所以测试负责任必须全程监控项目,尽可能多的掌握信息。
通常,测试负责人需要完成下面这些内容的管理工作:测试用例执行情况;每个测试员提交的缺陷情况;测试中是否发生突发问题。
2、测试也有版本控制吗?这里的版本主要是指测试对象的版本控制,也就是指对开发部提交的产品进行版本控制。
在开发小组版本管理不规范的情况下,测试小组进行版本控制十分重要,要保证测试对象是可以控制的。
建议开发和测试双方进行明确的约定,可以各自指定专门的测试版本负责人,制定提交原则,对提交情况进行详细的记录,这样基本避免了版本失控导致的测试失误或无效。
3、如何处理测试人员的流动问题?人员流动不仅仅是测试部门,这是IT行业的普遍现象。
从管理者角度,主管需要多多和团队内成员进行沟通,建立一个融洽的团队环境,及时掌握情况,可以早些进行相应的调整。
但是只有企业建立好的用人制度,给员工提高广阔的发展空间和好的培训学习机会,才能从根本上解决这一问题。
加强项目管理,强化文档管理并保证文档的有效性,可以大大减少由于人员流失带来的损失。
同时,测试部门要建立培训机制,使新到员工接受直接或者间接的培训,快速适应工作。
4、为什么开发人员经常抱怨测试工程师提交的缺陷质量太差?我们经常听开发人员说:“这不是缺陷!”,“这个缺陷没有,因为我的系统上运行正常!”。
测试工程师本身就是做质量工作的,提交的成果本身就应该质量高些,为什么还会有这种现象?提交的缺陷引起争议是一种正常的现象,例如测试人员描述不清楚就会引起争议。
减少甚至避免这种现象的方法是交叉测试,交叉测试是提高测试质量的一个有效手段,当然交叉测试会增加一定的测试成本投入。
IT培训http://www.kmbdqn.cn/发现在测试任务完成后,测试工程师之间互相验证彼此提交的缺陷,就会避免了缺陷描述不清、因运行环境而产生的缺陷等一系列问题,从而大大降低了回归测试以及交流的成本,因而这种投入也是值得的,实际开发人员在单元测试阶段也会进行交叉测试,来提高开发质量。
另外,测试人员一定要按照规范描述测试中发现的缺陷,一个缺陷至少描述清楚概要描述、详细描述、重现步骤三方面的内容,缺陷管理参考八章的内容。
虽然说我们在工作中一再要求大家要认真细心,但是对于许多的新手来说,依然会在不知不觉中犯错误。下面昌平镇电脑培训就通过软件测试岗位做为分析案例,了解一下,一个软床测试新人都容易犯的测试错误都有哪些。
1.没有测试
我们很容易毫无原因地掉入这个陷阱。从现在开始,制定计划添加测试到你现在正在处理的代码中,并添加测试到将来的项目中。
2.没有从项目一开始就启动测试
我们很难再回过头去添加测试,并且可能需要改变架构才能添加测试,这样做终将需要你花更长的时间才能产出可信任的代码。从一开始就在项目的生命周期添加测试可以节省时间和精力。
3.编写失败的测试
TDD方法的普及将红—绿—重构的理念带到软件测试世界。这个理念常常被误认为应该“通过编写一个失败的测试开始”。其实并非如此。在写代码之前创建测试的目的是定义系统的正确行为应该是什么。在许多情况下,它是一个失败的测试(红色表示),但它可能会通过一个非决定性的或未实现的测试来表示。
4.担心未实现测试
软件开发中的一个大问题就是,代码和任何关于系统实际上应该做什么的文档之间的沟壑。通过拥有一个名称中明确定义你终想要实现的预期行为的测试,你将从测试中得到一定的价值,即使将怎么写测试目前还不得知。
5.没有很好地命名测试
命名软件这件事出了名的很难做好,这同样适用于测试。关于如何命名测试有几种流行的约定。无论你使用哪一种都没有关系,只要你能够一贯使用,并准确描述正在测试什么。
6.让测试做太多事情
又长又复杂的名字通常说明了你想同时测试多件事情。单个测试应该只测试一件事情。如果失败了也应该在代码中注明是什么地方出了错。你没有必要为了知道代码中出了什么问题而查看是哪部分测试失败。这并不意味着你不应该在测试中有多个断言,但这些断言应该紧密相关。例如,一个查看订单处理系统输出,并确认输出中是否有一个单一项目以及它是否包含具体项目的测试,是ok的。但一个验证相同系统的输出的测试,既创建一个特定项目,又记录到数据库中,还发送确认电子邮件,就不行了。
7.没有实际测试代码
经常可以看到测试新手创建过于复杂的模型以及不能实际测试代码的设置程序。他们可能会验证模拟代码是否正确,或者模拟代码是否和真正代码做相同的事情,或没有任何断言而只是执行代码。这样的“测试”都是白费力气,特别是如果它们的存在只是为了提高代码覆盖率水平的话。
8.担心代码覆盖率
代码覆盖率的理念很崇高,但往往实际价值有限。知道运行测试的时候有多少代码被执行应该是有用的,但因为它不考虑正在执行代码的测试的质量,因此就变得没有意义。代码覆盖率在它数值非常高或非常低的时候,是挺博人眼球的。如果非常高,就表明,比起带来的价值,过多的代码可能正在被测试。非常低的代码覆盖率表明有可能代码的测试不够。因为这样模棱两可的意思,有的人就不知道单一片段的代码是否应该进行测试。我用一个简单的问题来明确这一点:代码是否包含重大的复杂性?如果包含,那么你需要一些测试。如果没有的话,你就不需要。测试属性访问器不过是浪费时间。如果它们失败的话,那么比起你正在写的代码,你的代码体系出现了一些更根本的问题。如果你不用看一段代码,就立即知道一切,那么它就不重大。这不仅适用于代码,也适用于你写代码。如果我们在任意点重访代码,那么它就需要测试。如果在现有代码中发现过bug,那就说明这一块的代码对其复杂性没有进行充分的测试。
9.着眼于一种类型的测试
一旦你开始测试,很容易只纠结于一种风格的测试。这是一个错误。只用一种类型的测试,你就不能充分测试系统的所有部分。你需要单元测试来确认代码的各个组件是否能够正确工作。你需要集成测试来确认不同组件是否能够协同工作。你需要自动化UI测试来验证软件是否可以如预期使用。后,你需要为任何不容易自动化的部分和探索性尝试进行手动测试。
软件测试涉及的关键问题如下:测试由谁来执行、测试什么、什么时候进行测试、怎样进行测试。
数字化时代,是“软件定义一切”的时代,软件已然成为人类社会基础设施的一部分,与个人生活、社会民生、国家发展高度融合。随着软件产业的快速发展,因软件存在的缺陷而导致的网络安全问题越来越严重。
CNVD已收录各类安全漏洞信息超16.6万条,为了保证软件产品的最终质量,在软件开发的过程中,需要对软件产品进行系统测试。软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量。
通过对软件功能、性能、安全、可靠性、兼容性等多个层面进行测试,提出优化建议,出具第三方专业权威的测试报告。包括软件功能测试、软件性能测试、应用安全测试、软件验收测试、代码测试、国产平台软件适配测试等。
同时,测试是以评价一个程序或者系统属性为目标的活动,测试是对软件质量的度量和评估,以验证软件的质量满足用户的需求的程度,为用户选择和接收软件提供有力依据。
软件测试的方法
1、静态测试:指通过软件的静态性测试测试程序中运算方式、算法的正确性,进而完成测试过程,此类测试的优点在于能够消耗较短时间、较少资源,能够较为明显地发现错误。
2、动态测试:主要依赖程序的运用,检测软件中动态行为是否缺失、软件运行效果是否良好。其最为明显的特征即为进行动态测试时软件为运转状态。
3、黑盒测试:通过数据输入观察数据输出,检查软件内部功能是否正常。测试展开时,数据输入软件中,等待数据输出。
4、白盒测试:相对于黑盒测试而言具有一定透明性,测试过程中常将其与软件内部结构协同展开分析。
一般软件测试的面试分为三轮:笔试,HR面试,技术面试。
前两轮,根据不同企业,或有或无,但最后一个技术面试是企业了解你“行不行”的关键环节,每个企业都会有的。
在平时的学习、工作中一定要善于总结,如果回答不好,面试官会认为你技术能力有限或者不勤于思考,是很容易被pass掉的。
简单为大家总结了些面试过程中经常会被问到的问题:
hr会问的几个问题
1.你觉得自己的优缺点是什么
2.你上一家公司的薪资是多少,调了几次薪
3.为什么从上一家公司离职呢
4.离职证明和背调可以吗?
5,你还有什么问题要问吗?
(这些问题都带坑!回答不好会死在这儿的,不知道怎么回答,可以百度下或者联系在线客服)
技术方面的问题
【功能方面】
1.你是怎样理解软件测试的
2.让你介绍你做的项目的业务流程
3.软件测试的流程
4..你认为什么是bug,说一下你印象深刻的bug,结合项目说一下你们公司有哪些类型的bug和bug评判严重程度的标准
5.如何保证软件测试的质量
6.如何保证你写的测试用例覆盖所有的场景
7.如果用户在正式环境发现一个bug,你在测试环境没有发现,怎么办
8.项目测试到什么程度就可以上线了
【场景方面】
1.让你写登录,支付,充值,购物车,文件上传,三角形,笔,水杯等的测试点(80%的公司会让你分析测试点!!!)
【计算机网络基础知识】
1.http协议的内容是什么?
2.请求头的内容有哪些
3.常见的状态码有些
4.http和https的区别有哪些
5.tcp和udp的区别
6.请描述下tcp的三次握手四次挥手的过程
7.网关的作用
8.osi七层模型每一层的作用
9.session是什么,cookie是什么,有什么使用场景
10.session和cookie的区别
【接口测试】
1.你认为的接口是什么
2.接口测试工具工作的原理是什么呢?
3.接口中包含哪些内容
4.接口用例如何写
5.你是如何做接口测试的,使用的什么工具?
6.接口自动化了解过吗
7.get和post的区别
【自动化测试】
1.可能会问到selenium
2.selenium元素定位的方式,显示等待,隐式等待,强制等待的区别等
3.接口自动化脚本的编写原理和过程
这块可以不用担心,只要会一些简单的就可以了,因为对于初中级测试来说,自动化是一个加分项,一般如果自动化掌握的很熟练的同学薪资是在12-25k之间的
【其他测试问题】
1.简述转包过程,你用的抓包工具是什么
2.如何分析一个bug是前端还是后端bug
3.url后面跟数据的话如何拼接上去
4.抓包的原理是什么
5.你们公司使用的bug管理工具是什么
6.弱网测试是如何实现的
7.web测试和app测试的区别是什么
8.给你一个软件你会如何进行测试
9.兼容性测试你是如何做的(从app 和 web两方面回答)
10.冒泡排序之类的一些代码题
11.如果在正是环境发现bug测试环境没发现怎么办
12.如果有一个bug,怎么判断这个bug是前端代码导致的还是后端代码导致的
这些问题回答的正确与否直接决定了你能否留下,甚至能拿多少薪资的问题,多回答对一个问题,就有可能多为自己争取到500-1000块的工资呢。如果不知道怎么回答,可以私信细聊哦!
好了,这就是小编给大家分享的软件测试面试常见问题及答案有哪些?全部内容,希望大家看完这篇由小编精心整理的内容后,能对软件测试面试常见问题及答案有哪些?相关知识有所了解,解决你的困惑。

微信扫码关注公众号
获取更多考试热门资料