1.7 软件测试
1.7.1 软件测试概述一,软件测试的定义使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别,即 检查程序是否正确 。
二,软件测试的主要任务以较少的用例、时间和人力找出软件中潜在的各种错误和缺陷,以确保系统的质量。
1.7.2 测试计划为了确保测试工作的顺利进行,测试之前应制定详细的测试计划。
制定测试计划时中最主要的工作是:
测试用例 的设计。
1.7.3 测试用例设计测试用例规定如何对某项功能或功能组合进行测试 。 测试用例包括下列内容的详细信息:
1,要测试的功能
2,测试环境和其他条件
( 配置细节和准备工作 )
3,测试数据
4,过程
5,系统的预期行为
1,静态测试方法,在不运行程序的情况下进行测试的方法 。
静态测试方法计算机辅助静态分析方法人工测试方法
2,动态测试方法动态测试方法,是指通过在计算机上运行被测试程序,并利用所设计的测试用例对程序进行检测的方法 。
常用的测试方法白盒测试方法黑盒测试方法穷举测试方法动态测试方法
( 1) 黑盒测试方法 又称功能测试,它把程序看作一个黑盒子,完全不考虑程序内部的结构和处理过程,
测试者只考虑该程序输入和输出之间的关系,或只考虑程序的功能 。
例如,假设现在我们需要测试一单元模块,其主要功能是计算各输入数据 (>=0)的平方和。测试用例可设计如下:
输入数据 预期结果
[0,-1,1] 错误提示:请输入非负数
[5,2,1 ] 30
[ ] 错误提示:请输入数据在此测试者不用关心此功能模块的具体实现细节,
而只关注其输出结果是否达到预期的目标。
( 2) 白盒测试 又称结构测试,它是根据被测程序的逻辑结构设计测试用例。为了追求测试覆盖率,减少测试的盲目性,为此发展了多种覆盖技术语句覆盖判定覆盖条件覆盖判定 /条件覆盖条件组合覆盖路径覆盖等。
常用的覆盖技术
( 3) 穷举测试 对被测程序进行穷举测试是不现实的 。
1.7.4 测试步骤通常把软件测试阶段的工作分成若干步骤进行。这些步骤包括:
1.单元测试(模块测试)
2.集成测试(组装测试)
3.验收测试(有效性测试)
4.系统测试
1,单元测试是对程序的最小单位模块所进行地测试。是测试该模块的源代码。
2,集成测试 ( 组装测试 )
在把所有的模块按软件的结构图组装起来,构成一个系统过程中需要进行的测试,称为集成测试 。 其主要目标是发现与接口有关的问题 。
3,验收测试 ( 有效性测试 )
检测软件的功能和用户所要求的,所期待的是否一致 。
4,系统测试用于检测各部分在工作环境下是否能正常工作 。
1.7.6调试测试本身的目的是尽可能多地发现程序中的错误 。
然而发现错误不是目的,发现错误的最终目标是为了改正错误 。 仔细地定位错误的位置并改正之,这就是调试 。
一,常用的调试技术
1,输出存储器内容:
2,打印语句:
3,自动工具:
二,常用的调试策略
1,试探法:
2,回溯法:
3,对分查找法:
4.归纳法:
5.演绎法: