欢迎来到天天文库
浏览记录
ID:14675664
大小:26.59 KB
页数:4页
时间:2018-07-29
《软件测试面试题+测试基础知识》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件测试面试题1、测试的定义软件测试是软件工程过程的一个重要阶段,是在软件升级发布之前对软件开发各阶段产品的最终检查,是为了保证软件开发产品的正确性、完全性和一致性而检测软件错误、修正软件错误的过程。软件测试是:1)程序测试是为了发现错误而执行程序的过程2)测试是为了证明程序有错,而不是证明程序无错误;3)一个好的测试用例是在于它能发现至今未发现的错误;4)一个成功的测试是发现了至今未发现的错误的测试。软件开发的目的:是开发出实现用户需求的高质量、高性能的软件产品,而软件测试是以检查软件功能和其
2、他非功能特性为核心,是软件质量保证的关键,也是成功实现软件开发目标的重要保障。2、测试的种类测试的种类从测试方法角度分为分为:2.1从测试方法角度分为:黑盒测试:2.1.1黑盒测试:是功能测试、数据驱动测试或基于规格说明的测试。在不考虑程序内部结构和内部特性的情况下,测试者依据该程序功能上的输入输出关系,或是程序的外部特性来设计和选择测试用例,推断程序编码的正确性。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构
3、和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。1.等价类划分1.等价类划分(1)划分等价类。①如果某个输入条件规定了取值范围或值的个数。则可确定一个合理的等价类(输入值或数在此范围内)和两个不合理等价类(输入值或个数小于这个范围的最小值或大于这个范围的最大值)。②如果规定了输入数据的一组值,而且程序对不同的输入值做不
4、同的处理,则每个允许输入值是一个合理等价类,此处还有一个不合理等价类(任何一个不允许的输入值)。③如果规定了输入数据必须遵循的规则,可确定一个合理等价类(符合规则)和若干个不合理等价类(从各种不同角度违反规则)。④如果已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分为更小的等价类。(2)确定测试用例。①为每一个等价类编号。②设计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的合理等价类。重复这步,直到所有合理等价类被测试用例覆盖。③设计一个测试用例,使其只覆盖一个不合理等价类
5、。2.边界值分析2.边界值分析使用边界值分析方法设计测试用例时一般与等价类划分结合起来。但它不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。(1)如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,同时还要选择刚好越过边界值的数据作为不合理的测试用例。如输入值的范围是[1,100],可取0,1,100,101等值作为测试数据。(2)如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数
6、少1、比最大个数多1等情况分别设计测试用例。如,一个输入文件可包括1--255个记录,则分别设计有1个记录、255个记录,以及0个记录的输入文件的测试用例。(3)对每个输出条件分别按照以上原则(1)或(2)确定输出值的边界情况。如,一个学生成绩管理系统规定,只能查询95--98级大学生的各科成绩,可以设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询94级、级学生成绩的测试用例(不99合理输出等价类)。由于输出值的边界不与输入值的边界相对应,所以要检查输出值的边界不一定可能,
7、要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。(4)如果程序的规格说明给出的输入或输出域是个有序集合(如顺序文件、线形表、链表等),则应选取集合的第一个元素和最后一个元素作为测试用例。3.错误推测法3.错误推测法错误推测在测试程序时,人们可能根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例,这就是错误推测法。4.因果图因果图法4.因果图法等价类划分和边界值方法分析方法都只是孤立地考虑各个输入数据的测试功能,而没有考虑多个输入数据的组合引起的错误
8、。5.判断表驱动法5.判断表驱动法6.正交试验设计法7.功能图法7.功能图法白盒测试:2.1.2白盒测试:是结构测试、逻辑驱动测试或基于程序的测试。测试者熟悉程序的内部结构,依据程序模块的内部结构来设计测试用例,检测程序代码的正确性白盒测试是结构测试,所以被测对象基本上是源程序,以程序的内部逻辑为基础设计测试用例。白盒测试方法:总体上分为静态方法和动态方法两大类。静态测试方法:不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试,关键功能是检查软件的表示和描述是否一致,
此文档下载收益归作者所有