您好,欢迎访问三七文档
面试题1、您认为做好测试用例设计工作的关键是什么?参考答案:测试用例应百分百覆盖需求。白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。2、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。参考答案:1.等价类划分划分等价类:等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.2.边界值分析法边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.参考答案:3.错误推测法基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.例如,在单元测试时曾列出的许多在模块中常见的错误.以前产品测试中曾经发现的错误等,这些就是经验的总结.还有,输入数据和输出数据为0的情况.输入表格为空格或输入表格只有一行.这些都是容易发生错误的情况.可选择这些情况下的例子作为测试用例.4.因果图方法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况.4、什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样?参考答案:在同一时间点,支持多个不同的操作。LoadRunner中提供IP伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真实的并发。集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作的。集合点失败,则集合点的才操作就会取消,(五)写出bug报告当中一些必备的内容。参考答案:硬件平台和操作系统测试应用的硬件平台(Platform),通常选择“PC”。测试应用的操作系统平台(OS)。a)版本提交缺陷报告时通过该字段标识此缺陷存在于被测试软件的哪个版本。b)Bug报告优先级c)Bug状态d)Bug的编号e)发现人f)提交人g)指定处理人h)概述i)从属关系j)详细描述k)严重程度l)所属模块m)附件n)提交日期(六)简述一下缺陷的生命周期?参考答案:发现-提交-确认-分配-修复-验证-关闭7、(1)发现错误是软件测试的目的()(2)白盒测试可以找出软件遗漏功能和代码错误功能。()(3)在设计测试用例时,应包括合理的应用条件和不合理的应用条件。()(4)软件缺陷一定是由编码引起的错误。()(5)文档测试是对系统提交给用户的文档进行验证,并不是一般性的审查活动。()参考答案:错错对错对(八)如何编写提交给用户的测试报告?参考答案:随着测试工作越来越受重视,开发团队向客户提供测试文档是不可避免的事情。很多人会问:“我们可以把工作中的测试报告提供给客户吗?”答案是否定的。因为提供内部测试报告,可能会让客户失去信心,甚至否定项目。测试报告一般分为内部测试报告和外部测试报告。内部报告是我们在测试工作中的项目文档,反映了测试工作的实施情况,这里不过多讨论,读者可以参考相关教材。这里主要讨论一下外部测试报告的写法,一般外部测试报告要满足下面几个要求:-根据内部测试报告进行编写,一般可以摘录;-不可以向客户报告严重缺陷,即使是已经修改的缺陷,开发中的缺陷也没有必要让客户知道;-报告上可以列出一些缺陷,但必须是中级的缺陷,而且这些缺陷必须是修复的;-报告上面的内容尽量要真实可靠;-整个测试报告要仔细审阅,力争不给项目带来负面作用,尤其是性能测试报告。总之,外部测试报告要小心谨慎的编写。(九)测试产品与测试项目的区别是什么?习惯上把开发完成后进行商业化、几乎不进行代码修改就可以售给用户使用的软件成为软件产品,也就是可以买“卖拷贝”的软件,例如Windows2000。而通常把针对一个或者几个特定的用户而开发的软件成为软件项目,软件项目是一种个性化的产品,可以是按照用户要求全部重新开发,也可以修改已有的软件产品来满足特定的用户需求。项目和产品的不同特点,决定我们测试产品和测试项目仍然会有很多不同的地方:-质量要求不同。通常产品的质量要高一些,修复发布后产品的缺陷成本较高,甚至会带来很多负面的影响。而做项目通常面向某一用户,虽然质量越高越好,但是一般只要满足用户要求就可以了。-测试资源投入多少不同。做软件产品通常是研发中心来开发,进度压力要小些。同时由于质量要求高,因此会投入较多的人力、物力资源。-项目最后要和用户共同验收测试,这是产品测试不具有的特点。此外,测试产品与测试项目在缺陷管理方面、测试策略制定都会有很大不同,测试管理者应该结合具体的环境,恰如其分的完成工作。(十)没有产品说明书和需求文档地情况下能够进行黑盒测试吗?参考答案:这个问题是国内测试工程师经常遇到的问题,根源就是国内软件开发文档管理不规范,对变更的管理方法就更不合理了。实际上没有任何文档的时候,测试人员是能够进行黑盒测试的,这种测试方式我们可以称之为探索测试,具体做法就是测试工程师根据自己的专业技能、领域知识等不断的深入了解测试对象、理解软件功能,进而发现缺陷。在这种做法基本上把软件当成了产品说明书,测试过程中要和开发人员不断的进行交流。尤其在作项目的时候,进度压力比较大,可以作为加急测试方案。最大的风险是不知道有些特性是否被遗漏(11)在测试一个web页面时,页面显示为空白页,如何定位问题所在?可能是哪些原因引起的?参考答案:1、本身页面代码就是空白的。浏览器按F12查看2,本地无网络,浏览器是否缓存是否为空白页3,发送超时,接收超时,服务器超时。4,域名错误,ip解析不了。(12)软件的评审一般由哪些人参加?其目的是什么?参考答案:在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。人员:用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审那个阶段(13)描述测试用例设计的完整过程?参考答案:需求分析+需求变更的维护工作;根据需求得出测试需求;设计测试方案,评审测试方案;方案评审通过后,设计测试用例,再对测试用例进行评审;(14)面试官问用安卓系统和ios系统进行软件测试,会有哪些不同1.Android长按home键呼出应用列表和切换应用,然后右滑则终止应用;2.多分辨率测试,Android端20多种,ios较少;3.手机操作系统,Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash);4.操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应用数据从内存移动到SD卡后能否正常运行等;5.push测试:Android:点击home键,程序后台运行时,此时接收到push,点击后唤醒应用,此时是否可以正确跳转;ios,点击home键关闭程序和屏幕锁屏的情况(红点的显示);6.安装卸载测试:Android的下载和安装的平台和工具和渠道比较多,ios主要有appstore,iTunes和testflight下载;7.升级测试:可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区分新旧版本(如版本号),对于Android若有内置的应用需检查升级之后内置文件是否匹配(如内置的输入法)(15)LoadRunner分哪三部分?参考答案:用户动作设计;场景设计;测试数据分析;(16)数据库内联接和外连接,自联接有什么区别?参考答案:内联接通常是2个表存在主外键关系时使用的,内联接查询有2种方式实现,1是在WHERE子句中指定联接条件2是在FROM子句中使用join...on内联接查询通常不仅仅联接2表,可以3表甚至更多的表参与内联接的表的地位是平等的而外联接中参与联接的表有主从之分。以主表的每行数据去匹配从表的数据列,符合条件的数据将直接返回到结果集中,不符合的用NULL(空值)填充后再返回到结果集中(17)测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?参考答案:软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略和测试方法(最好是能先评审)(18)当开发人员说不是BUG时,你如何应付?参考答案:开发人员说不是bug,有2种情况,一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动,3方商量确定好后再看要不要改。二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发人员不修改也没有大问题。如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认。(19)如果一个bug只出现一次,该怎么处理?(1)bug出现的同时立即截图留下异常的画面(2)使用相同的环境、设备、测试步骤、方法,使用相同的输入数据,看能否重(3)不能重现,则告诉项目经理发现bug的过程,分析优先级,讨论解决方案(20)软件测试的缺陷等级如何划分?参考答案:A类—严重错误,包括以下各种错误:1.由于程序所引起的死机,非法退出2.死循环3.数据库发生死锁4.因错误操作导致的程序中断5.与数据库连接错误6.数据通讯错误B类—较严重错误,包括以下各种错误:1.程序接口错误2.系统可被执行,但操作功能无法执行(含指令)3.单项操作功能可被执行,但在此功能中某些小功能(含指令参数的使用)无法被执行(对系统非致命的)4.在小功能项的某些项目(选项)使用无效(对系统非致命的)5.业务流程不正确6.功能实现不完整,如删除时没有考虑数据关联7.功能的实现不正确,如在系统实现的界面上,一些可接受输入的控件点击后无作用;对数据库的操作不能
本文标题:软件测试面试题
链接地址:https://www.777doc.com/doc-4959515 .html