软件测试的定义及常用软件测试方法介绍
-
软件测试的定义及常用软件测试方法介绍
一、
软
件测试的定义
1.
定义:使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它
是否满
足规定的需求或弄清预期结果与实际结果之间的差别。
2.
内容:软件测试主要工作内容是
验证
(verification)
和确认
(validation )
,下面分别给
出其概念:
验证
(verification)
是保证软件
正确地实现了一些特定功能的一系列活动,
即保证软件以
p>
正确的方式来做了这个事件
(Do it
right)
< br>1.
确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程
2.<
/p>
程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程
3.
< br>评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否
和规定的需求相一致进行判断和提出报告。
确认
(validation)
是一系列的活动和过程,目的是想证实在一个给定
的外部环境中软件的逻辑正
确性。即保证软件做了你所期望的事情。
(Do the right thing)
1.
静态确认,不在计算
机上实际执行程序,通过人工或程序分析来证明软件的正确性
2.
动态确认,通过执行
程序做分析,测试程序的动态行为,以证实软件是否存在问题。
软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期间各个阶段所产生的文
< br>档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。
二、软件测试常用方法
1.
从是否关心软件内部结构和具体实现的角度划分:
a.
黑盒测试
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看
作一个不能打开的黑盒子,
在完全不考虑程序内部结构和内部特性的情况下,<
/p>
在程序接口进行测
试,
它只检查程序功能
是否按照需求规格说明书的规定正常使用,
程序是否能适当地接收输入数
据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件
界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据和输出数据的对应关系出发进行测试的,很明显,如果本
身设计有问题或者说明规格有错误,用黑盒测试是发现不了的。
黑盒测试法注重于测试软件的功能
需求,主要试图发现下列几类错误。
功能不正确或遗漏;
界面错误;
输入和输出错误;
数据库访问错误;
性能错误;
初始化和终止错误等。
从理论上讲,
黑盒测试只有采用穷举输入测试,
把所有可能的输入都作为测试
情况考虑,
才能查
出程序中所有的错误。
实际上测试情况有无穷多个,
人们不仅要测试所有合法的输入,
而且还要
对那些不合法但可能的输入进行测试。
这样看来,<
/p>
完全测试是不可能的,
所以我们要进行有针对
性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、
按步骤,
p>
以及有计划地进
行。
黑盒测试行为必须能够
加以量化,
才能真正保证软件质量,
而测试用例就是将测试行为
具体
量化的方法之一。
具体的黑盒测试用例设计方法包括等价类
划分法、
边界值分析法、
错误推测法、
因果图法、判定表驱动法、正交试验设计法、功能图法等。
b.
白盒测试
白盒测试也称结构测试或逻辑驱动测试,
它是按照程序内部的结构测试程序,
通过测试来检测产
品内部动作是否按照设计规格说明书的规定正常进行,
检验程序中的每条通路是否都能按预定要
求正确工作。
这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻
辑结构相
关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检
查程序的状态,
确定实际的状态是否与预期的状态一致。
p>
白盒测试的测试方法有代码检查法、静态结构分析法、
静态质量度量
法、
逻辑覆盖法、
基本路径
测试法、域
测试、符号测试、
Z
路径覆盖、程序变异。
白盒测试的实施步骤:
1.<
/p>
测试计划阶段:根据需求说明书,制定测试进度。
2.
测试
设计阶段:
依据程序设计说明书,
按照一定规范化的方法进行软
件结构划分和设计测
试用例。
3.
测试执行阶段:输入测试用例,
得到测试结果。
4.
测试总结阶段:
对比测试的结果和代码的预期结果,分析错误原因,找到并解决错误。
白盒测试的优点: