软件工程---软件测试

目录

 

一、软件测试的目的和原则

软件测试的目的

软件测试的原则

测试信息流

测试与软件开发各阶段的关系

 

二、测试用例设计

1、逻辑覆盖

2、路径测试:设计足够的测试用例,覆盖程序中所有可能的路径

测试用例设计:

等价类划分原则:

边界值分析

基本步骤


一、软件测试的目的和原则

软件测试的目的

软件测试的原则

软件测试的对象

测试信息流

测试与软件开发各阶段的关系

 

软件测试的目的

-1测试时程序的执行过程,目的在于发现错误 

 -2一个好的测试用例在于能发现至今未发现的错误  

-3一个成功的测试是发现了至今未发现的错误的测试

软件测试的原则

-1应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭

-2测试用例应由测试输入数据和对应的预期输出结果这两部分组成

-3程序员应避免检查自己的程序

-4在设计测试用例时,应当包括合理的输入条件和不合理的输入条件

测试信息流

三个输入

-软件配置  -测试配置  -测试工具

三个输出

-测试结果分析   -排错   -修正后的文档再测试

测试与软件开发各阶段的关系

软件开发过程是一个自顶向下,逐步细化的过程

测试过程是依相反顺序安排的自底向上,逐步集成的过程

 

二、测试用例设计

分为黑盒测试和白盒测试

白盒测试:内部结构透明,主要测试程序逻辑路径,又称结构测试---逻辑驱动测试

1、逻辑覆盖

语句覆盖、判断覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖

-语句覆盖:设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次

判定覆盖:设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次

-条件覆盖:设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次

-判定-条件覆盖:设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断中的每个条件的可能取值至少      执行一次

条件组合覆盖:条件组合覆盖就是设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次

2、路径测试:设计足够的测试用例,覆盖程序中所有可能的路径

条件测试路径选择:当程序中判定多于一个时,形成的分支结构可以分为两类 -嵌套型分支结构和连锁型分支结构

循环测试路径选择:简单循环、嵌套循环、连锁循环、非结构循环(尽量转化为结构循环)

黑盒测试:把测试对象看成一个黑盒,主要测试功能,又称功能测试---数据驱动测试

测试用例设计:

等价类划分、边界值分析、错误推测法、因果图

等价类划分:把所有可能的输入数据,即程序的输入域化粪池若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例

分为有效等价类和无效等价类

等价类划分原则:

-1输入条件规定了取值范围或值的个数,则可以确立一个有效等价类和两个无效等价类

-2如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类

-3如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类

-4如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理

-5如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)

边界值分析

边界值分析设计测试用例应遵循原则:

1、如果输入条件规定了取值范围,则应对范围的边界内附近,恰好在边界和边界外附近(无效等价类中)设计,测试用例

2、如果属入条件规定了数据的个数,则应对最小个数,最大个数,比最少个数少1,比最大个数大1等清空设计测试用例

等价类和边界值方法的区别

1、边界值不是从等价类中随便取一个数据作为代表,而是选一个或几个特定值,使这个等价类的每个边界都作为测试的目标

2、边界值分析不仅要考虑输入条件,而且要考虑输出条件(输出等价类)

一般联合使用等价类划分和边界值分析两种种方法

错误推测法:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例

因果图:如果在测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,因果图方法最终生成的就是判定表

基本步骤

1、分析软件规格说明描述中,哪些是原因,哪些是结果,并给每个原因和结果赋予一个标识符

2、分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?根据这些关系,画出因果图

3、由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件

4、把因果图转换成判定表

5、把判定表的每一列拿出来作为依据 ,设计测试用例

猜你喜欢

转载自blog.csdn.net/dopdkfsds/article/details/83037665