软件测试面试问题
你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?
a)首先,将问题提交到缺陷管理库里面进行备案。
b)然后,要获取判断的依据和标准:
i、根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的'直接依据;
ii、如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;
iii、根据用户的一般使用习惯,来确认是否是缺陷;
iv、与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;
c)合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。
d)等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。
面试场景1
依然以小明为例
问:假设你所在的团队负责研发一款手机计算器程序,你是这款产品的测试负责人,你准备怎么开展工作?
小明听我说完后,考虑了些许时间,问到:是不是要写测试用例?
旁白:听到这样的回答会让我心凉,因为这个问题我只会对2年以上工作经验的人提问,所以如果面试者这么回答,说明了这个人起码理解能力方面有问题。
我接着提示:小明,在答题前,你想一下,作为一个项目的测试负责人,一开始就去设计具体的测试用例,是否太片面了?
听完我的提示,小明思索了一下,回答道:我以前工作的时候就是这么做的。
旁白:既然我这样提示,很显然就是没让你写测试用例。而这个时候如果再强调以前的做法,是不是在挖坑往里跳呢?
眼看提示无效,我换一种方式引导,又问:那你觉得该怎么设计测试用例呢?
小明自信地说道:我要测加减乘除运算,开方运算......
我不忍再继续听下去,打断她,问道:你设想一下,如果用例设计完成了,你准备怎么样执行这些用例呢?
小明:就在手机上去执行啊。
我问到:什么样的手机?
小明说:就这样的手机啊。然后晃了晃自己的手机。
我说:是不是拿这部手机就可以了,换一款行不行?
说道这里,小明停顿了一下,若有所思的说:对啊,你还没有说我们这个计算器程序应该运行在什么手机上。
我:现在你是测试负责人啊,你是否应该在设计用例之前,弄清楚这件事啊?
听到我的话,小明不住的点头,刚才的自信开始消失,取而代之的,是眼神中的紧张。
我安慰道:放松,你循着这个思路,重新来制定测试计划。我以为他会因此开窍,心中窃喜。
我的计划是,在华为、iPhone、三星、vivo、小米、oppo上执行这些测试用例
旁白:听到这样的回答,差不多可以pass了。
我想说的
上面这个问题很难吗?据我所知,这类面试的题目是各大IT企业面试软件测试工程师的必考题,这类题目可以称之为测试设计,一般是要求应聘者测试一个大众化的产品(不局限于软件产品比如一直笔,一部电梯,一块表,一台银行ATM机等)。题目看起来非常的简单和直观,但它能从多个维度全面的考察应聘者作为测试工程师的潜力。正如上面大家看到的真实面试案例,如果应聘者没有系统了解科学的项目测试理论,就很容易因以前的工作模式陷入思维定势,无法自拔。
这类问题怎么解决/回答?其实方法流程很简单:
1.明确测试任务
2.分析测试范围
3.制定测试计划和测试用例
在上面的案例中,小明在做手机计算器程序的测试设计时,在没有明确测试任务的情况下,就盲目的展开测试用例的设计,这样,会引发诸多问题。
比如,在面试题目中,并没有明确产品可以运行在什么手机平台上,对平台的支持需求不同,测试的设计的差异性是很大的,所以,在回答该问题之前,先应该向面试官发问,明确产品支持的手机平台,之后,才能有的放矢的开展具体的设计(或者即使不问面试官支持哪些平台,在回答的时候也要说清楚先跟团队确定运行的平台)。再比如,应该明确产品的研发周期等信息,只有了解了项目进度安排等信息,才能制定有效的测试策略,在测试的深度和项目开发时间要求上取得较好的平衡。比如,有的项目是时间驱动的(Date-Driven),这类项目的'特点是预先制定发布时间,要求到了那天,产品就一定要发布,对这类项目,我们在设计测试计划时,就应该更多的考虑解决和项目发布相关的质量问题;另外有些项目,可能是质量驱动的(Quality-Driven),这类项目的特点是对发布时间没有强行的规定,但要求产品的质量必须达到一定的指标,并且需要在发布以后,实时监控产品质量,那么,在测试中,我们不仅要做好项目当下版本的测试工作,还需要考虑构建长期、高效地测试系统和平台,保障产品质量能够实时度量。另外,明确产品的功能设计、产品的核心竞争力、可用的测试资源等信息,对于接下来做产品测试都是至关重要的。
那么问题来了,也许有的人会质疑,我招的是测试工程师,不是测试经理,不需要考虑这么多吧,如果按照我这种要求,怕是一年也找不到一个,况且的确有很多人受公司制约,甚至有人大学刚毕业,肯定回答不上来这类问题。
我想说,企业招人的目标永远都是奔着合适去的。我这么去面试,自然是因为工作中遇到的实际问题导致我不得不去关注这些。在实际工作中,经常会遇到测试人员接到测试任务以后,什么也不考虑就去测试了,测试完了以后告诉我工作完成了。然后我问他这次测试任务的范围是什么?开发为什么要做这些改动?这些改动是开发自己提出来的还是客户要求的?如果客户要求的客户的关注点在哪里?这次改动具体改了什么内容?怎么改的?你觉得这样的改动合理吗?改动以前是什么样子的?......这些问题最初的时候我问十个人,九个人都答不上来,还有一个回答的模棱两可。那么,从一个测试经理的角度,让我怎么相信这个测试负责人的工作是有效的?怎么让我相信他的工作覆盖率是全面的?我无法相信连改动原因、改动内容和改动方法都没有了解清楚的人,能很清楚的知道测试通过的准则。......同理,做测试前先思考是一种习惯,如果这个问题回答不好,我很难相信他在实际工作中会做到我刚说的那些(何况我提问的时候是不断引导的,这个问题也不会拿去问2年经验以下的新人)。
关于如何跟开发沟通确定测试范围,可以翻一下这篇博文:
也许还有人觉得,上面这个案例,提及的知识是一个知不知道的范畴。只要有所准备,就能做到从容不迫~
我想说的是,我在带新人的过程中,不断灌输这套做事的方法论。他们的确是知道了,但是真正用好还花费了很长时间。所以面试的时候也不要过于乐观,是临时抱佛脚,还是日常工作中就按照这种方式去工作,作为资深的面试官都能分辨出来。劝君不要抱侥幸心理。
也许还有人说,面试时间那么短,面试的时候受限于时间关系想不了那么全。
其实,这种情况不也说明面试者的思维不够敏捷,不是吗?毕竟面试官做了那么充分的引导。
面试场景2
问题:假设你是某社交软件产品的测试负责人,你怎么去测试它传文件这个功能?说一下测试点,你可以发挥自己的想象力,不必局限于它现有的功能。
这个问题,问过不下五十人,能在面试时回答出超过15个测试点的,坦白说一个没遇到。
多数应聘者都是想到哪说到哪。
我更想听到的答案有两种,一种是按照传文件的流程(客户端A-网络-服务器-网络-客户端B),一种是是按照测试框架回答(比如系统的说明从UI、功能、性能、兼容性、安装部署、服务器端、网络、安全)。
也许有人问,这个问题就是考察测试思维,实际工作中用不到那么多,或者只要准备一下,也能比较轻松的回答我这个问题。
测试人员最重要的素质是什么呢?的确存在有些人思维发散度很不错,虽然不会设计用例,但是很会找bug。但是这样的人可遇不可求的。而且通过面试去发现一个人的思维发散度有多好不太现实,我还是更保守的通过看一个人的思维模式来判断他是不是我想要的人。我现在所负责的系统架构比较复杂,涉及到方方面面,测试过程中需要思考的问题,跟上面这个案例差不多。一个人是真的懂,还是临时抱佛脚,可以通过不断的深挖来发现。所以,如果想要在面试时不露马脚,仍需要在工作中就培养这样的思维模式。
最后,国内很多公司存在面试官看眼缘决定是否录用……这样的情况不在本次讨论范围之内。
1、等价类划分
常见的软件测试面试题划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。
2、边界值分析法
边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
3、错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。
4、因果图方法
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的`事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。
5、正交表分析法
有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。
6、场景分析方法
指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。
一. 为什么要在一个团队中开展软件测试工作?
因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
二. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
我曾经做过web测试,后台测试,客户端软件,其中包括功能测试,性能测试,用户体验测试。最擅长的是功能测试
三. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试 )
测试类型有:功能测试,性能测试,界面测试。
功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试面试常见问题--软件测试工程师面试题(3篇)面试常见问题--软件测试工程师面试题(3篇)。
界面测试,界面是软件与用户交互的最直接的.层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。
区别在于,功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性面试常见问题--界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试
四.您认为做好测试用例设计工作的关键是什么?
白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果
黑盒测试用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题
五. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
是否有不正确或遗漏的功能?
在接口上,输入是否能正确的接受?能否输出正确的结果?
是否有数据结构错误或外部信息(例如数据文件)访问错误?
性能上是否能够满足要求?
是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
对程序模块的所有独立的执行路径至少测试一遍面试常见问题--软件测试工程师面试题(3篇)自我介绍对所有的逻辑判定,取 真 与取 假 的两种情况都能至少测一遍。在循环的边界和运行的界限内执行循环体。测试内部数据结构的有效性,等等。
单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。
1、请根据”V”模型分别概述测试人员在软件的需求定义阶段、设计阶段、编码阶段、系统集成阶段的工作任务及其相应生成的文档? 需求定义阶段:根据项目需求提取测试需求 并形成测试需求文档,根据提取的测试需求和项目计划进行测试计划的拟定,测试计划文档,设计:根据测试需求拟订测试方案并形成测试方案文档;根据测试方案制定测试用例,并形成测试用例文档,编码阶段:执行测试并完善测试用例文档,系统集成阶段:测试总结报告,阶段问题统计报告,测试问题报告
2、怎样衡量一个测试用例的质量? 测试的覆盖率,功能点,性能,风险等
3、集成测试的集成顺序有哪些?如何选择?
4、考察软件的`安全可靠性时,一般从那些方面来判断?
5、列举你用过的自动化工具并说明用测试自动化工具有什么好处。 速度快,效率高,可靠性好,能按标准及规范执行
6、如果一个软件不能继续测试下去,在停止测试之前,需要考虑哪些问题?
7、如果一个界面没有明显的对与错,怎么开始测试? 看界面的美观,易用性等
8、你认为一个好的测试工程师应具备那些素质? 善于发现问题,能很好的与同事沟通,
9、一个输入框,要求输入一个1-8位的标识符做为系统系统唯一标志,怎样设计测试用例?
10、请根据下面的交互模型写出一测试用例。
1、什么是兼容性测试?兼容性测试侧重哪些方面?
2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
3、检查系统是否有中毒的特征;
4、检查软件/硬件的配置是否符合软件的推荐标准;
5、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;
6、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;
7、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。
8、测试的策略有哪些?黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)
9、正交表测试用例设计方法的特点是什么?
10、用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
11、对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
12、具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。
13、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?标记就是Bugzilla的状态转换图。
14、你觉得bugzilla在使用的过程中,有什么问题?标记界面不稳定;根据需要配置它的`不同的部分,过程很烦琐。流程控制上,安全性不好界定,很容易对他人的Bug进行误操作;没有综合的评分指标,不好确认修复的优先级别。
15、描述测试用例设计的完整过程?需求分析+需求变更的维护工作;根据需求,得出测试需求;设计测试方案,评审测试方案;方案评审通过后,设计测试用例,再对测试用例进行评审;
软件测试面试题第一部分:
笔试题
1. 避免死锁的方法有哪些?
2. 内存有哪几种存储组织结构,请分别加以说明。
3.如果你是一个测试组长,你将怎么做计划,去测试一个ICEBOX。
4.测试结束的标准是什么?
5.测试用例的设计方法有哪些,描述一个具体的例子。
6.单元测试和集成测试,描述工作实际开展的情况。
7.工作中哪些需要改进,期望的工作环境。
软件测试面试题第二部分:
口述题
问题:软件的缺陷等级应如何划分?
答案:
A类—严重错误,包括以下各种错误:1.由于程序所引起的死机,非法退出2.死循环3.数据库发生死锁4.因错误操作导致的程序中断5.功能错误6.与数据库连接错误7.数据通讯错误
B类—较严重错误,包括以下各种错误:1.程序错误2.程序接口错误3.数据库的表、业务规则、缺省值未加完整性等约束条件
C类—一般性错误,包括以下各种错误:1.操作界面错误(包括数据窗口内列名定义、含义是否一致)2.打印内容、格式错误3.简单的输入限制未放在前台进行控制4.删除操作未给出提示5.数据库表中有过多的空字段
D类—较小错误,包括以下各种错误:1.界面不规范2.辅助说明描述不清楚3.输入输出不规范4.长操作未给用户提示5.提示窗口文字未采用行业术语6.可输入区域和只读区域没有明显的区分标志
E类—测试建议
软件测试员面试题的目的',就是是为了尽可能多地找出错误,不同的机构会有不同的测试目的;相同的机构也可能有不同测试目的,回答好基本的面试题,以得到考官肯定的评价。
中软软件测试面试题:判断题
1、软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。初级(×)
2、发现错误多的模块,残留在模块是的错误也多。初级(√)
3、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。初级(×)
4、单元测试通常应该先进行“人式走查”,再以白盒法为主,辅以黑盒进行动态测试。中级(√)
5、功能测试是系统测试的主要内容,检查系统的。功能、性能是否与需求规格说明相同。中级(√)
6、软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。高级(√)
7、软件测试只能发现错误,但不能保证测试后的软件没有错误。中级(√)
8、软件就是程序。初级(×)
9、测试中要做到语句覆盖和分支覆盖。就可以发现程序中的所有错误。中级(×)
10、 I18N测试是指对产品做出具有国际性的规划,而L10测试则是指对软件做出符合本地需求更改工作。高级(√)
中软软件测试面试题:选择题
1、进行软件质量管理的重要性有(ACDEF)中级
A、维护降低成本;
B、法律上的要求;
C、市场竞争的需要;
D、质量标准化的趋势;
E、软件工程的需要;
F、 CMM过程的一部分
G、方便与客户进一步沟通为后期的实施打好基础
2、以测试的形态分测试可以分为(ABC)中级
A、建构性测试
B、系统测试
C、专项测试
D、单元测试
E、组件测试
F、集成系统
3、选出属于黑盒测试方法的选项(ABC)初级
A、测试用例覆盖
B、输入覆盖
C、输出覆盖
D、分支覆盖
E、语句覆盖
F、条件覆盖
4、编写测试计划的目的是(ABCEF)中级
A、使测试工作顺利进行;
B、使项目参与人员沟通更舒畅;
C、使测试工作更加系统化;
D、软件工程以及软件过程的需要;
E、软件过程规范化的需求;
F、控制软件质量
5、依存关第有4种分别是(ABCD)高级
A、开始—结束
B、开始—开始
C、结束—开始
D、结束—结束
E、开始—实施—结束
F、结束—审核—开始
6、软件质量管理(QM)应有质量保证(QA)和质量控制(QC)组成,下面的选项属于
QC的是:(ABCD)高级
A、测试
B、跟踪
C、监督
D、制定计划
E、需求审查
F、程序代码审查
7、实施缺陷跟踪的目的是(ABCD)中级
A、软件质量无法控制
B、问题无法量化
C、重复问题接连产生
D、解决问题的知识无法保留
E、确保缺陷得到解决
F、使问题开成完整的闭玩处理
8、使用软件测试工具的目的(ABCD)中级
A、帮助测试寻找问题
B、协助问题的诊断
C、节省测试时间
D、提高BUG的发现率
E、更好的控制缺陷提高软件质量
F、更好的协助开发人员
9、典型的瀑布模型的四个阶段是(ABCD)高级
A、分析
B、设计
C、编码
D、测试
E、需求调研
F、实施
10、 PSP是指个人软件过各,是一各可用于(ABC)个人软件工作方式的自我改善过程。
A、控制
B、管理
C、改进
D、高效
E、充分
F、适宜
中软软件测试面试题:问答题
(共9题,每题5分,共讲50分)
1、测试人员在软件开发过程中的任务是什么?(初级)
1)寻找Bug;
2)避免软件开发过程中的缺陷;
3)衡量软件的品质;
4)关注用户的需求
2、在您以往的工作中,一条软件缺陷(或者叫BUG)记录都包含了哪些内容?如何提交高质量的软件缺陷(BUG)记录?初级一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的'测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量
3、黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点。中级黑盒测试的优点有:
1)比较简单,不需要了解程序内部的代码及实现;
2)与软件的内部实现无关;
3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
5)在做软件自动化测试时较为方便。
黑盒测试的缺点有:
1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;
2)自动化测试的复用性较低。白盒测试的优点有:帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题
白盒测试的缺点有:
1)程序运行会有很多不同的路径,不可能测试所有的运行路径
2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求
3)系统庞大时,测试开销会非常大。
4、根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。初级软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。
软件测试一般分为单元测试、集成测试、系统测试、验收测试
5、根据自己的理解什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?
中级
狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据。这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据
测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤
设计测试用例应当从以下几方面考虑:边界值,等价类划分,场景法,有效/无效值等
6、什么是软件质量保证?软件质量保证人员与开发人员的关系如何?高级
软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题
7、什么叫软件缺陷?您应用过哪些缺陷管理工具?
高级
对软件缺陷的定义各公司有所不同:软件未达到产品说明书标明的功能软件出现了产品说明书指明不会出现的错误软件功能超出产品说明书指明的范围软件未达到产品说明书虽未指出但应达到的目标软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好TD、QC、bugfree
8、请分别写出ISO7层架构,并分别说明TCP、UDP协议分别在处于哪一层,以及TCP、UPD协议有什么区别。(10分)
7应用层6表示层5会话层4传输层3 网络层
2数据链路层1物理层
第四层;UDP是面向无连接、不可靠数据传输协议;TCP是面向连接、可靠数据传输协议
版权声明:此文自动收集于网络,若有来源错误或者侵犯您的合法权益,您可通过邮箱与我们取得联系,我们将及时进行处理。
本文地址:https://www.gunzhua.com/jiuye/mianshi/827103.html