目录
测试用例........................................................................................................................................... 2 测试用例的设计 ............................................................................................................................... 3
(一)白盒技术 ............................................................................................................... 3 (二)黑盒技术 ............................................................................................................... 4
面试题 .............................................................................................................................................. 9
测试用例
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。测试用例构成了设计和制定测试过程的基础。编制测试用例的具体做法:1、测试用例文档测试用例在软件测试中的作用:1、 指导测试的实施。测试用例主要适用于集成测试、系统测试和
回归测试。
2、 规划测试数据的准备3、 编写测试脚本的4、 评估测试结果的度量基准。完成测试实施后需要对测试结果进行
评估,并且编制测试报告。要一些量化的结果。例:测试覆盖率是多少、测试合格率是多少、重要测试合格率是多少,等等。5、 分析缺陷的标准
2、测试用例的设置
\"设计规格说明书判断软件测试是否完成、衡量测试质量需
3、设计测试用例 \"
测试用例的设计
(一)白盒技术
白盒测试是结构测试,所以被测对象基本上是源程序,以程序的内部逻辑为基础设计测试用例。 1、逻辑覆盖
程序内部的逻辑覆盖程度,当程序中有循环时,覆盖每条路径是不可能的,要设计使覆盖程度较高的或覆盖最有代表性的路径的测试用例。
(1)语句覆盖。
为了个提高发现错误的可能性,在测试时应该执行到程序中的每一个语句。语句覆盖是指设计足够的测试用例,使被测试程序中每个语句至少执行一次。 (2)判定覆盖。
判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次,因此判定覆盖也称分支覆盖。 (3)条件覆盖。
条件覆盖是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次。 (4)判定/条件测试。
该覆盖标准指设计足够的测试用例,使得判定表达式的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。 (5)条件组合覆盖。
条件组合覆盖是比较强的覆盖标准,它是指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。 (6)路径覆盖。
路径覆盖是指设计足够的测试用例,覆盖被测程序中所有可能的路径。
在实际的逻辑覆盖测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例,以达到路径覆盖测试标准。 2.循环覆盖 3.基本路径测试
(二)黑盒技术
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
1.等价类划分 (1)划分等价类。
①如果某个输入条件规定了取值范围或值的个数。则可确定一个合理的等价类(输入值或数在此范围内)和两个不合理等价类(输入值或个数小于这个范围的最小值或大于这个范围的最大值)。
②如果规定了输入数据的一组值,而且程序对不同的输入值做不同的处理,则每个允许输入值是一个合理等价类,此处还有一个不合理等价类(任何一个不允许的输入值)。
③如果规定了输入数据必须遵循的规则,可确定一个合理等价类(符合规则)和若干个不合理等价类(从各种不同角度违反规则)。
④如果已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分为更小的等价类。 (2)确定测试用例。 ①为每一个等价类编号。
②设计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的合理等价类。重复这步,直到所有合理等价类被测试用例覆盖。 ③设计一个测试用例,使其只覆盖一个不合理等价类。 2.边界值分析
使用边界值分析方法设计测试用例时一般与等价类划分结合起来。但它不是从一个等价类中任选一个例子作为代表,而是将
测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。
(1)如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,同时还要选择刚好越过边界值的数据作为不合理的测试用例。如输入值的范围是[1,100],可取0,1,100,101等值作为测试数据。
(2)如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少1、比最大个数多1等情况分别设计测试用例。如,一个输入文件可包括1--255个记录,则分别设计有1个记录、255个记录,以及0个记录的输入文件的测试用例。 (3)对每个输出条件分别按照以上原则(1)或(2)确定输出值的边界情况。如,一个学生成绩管理系统规定,只能查询95--98级大学生的各科成绩,可以设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询94级、99级学生成绩的测试用例(不合理输出等价类)。
由于输出值的边界不与输入值的边界相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。
(4)如果程序的规格说明给出的输入或输出域是个有序集合(如顺序文件、线形表、链表等),则应选取集合的第一个元素和最后一个元素作为测试用例。 3.错误推测
在测试程序时,人们可能根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例,这就是错误推测法。 4.因果图
等价类划分和边界值方法分析方法都只是孤立地考虑各个输入数据的测试功能,而没有考虑多个输入数据的组合引起的错误。 5.综合策略
每种方法都能设计出一组有用例子,用这组例子容易发现某种类型的错误,但可能不易发现另一类型的错误。因此在实际测试中,联合使用各种测试方法,形成综合策略,通常先用黑盒法设计基本的测试用例,再用白盒法补充一些必要的测试用例 测试用例模板:
模块描述 XX项目/XX模块 提交时间 测试人 测试时间 测试环境 测试工具
功能1描述 XX项目/XX模块/XX功能 用例目的 前提条件 输入/动作
期望的输出/相应 实际情况
期待输出和实际比较
软件测试工具也分为自动化软件测试工具和测试管理工具。国内免费软件测试工具有:黑盒测试工具AutoRunner可以用来完成功能测试、回归测试、每日构建测试与自动回归测试等工作和TestCenter是一款功能强大测试管理工具,它可以帮助您:实现测试用例的过程管理,对测试需求过程、测试用例设计过程、业务组件设计实现过程等整个测试过程进行管理。
面试题
一、判断题
1.软件测试的目的是尽可能多的找出软件的缺陷。(Y) 2.Beta 测试是验收测试的一种。(Y) 3.验收测试是由最终用户来实施的。(N) 4.项目立项前测试人员不需要提交任何工件。(Y) 5.单元测试能发现约6.代码评审是检查源代码是否达到模块设计的要求。7.自底向上集成需要测试员编写驱动程序。8.负载测试是验证要检验的系统的能力最高能达到什么程度。9.测试人员要坚持原则,缺陷未修复完坚决不予通过。就是坚持原则。10.代码评审员一般由测试员担任。11.我们可以人为的使得软件不存在配置问题。12.集成测试计划在需求分析阶段末提交。二、选折1.软件验收测试的合格通过准则是:A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B. 所有测试项没有残余一级、二级和三级错误。C. 立项审批表、需求分析文档、设计文档和编码实现一致。D. 验收测试工件齐全。2.软件测试计划评审会需要哪些人员参加?(A.项目经理3.下列关于A.alpha 4.测试设计员的职责有:B.设计测试用例5.软件实施活动的进入准则是:A.需求工件已经被基线化C.构架工件已经被基线化三、添空1.软件验收测试包括:正式验收测试,2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,以合在一起,分开写只要写出3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。5.(这题出的有问题哦,详细的80%的软件缺陷。(Y)
(N) (Y)
(N)
(N)
(N) (N) (ABCD)
ABCD)
B.SQA 负责人 C.配置负责人 Dalpha 测试的描述中正确的是:(AD)
D.alpha 测试是验收测试的一种(BC)
C.设计测试过程、脚本 (ABC)
B.详细设计工件已经被基线化 alpha测试,beta测试。15就满分哦)
5步骤为~~)通过画因果图来写测试用例的步骤
N 看情况有时候()
.测试组 测试需要用户代表参加
(有的可
为: (1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图。
(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。 (4)把因果图转换成判定表。
(5)把判定表的每一列拿出来作为依据,设计测试用例。 四、简答(资料是搜集整理的,感谢前辈的解题)无1.区别阶段评审的与同行评审同行评审目的阶段评审目的同行评审人数阶段评审人数同行评审内容阶段评审内容同行评审时间阶段评审时间
2.什么是软件测试为了发现程序中的错误而执行程序的过程
3简述集成测试的过程系统集成测试主要包括以下过程:1. 构建的确认过程。2. 补丁的确认过程。3. 系统集成测试测试组提交过程。4. 测试用例设计过程。5. 测试代码编写过程。6. Bug的报告过程。7. 每周/每两周的构建过程。8. 点对点的测试过程。9. 组内培训过程。
4 怎么做好文档测试仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。检查文档的编写是否满足文档编写的目的内容是否齐全,正确内容是否完善标记是否正确
:发现小规模工作产品的错误:评审模块 阶段作品的正确性:3-7人 人员必须经过同行评审会议的培训:5人左右 评审人必须是专家:内容小 一般文档: 内容多,主要看重点:一小部分工作产品完成: 通常是设置在关键路径的时间点上
< 40
,只要是找错误; 可行性 及完整性,由 具有系统评审资格, 代码 < 500行!
SQA指导 P142
页 5 白盒测试有几种方法
总体上分为静态方法和动态方法两大类。
静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义
动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
6系统测试计划是否需要同行审批,为什么
需要,系统测试计划属于项目阶段性关键文档,因此需要评审。
7AlphaAlpha设计变更。黑盒、白盒、Beta测试发行前找到。完成。α、β、测试使用;能还存在缺陷和漏洞,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。
8比较负载测试,容量测试和强度测试的区别负载测试:在一定的工作负荷下,系统的负荷及响应时间。强度测试:所造成的影响。容量测试:容量测试目的是通过测试预先分指标的极限值(如最大并发用户数、数据库记录数等)没有出现任何软件故障或还能保持主要功能正常运行。象在给定时间内能够持续处理的最大负载或工作量。受超额的数据容量来发现它是否能够正确处理。的目的是显示系统可以处理目标内确定的数据容量。
9测试结束的标准是什么?用例全部测试。覆盖率达到标准。缺陷率达到标准。其他指标达到质量标准
10描述软件测试活动的生命周期?测试周期分为计划、设计、实现、执行、总结。其中:计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;设计:完成测试方案,从技术层面上对测试进行规划;实现:进行测试用例和测试规程设计;beta的区别
不能由程序或测试员完成。压力、应力等等
不能由程序员或测试员α是第一阶段,一般只供内部一般只提供给特定的用户群来测试使用;λ是第三个阶段,
在较长时间跨度内的系统连续运行给系统性能
析出反映软件系统应用特征的某项,系统在其极限值状态下容量测试还将确定测试对容量测试的目的是使系统承容量测试是面向数据的,并且它
测试与测试 在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的这种测试一般由最终用户或其它人员完成, 当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终这种测试一般由最终用户或其它人员完成,
λ常用来表示软件测试过程中的三个阶段,β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可 在一定的负荷条件下,执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例。 总结:记录测试结果,进行测试分析,完成测试报告。
11软件的缺陷等级应如何划分?
A类—严重错误,包括以下各种错误: 1. 由于程序所引起的死机,非法退出 2. 死循环 3. 数据库发生死锁 4. 因错误操作导致的程序中断 5. 功能错误 6. 与数据库连接错误 7. 数据通讯错误 B类—较严重错误,包括以下各种错误: 1. 程序错误 2. 程序接口错误 3. 数据库的表、业务规则、缺省值未加完整性等约束条件
C类—一般性错误,包括以下各种错误:列名定义、含义是否一致)在前台进行控制D类—较小错误,包括以下各种错误:楚 3. 输入输出不规范业术语 6. 可输入区域和只读区域没有明显的区分标志E类—测试建议