




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内部资料,严禁外协人员接触,测试部一、二级工程师任职资格培训课程,软件测试技术基础,测试研究管理部软件测试技术基础课程开发小组郑育红、向昌达、李旭成、穆西宏、陈果林、任伟良、戎兵2003年9月2日,1,课程目标,掌握软件测试的基础知识掌握白盒测试概念和方法掌握黑盒测试概念和方法,2,目录,第一章软件测试基础第二章白盒测试第三章黑盒测试,3,第一章软件测试基础,1.1软件测试的定义1.2软件测试的目的1.3软件测试的一般原则1.4软件测试的方式1.5IPD流程的主要测试活动,4,1.1软件测试的定义,1、软件测试是在软件投入运行前对需求、设计和编码的结果进行复查;,2、软件测试是根据开发各阶段的需求、设计文档和代码而精心设计的一批用例,利用这些测试用例去运行程序,以及发现程序错误的过程。,5,1.2软件测试的目的,发现错误!,例如:发现需求、设计和实现的错误,6,1.3软件测试的一般原则,1、尽早地、不断地进行软件测试;,2、明确测试输入预置条件和与之对应的预期输出结果;,3、避免测试自己编写的程序;,4、在测试设计时应充分考虑异常的输入情况;,5、充分考虑程序测试中的群集现象,80的错误集中在20的程序模块;,6、排除测试的随意性;,7、对测试结果做全面检查;,8、妥善保存测试计划,测试用例,出错统计和最终分析结果;,9、所有的测试应该追溯到用户需求;,10、测试应该从小规模开始,逐步转向大规模即渐增式build测试。,7,1.4软件测试的方式,如:针对需求分析、概要设计、详细设计以及编码各阶段所得到的文档的评审,以及对代码的走读和检视等;,2、动态测试;执行程序而开展的一项列活动,1、静态测试:无需执行程序而开展的一项活动,如:针对源代码进行的单元测试、集成测试和系统测试等;,8,1.5IPD流程的主要测试活动,9,目录,第一章软件测试基础第二章白盒测试第三章黑盒测试,10,第二章白盒测试,2.1白盒测试的定义2.2程序结构分析2.3逻辑覆盖2.4其他白盒测试方法简单介绍2.5白盒测试的实际应用,11,2.1白盒测试的定义,白盒测试是根据被测程序的内部结构设计测试用例的一种测试方法.,输入,输出,if()else,被测对象,12,2.2程序结构分析,程序的结构形式是白盒测试的主要依据。程序结构分析包括:(1)控制流分析(2)数据流分析(3)信息流分析,13,2.2.1控制流分析,通过控制流图矩阵来表示程序的控制流程图。分析程序的控制流是为了使编写出的程序有好的结构。对于程序结构提出以下4点基本要求,这些要求是写出的程序不应包含:转向并不存在的标号;没有用的语句标号;从程序入口进入后无法达到的语句;不能达到停机语句的语句。目前主要是通过编译器和程序分析工具来实现程序控制流分析。,14,2.2.2数据流分析,数据流分析是分析程序中未定义变量的使用和未曾使用的变量定义。目前通过编译器或程序分析工具通过数据流分析利用数据流分析的结果可以进行代码编译优化。,15,2.2.3信息流分析,目前信息流分析主要用在验证程序变量间信息的传输遵循保密要求。信息流分析主要分析输出值跟输入值之间的影响关系。程序的信息流关系,为软件开发和确认提供了十分有益的工具,16,2.3逻辑覆盖,2.3.1语句覆盖2.3.2判定覆盖2.3.3条件覆盖2.3.4判定-条件覆盖2.3.5路径覆盖,17,2.3逻辑覆盖(续),被测试的程序:IF(A1)AND(B=0)THENX=X/AIF(A=2)OR(X1)THENX=X+1该程序共有4条语句,其中2条条件判断语句,2条赋值语句。,18,2.3.1语句覆盖,何为语句覆盖?设计若干个测试用例,然后运行被测程序,使程序中的每个可执行语句至少执行一次。该程序段的语句覆盖测试用例为那些?,19,2.3.2判定覆盖,何为判定覆盖?设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假值均曾被满足。又称分支覆盖。该程序段的判定覆盖测试用例为那些?,20,2.3.3条件覆盖,何为条件覆盖?设计若干测试用例,执行被测程序以后,要使每个判断中每个条件的可能取值至少满足一次。该程序段的条件覆盖测试用例为那些?,21,2.3.4判定-条件覆盖,何为判定-条件覆盖?设计足够的测试用例,使得判断中每个条件的所有可能至少出现一次,并且每个判断本身的判定结果也至少出现一次。该程序段的判定-条件覆盖测试用例为那些?,22,2.3.5路径覆盖,何为路径覆盖?设计足够多测试用例,要求覆盖程序中所有可能的路径。该程序段的路径覆盖测试用例为那些?,23,2.4其他白盒测试方法简介,程序插装(2)域测试(3)符号测试(4)Z路径覆盖(5)程序变异,24,2.4.1程序插装,往被测程序中插入操作来实现测试。程序插装技术能够按用户的要求,获取程序的各种执行过程中的信息,成为测试工作的有效手段。在程序中的特定部位插入某些用以判断变量特性的语句,使得程序执行中这些语句得以证实,从而使程序的运行特性得到证实。我们把插入的这些语句称为断言。使用断言就是程序插装的一种有效方法,25,2.4.2域测试,域测试的“域”是指程序的输入空间。输入空间又可分为不同的子空间,每一子空间对应一种不同的计算。子空间的划分是由程序中分支语句中的谓词决定的。域测试正是在分析输入域的基础上,选择适当的测试点以后进行测试的。域测试有两个致命的弱点,一是为进行域测试对程序提出的限制过多,二是当程序存在很多路径时,所需的测试点也就很多。,26,2.4.3符号测试,符号测试的基本思想是允许程序的输入不仅仅是具体的数值数据,而且包括符号值,这一方法也是因此而得名。普通测试执行的是算术运算,符号测试则是执行代数运算。因此符号测试可以认为是普通测试的一个自然的扩充。,27,2.4.4Z路径覆盖,完成路径测试的理想情况是做到路径覆盖,但路径太多。因此对循环机制进行简化,从而极大地减少路径的数量,使得覆盖这些有限的路径成为可能。我们称简化循环意义下的路径覆盖为Z路径覆盖。对于程序中的所有路径可以用路径树来表示设法遍历了所有的叶结点,那就得到了所有的路径,生成每个路径的测试用例,就可以做到Z路径覆盖测试。,28,2.4.5程序变异,程序变异方法与前面提到的结构测试和功能测试都不一样,它是一种错误驱动测试。错误驱动测试方法,是指该方法是针对某类特定程序错误的。错误驱动测试主要有两种,即程序强变异和程序弱变异。,29,2.5白盒测试的实际应用,应用于单元测试要求最少达到语句覆盖对于比较核心的模块做到判定条件覆盖利用覆盖准则来设计用例程序插装使用最多,30,目录,第一章软件测试基础第二章白盒测试第三章黑盒测试,31,第三章黑盒测试,3.1黑盒测试定义3.2常见的黑盒测试方法3.3等价类方法演练3.4其他黑盒测试方法3.5黑盒测试方法的实际应用,32,3.1黑盒测试定义,黑盒测试又称为功能测试、数据驱动测试或基于规格说明的测试黑盒测试相对于白盒测试而言,并不关心被测对象的内部实现,而是针对被测对象提供的外部功能与规格出发来设计测试用例进行测试,被测对象,输入,输出,33,3.2常见的黑盒测试方法,3.2.1等价类划分,3.2.2边界值分析,3.2.3错误推测,3.2.4因果图,3.2.5判定表,3.2.6正交分析,3.2.7功能图,34,3.2.1等价类划分,定义:,特点:,将全部输入数据合理划分为若干等价类,在每一个等价类中选取一个数据作为测试的输入条件,这样所取得的测试效果与选择等价类内所有数据作为测试的输入所取的测试效果是一样的,典型、常用测试效率得到提高,35,3.2.1等价类划分(续),等价类划分方法应用介绍,第一步:划分等价类,第二步:边界值分析(可选步骤),第三步:多个输入间关系分析(可选步骤),第四步:生成测试用例,36,3.2.1等价类划分(续)应用介绍,划分等价类有效等价类与无效等价类等价类划分原则等价类划分表确定测试用例,37,3.2.1等价类划分(续)实例(三角形判断),38,3.2.1等价类划分(续)实例(用户ID与密码),某网管用户登录界面要求输入用户ID和密码才能登录,对该用户登录功能进行测试。用户ID、密码要求不能为空。用户ID为4位数字,不能以“0”开头;用户密码为6位数字,不能以“0”开头。演练要求:划分等价类生成测试用例,39,3.2.2边界值分析,定义:,特点:,经验告诉我们,大量的错误是发生在输入或输出范围的边界上,边界值分析就是在划分的等价类区域的边界及其附近进行测试数据的选取,典型、常用测试方法经常会和等价类划分方法配合使用,40,3.2.2边界值分析(续),边界值分析方法应用介绍,第一步:确定输入的范围,第二步:确定范围的边界值,第三步:多个输入关系分析(可选步骤),第四步:生成测试用例,41,3.2.2边界值分析(续),输入满足以下条件时可以运用边界值分析方法进行分析:输入条件规定了一个值的范围输入条件规定了值的个数输入条件规定了值的先后顺序,边界的定义:上点:域边界上的点离点:离上点最近的点内点:域内的任意点,42,3.2.2边界值分析(续)应用实例,43,3.2.3错误推测法,定义:,错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的进行测试的方法。,特点:,分析过程简单、可操作性强,测试用例的设计更加具有针对性、有效性,44,3.2.3错误推测法(续),错误推测法应用介绍,第一步:确定被测对象范围,第二步:在测试经验库中查找相关内容,第三步:根据测试经验库中查找出的相关内容设计测试用例,45,3.2.3错误推测法(续)应用实例,例如在进行某产品某版本测试用例设计时首先对该产品或其他同类型产品的网上问题情况进行分析,得到一个网上问题分析报告。分析报告中有对于网上问题出现的位置、几率、严重程度、原因进行的分析,那么在进行该版本测试用例设计时就可根据该报告中分析的结论有针对性的设计相应的测试用例。,46,3.2.4因果图分析方法,定义:,特点:,考虑了多个输入之间的组合情况,等价类划分和边界值分析着重考虑了对于一个输入条件的分析,但是他们都没有考虑到如果存在多个输入条件时的他们之间的组合与联系。因果图方法运用图的方法对多个输入之间的组合以及输入、输出之间的因果关系进行了分析。,47,3.2.4因果图分析方法(续),因果图方法应用介绍,第一步:确定被测对象的输入与输出,第二步:通过语义分析给出输入与输出之间的因果关系,第三步:根据因果关系分析画出因果图,第四步:将因果图转换为判定表,第五步:根据判定表设计测试用例,48,3.2.4因果图分析方法(续),因果图分析相关逻辑符号:,49,3.2.4因果图分析方法(续),因果图分析相关约束符号:,50,3.2.4因果图分析方法(续)应用实例,51,3.2.5判定表方法,定义:,采用表格的形式,列出所有条件和所有结果的组合,做到无遗漏的覆盖。,特点:,1、判定表适合于条件项各自独立,互不影响的情况。2、判定表使用的技巧在于,把条件项划分清晰,对条件进行合理得组合,使得到得规则数最小。,52,3.2.5判定表方法(续),判定表分析步骤。,第一步:确定规则个数。假如有n个条件,每个条件有两个取值,就有2的n次方个规则,第二步:列出所有的条件桩和动作桩,第三步:填入条件项,第四步:填入动作项。得到初始判定表,第五步:简化。合并相似规则和动作,53,3.2.5判定表方法(续),条件桩(ConditionStub):列出了问题得所有条件,通常认为列出得条件的次序无关紧要。动作桩(ActionStub):列出了问题规定可能采取的操作,这些操作的排列顺序没有约束。条件项(ConditionEntry):列出针对它左列条件的取值,在所有可能情况下的真假值。动作项(ActionEntry):列出在条件项的各种取值情况下应该采取的动作。规则:任何一个条件组合的特定取值及其相应要执行的操作。在判定表中贯穿条件项和动作项的一列就是一条规则。显然,判定表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。,54,3.2.6正交试验设计方法,定义:,正交试验设计法,是从大量的试验点中选取适量的有代表性的点,应用依据伽罗华理论推导出的正交表,合理地安排实验的一种科学的实验设计方法。利用这种方法,可使所有的因子和水平在试验中均匀地分配与搭配,均匀地有规律地变化。,特点:,采用正交实验设计方法进行测试用例的设计能够有效地、合理地减少测试的工时与费用。兼顾测试成本与测试充分性的均衡,提高测试效率。,55,3.2.6正交试验设计方法(续),正交试验设计方法应用步骤,第一步:提取功能说明,构造因子-状态表影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态;,第二步:加权筛选,生成因素分析表对因子与状态的选择可按其重要程度分别加权。可根据各个因子及状态的作用大小、出现频率的大小以及测试的需要,确定权值的大小,第三步:利用正交表构造测试数据集正交表的推导依据Galois理论,56,3.2.7功能图方法,定义:,功能图方法就是根据对被测功能的状态迁移图以及逻辑功能图的覆盖进行测试用例设计的方法;,特点:,功能图方法借鉴了白盒测试方法的思想功能图方法是一种常用的且实用的黑盒测试方法,57,3.2.7功能图方法(续),功能图方法应用步骤:,第一步:画出状态迁移图,第二步:在每个状态中生成局部测试用例,第三步:利用规则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作与生活两不误的策略
- 工作中的自律性对提高效率的影响
- 工业自动化发展趋势及技术革新
- 工业设计的美学与产品设计实践
- 工作效率提升技巧与策略
- 工业领域物联网环保应用研究
- 工作模式变革下的组织文化创新
- 工作流程优化与持续改进方法
- 工厂安全生产与应急预案制作
- 工程建筑中岩土工程的实践应用
- 福建省福州市(2024年-2025年小学六年级语文)统编版期末考试((上下)学期)试卷及答案
- 网络安全项目授权委托书范本
- (高清版)DB43∕T 2428-2022 水利工程管理与保护范围划定技术规范
- 个人诚信承诺书模板(共4篇)
- 供水公司自来水厂隐患排查和风险分级管控管理制度
- 企业一季一课安全教育内容
- 《乘风破浪扬帆起航》高三主题班会 高中主题班会
- GB/T 44543-2024预制混凝土节段拼装用环氧胶粘剂
- 附着式升降脚手架维护保养管理制度
- 四川凉山历年中考语文现代文之说明文阅读7篇(含答案)(2003-2023)
- 基本公共卫生服务项目糖尿病患者管理考核反馈表
评论
0/150
提交评论