Chinaunix首页 | 论坛 | 博客
  • 博客访问: 166795
  • 博文数量: 48
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 640
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-22 15:54
文章分类
文章存档

2011年(2)

2010年(13)

2009年(30)

2008年(3)

我的朋友

分类: 项目管理

2009-09-06 09:48:16

常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。

  1. 等价类划分

  常见的软件测试题划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.

  2. 边界值分析法

  边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.

  使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

  3. 错误推测法

  基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.

  错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结。还有, 输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例.

  4. 因果图方法

  前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.

  5. 正交表分析法

  有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。

  6. 场景分析方法

  指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。


  您认为做好测试用例设计工作的关键是什么?

  白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果

  黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题


  详细的描述一个测试活动完整的过程。

  1. 通过和客户的交流,完成需求文档,由开发人员和测试人员共同完成需求文档的评审,评审的内容包括:需求描述不清楚的地方和可能有明显冲突或者无法实现的功能的地方。项目经理通过综合开发人员,测试人员以及客户的意见,完成项目计划。然后SQA进入项目,开始进行统计和跟踪

  2. 开发人员根据需求文档完成需求分析文档,测试人员进行评审,评审的主要内容包括是否有遗漏或者双方理解不同的地方。测试人员完成测试计划文档,测试计划包括的内容上面有描述。

  3. 测试人员根据修改好的需求分析文档开始写测试用例,同时开发人员完成概要设计文档,详细设计文档。此两份文档成为测试人员撰写测试用例的补充材料。

  4. 测试用例完成后,测试和开发需要进行评审。

  5. 测试人员搭建环境

  6. 开发人员提交第一个版本,可能存在未完成功能,需要说明。测试人员进行测试,发现BUG后提交给BugZilla。

  7. 开发提交第二个版本,包括Bug Fix以及增加了部分功能,测试人员进行测试。

  8. 重复上面的工作,一般是3-4个版本后BUG数量减少,达到出货的要求。

  9. 如果有客户反馈的问题,需要测试人员协助重现以及回归测试。

  以往是否曾经从事过性能测试工作?请尽可能的详细描述您以往的性能测试工作的完整过程。

  曾经做过一套网管系统的性能测试,主要测试该软件在同时管理大量终端的情况下,在响应时间,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记录,所以,对于描述的要求高,能提供的信息多且准确,很好的帮助开发人员定位。

 

 

 

 

 

管理职位题 • ( TM )请列举你曾经担任的测试职位 
• ( TM )你认为项目测试经理的工作职责和内容是什么? 
• ( TM )请描述如果你是测试队伍的负责人,你如何提高测试队伍的技术能力? 
• ( TM )你认为测试工程师的工作职责和内容是什么? 
• ( TM )请画图描述项目测试过程与开发、、这三个过程之间的关系 
• ( TM )某个项目为长期外包测试,测试人员长期派驻客户现场执行测试工作,你作为一个现场的项目测试经理如何维持组中测试工程师的稳定性?可从任意方面分析 
• ( TM )如何解决测试需求、测试用例等测试信息的版本控制问题?
• ( TE )请列举你曾经做过的测试(你认为有技术含量的或者提高了测试管理能力的),并描述你从中如何受益 
• ( TE )请列举至少 5 个项目测试过程中可能存在的实施风险,并给出每项风险的规避方法 
• ( TE )在完整的测试过程中,你选择在何时进行自动化?为什么? 
• ( TE )在完整的测试过程中,你选择在何时进行?为什么? 

 
功能测试职位面试题 

• ( FT )请比较 TestManager 与 MI TestDirector 的优缺点 
• ( FT )请描述、、灰盒测试 
• ( FT )请描述如何进行测试需求的跟踪分析? 
• ( FT )请列举至少三种测试用例的设计方法,并说明其基本的原理 
• ( FT )请画出一个缺陷的生命周期示意图 
• ( FT )请列举至少三种缺陷统计分析的方法,并说明每个方法的作用 
• ( FT )请画出一个、集成测试、、验收测试的流程示意图 

 
自动测试职位面试题 

