您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 常见的测试用例设计方法都有哪些
常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。1.等价类划分常见的软件测试面试题划分等价类:等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.2.边界值分析法边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.3.错误推测法基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.例如,在单元测试时曾列出的许多在模块中常见的错误.以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行.这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例.4.因果图方法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况.5.正交表分析法有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。6.场景分析方法指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。您认为做好测试用例设计工作的关键是什么?白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题详细的描述一个测试活动完整的过程。1.项目经理通过和客户的交流,完成需求文档,由开发人员和测试人员共同完成需求文档的评审,评审的内容包括:需求描述不清楚的地方和可能有明显冲突或者无法实现的功能的地方。项目经理通过综合开发人员,测试人员以及客户的意见,完成项目计划。然后sqa进入项目,开始进行统计和跟踪2.开发人员根据需求文档完成需求分析文档,测试人员进行评审,评审的主要内容包括是否有遗漏或者双方理解不同的地方。测试人员完成测试计划文档,测试计划包括的内容上面有描述。3.测试人员根据修改好的需求分析文档开始写测试用例,同时开发人员完成概要设计文档,详细设计文档。此两份文档成为测试人员撰写测试用例的补充材料。4.测试用例完成后,测试和开发需要进行评审。5.测试人员搭建环境6.开发人员提交第一个版本,可能存在未完成功能,需要说明。测试人员进行测试,发现bug后提交给bugzilla。7.开发提交第二个版本,包括bugfix以及增加了部分功能,测试人员进行测试。8.重复上面的工作,一般是3-4个版本后bug数量减少,达到出货的要求。9.如果有客户反馈的问题,需要测试人员协助重现以及回归测试。注:SQA的缩写是SoftwareQualityAssurance(软件质量保证)软件质量保证(SQA)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。SQA素质要求有:1.过程为中心:应当站在过程的角度来考虑问题,只要保证了过程,QA就尽到了责任。2.服务精神:为项目组服务,帮助项目组确保正确执行过程。3.了解过程:深刻了解企业的工程,并具有一定的过程管理理论知识。4.了解开发:对开发工作的基本情况了解,能够理解项目的活动。5.沟通技巧:善于沟通,能够营造良好的气氛,避免审计活动成为一种找茬活动。以往是否曾经从事过性能测试工作?请尽可能的详细描述您以往的性能测试工作的完整过程。曾经做过一套网管系统的性能测试,主要测试该软件在同时管理大量终端的情况下,在响应时间,cpu/磁盘/内存等参数是否满足要求。也曾经做过软交换系统的呼叫性能测试,主要是测试软交换系统在有大量呼叫的情况下,响应时间,呼叫成功率,cpu/磁盘/内存等参数是否满足设计要求。您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。测试网管系统中,使用的mimic来模拟终端,能够大量的节省成本。测试软交换系统的时候,使用的prolab来模拟终端并发送呼叫软交换,他完成了同时数百人才能完成的摘机拨号工作,主要工作原理是产生一些符合要求的ip包并发送给软交换系统,同时对软交换系统的回应进行处理,决定下一步动作。您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?主要是保障在大量用户的情况下,服务能正常使用。在您以往的工作中,一条软件缺陷(或者叫bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(bug)记录?1.在传统的bugzilla中,bug描述应该包括以下的信息2.和bug产生对应的软件版本3.开发的接口人员4.bug的优先级5.bug的严重程度6.bug可能属于的模块,如果不能确认,可以用开发人员来判断7.bug标题,需要清晰的描述现象8.bug描述,需要尽量给出重新bug的步骤9.bug附件中能给出相关的日志和截图。高质量的bug记录就是指很容易理解的bug记录,所以,对于描述的要求高,能提供的信息多且准确,很好的帮助开发人员定位。1、软件测试的原则是什么?2、软件测试的V模型?3、画出bug的跟踪状态图?4、描述下oracle中得SGA是什么?5、输入三个整数,判断他是不是有效的三角形,设计下测试用例?6、一个查找对话框,设计下测试用例?7、SQL语句中having的作用?8、QQ文件传输过程,设计下测试用例?9、黑盒测试用例的设计的方法?10、描述下常用的测试工具?11、描述下测试活动完整的过程?12、描述下loadrunner和QTP的区别?13、一个杯子,设计下测试用例?14、描述下内连接在什么时候下应用?15、左连接和右连接有什么区别?16、distinct是什么意思?17、描述下一个软件项目的流程?18、描述下你怎么理解黑盒测试的?19、bugfree、QC、TD你认为三者有什么区别?20、一个网上订单提交的过程。设计下测试用例?21、描述下功能测试、性能测试、系统测试、集成测试的区别及联系?22、给一个C++的程序,画出它的流程图。23、描述下软件工程中软件测试的重要性?24、测试一个程序,并发用户为50个,在Loadrunner中怎么设置?25、描述下Loadrunner测试过程?26、Loadrunner在录制脚本时,对于那种加密的密码,录制完成后,会产生乱码,你在脚本增强时,怎么样让其解码?27、在用Loadrunner测试的时候,首先要选择的就是录制的协议,假设一个程序,既是B/S的程序,页面中还嵌入Javalet的内容,在录制时,你选择什么协议?28、为什么要使用存储过程?在程序中怎么调用存储过程?29、bug的状态有哪些?30、写一个语句,去除重复项?31、一个bug描述都包括哪些内容?32、怎么样提交高质量的bug?33、把A库的数据移动B库中,怎么实现?34、包括A表和B表中所有的行并消除重复行,应用哪个关键字?35、.Net的程序怎么搭建?36、会不会搭建测试bugfree、QC或者TD?怎么搭建?37、了解中间件吗?38、在QC或者TD中,会不会对字段进行维护?39、Oracle中转换日期的函数是什么?40、数据库设计三大范式?性能测试1.如何理解TPS?2.如何理解线程调用?3.如何理解响应时间?4.如何理解性能建模?(可分类回答)5.如何理解响应时间、TPS曲线和用户之间的关系?6.在LoadRunner中为什么要设置思考时间和pacing?应用服务器1.如何理解J2EE的系统架构?2.如何理解J2EE应用服务器的容器?3.如何理解内存泄露?如何定位JAVA类的应用的内存泄露?如何定位C语言编写的应用的内存泄露?4.如果用纯JAVA的应用调用J2EE应用服务器的容器资源会出现什么结果?需要如何维护容器资源?(说明原理即可)5.如何定位JAVA的方法调用消耗的时间?(不通过在源代码中加时间戳的方式)?6.如何定位C语言中的函数调用消耗的时间?7.如何监控J2EE应用服务器?(可以用一个具体的应用服务器做例子)数据库1.如何理解数据库架构?(可以用一个数据库做例子)2.SQL语句在数据库中的执行分成几步,每一步都做什么?(可以用一个数据库做例子)3.如何跟踪SQL的执行时间和内存的消耗?(可以用一个数据库做例子)4.如何监控数据库?监控能得到什么数据?(可以用一个数据库做例子)5.如何定位死锁问题?如何定位热块问题?如何监控日志切换?(可以用一个数据库做例子)6.有几种手段可以改变执行计划?(可以用一个数据库做例子)操作系统1.如何判断CPU、内存、磁盘的瓶颈?2.如何理解CPU、内存、磁盘之间的关系?3.如何理解pagingin/pagingout?4.如何监控操作系统的资源?(可以用一个操作系统做例子)5.如何理解内存管理和线程调度?(可以用一个操作系统做例子)6.如何理解CSwitch?(可以用一个操作系统做例子)7.如何理解磁盘IO?(可以用一个操作系统做例子)网络1.如何定位数据包的传输在网络上消耗的时间?2.如何理解纯路由和NAT的区别?性能测试工具1.解释LoadRunner的工作原理。2.如何理解LoadRunner里的关联?3.如何理解性能压力工具?4.如何理解虚拟用户?(可以用一个工具做例子)5.如果理解业务到脚本的转化?(可以用一个工具做例子)6.如何做到业务统计数据到场景的转化?(可以用一个工具做例子)一般测试流程:1.需求分析阶段:只要就是对业务的学习,分析需求点。2.测试计划阶段:测试组长就要根据SOW(工作说明书)开始编写《测试计划》,其中包括人员,软件硬件资源,测试点,集成顺序,进度安排和风险识别等内容。3.测试设计阶段:测试方案一般由对需求很熟的高资深的测试工程师设计,测试方案要求根据《SRS》上的每个需求点设计出包括需求点简介,测试思路和详细测试方法三部分的方案。《测试方案》编写完成后也需要进行评审。4.测试方案阶段:主要是对测试用例和规程的设计。测试用例是根据《测试方案》来编写的,通过《测试方案》阶段,测试人员对整个系统需求有了详细的理解。这时开始编写用例才能保证用例的可执行和对需求的覆盖。测试用例需要包括测试项,用例级别,预置条件,操作步骤和预期结果。其中操作步骤和预期结果需要编写详细和明确。测试用例应该覆盖测试方案,而测试方案又覆盖
本文标题:常见的测试用例设计方法都有哪些
链接地址:https://www.777doc.com/doc-6683410 .html