• ( AT )请列举你曾经做过的自动化功能测试项目的经验 
• ( AT )你认为适合进行自动化功能测试的时机是什么?请解释原因 
• ( AT )请列举至少三个在实现过程中会遇到的难点 
• ( AT )请问:怎么在自动测试中实现数据驱动? 
• ( AT )你会计算自动测试工程的投入回报比吗?怎么计算? 
• ( AT )请比较 Rational Robot 与 MI 的优缺点 
• ( AT )你认为 Robot 在数据参数化的时候有什么不便之处吗? 
• ( AT )请问 QTP 中如何不用录制的方法启动 IE ,并对 IE 窗口进行操作 
• ( AT )在用自动测试工具制作测试脚本的时候,当需要对某个界面上的对象进行操作时,如何保证操作成功?
• ( TP )请选择一个自动功能测试工具并用该测试工具的脚本语言写一个脚本:每天早上 9 点弹出对话框,提示“现在 9 点了”。说明在测试工具中使用你的脚本的方式 

 
性能测试职位面试题 

• ( PT )请列举你曾经做过的性能测试项目,包括被测系统名称、硬件架构、应用架构和性能测试工具 
• ( PT )给你一个 J2EE 的 Web 应用系统,请描述完整的性能测试流程 
• ( PT )请描述如何有效的监控 WEBLOGIC 应用服务器的性能情况 
• ( PT )请描述如何有效的监控 服务器的性能情况 
• ( PT )请问:当的 PageFaults/s 数值很大且频繁波动,说明什么? 
• ( PT )请问:在性能测试的时候,怎样判断网络存在瓶颈? 
• ( PT )请描述性能测试报告中应该包含的主要内容 
• ( PT )请比较 Rational 性能测试工具与 MI 的优缺点 
• ( PT )在性能测试时,如果被测系统没有带界面的客户端,你有什么办法? 
• ( TP )请说明在性能测试中用测试工具进行数据关联是什么意思,解决什么问题?

 
英语能力面试题 
• ( )翻译下面的内容 
An important special case of overlooking bugs is checking that the product does what it's supposed to do, but not that it doesn't do what it isn't supposed to do. As an example, suppose you have a program that updates a health care service's database of family records. A adds a second child to Dawn Marick's record. Almost all testers would check that, after the update, Dawn now has two children. Some testers - those who are clever, experienced, or subject matter experts - would check that Dawn Marick's spouse, Brian Marick, also now has two children. Relatively few testers would check that no one else in the database has had a child added. They would miss a bug where the programmer over-generalized and assumed that all "family information" updates should be applied both to a patient and to all members of her family, giving Paul Marick (aged 2) a child. 
  Ideally, every test should check that all data that should be modified has been modified and that all other data has been unchanged. With forethought, that can be built into automated tests. Complete checking may be impractical for manual tests, but occasional quick scans for data that might be corrupted can be valuable. 
• ( English )根据下面的中文内容写一个缺陷报告 
我们正在给国外的一家软件公司的“ klsoft ”软件做测试,你发现了一个 bug ,在“ Mkbox ”对话框中输入八位的数字点“ save ”按钮,再次查询后该数字就会变成另外一个数字,而且任何什么规则,如果输入小于八位或者大于八位的数字就不会出现此问题。这个问题在 Win2000 professional 系统存在,系统不存在。现在该软件已经投入使用了,所以你感觉到问题的严重性,现在要求你写一封英文的 email 给美国公司的 Simen ,希望他可以帮助转达给相关的负责人员,引起注意,记住 Simen 并不是这部分的负责人,而且他工作很忙,所以要注意措辞。

阅读(1761) | 评论(0) | 转发(0) |
0

上一篇:软件测试面试1

下一篇:冒烟测试和BAT测试

给主人留下些什么吧!~~