|
|
测试(test)最早出于古拉丁字,它有“罐”或“容器”的含义。在工业制造和生产中,测试被当作一个常规的检验产品质量的生产活动。测试的含义为“以检验产品是否满足需求为目标”。而软件测试活动包括了很重要的任务,即发现错误。
|
|
|
“软件测试”的经典定义是在规定条件下对程序进行操作,以发现错误,对软件质量进行评估。
|
|
|
我们知道,软件是由文档、数据以及程序组成的,那么软件测试就应该是对软件形成过程的文档、数据以及程序进行的测试,而不仅仅是对程序进行的测试。
|
|
|
随着人们对软件工程化的重视以及软件规模的日益扩大,软件分析、设计的作用越来越突出,而且有资料表明,60%以上的软件错误并不是程序错误,而是分析和设计错误。因此,做好软件需求和设计阶段的测试工作就显得非常重要。这就是我们提倡的测试概念扩大化,提倡软件全生命周期测试的理念。
|
|
|
|
在1991年软件产品质量评价国际标准ISO 9126中定义的“软件质量”是:软件满足规定或潜在用户需求特性的总和。到1999年,软件“产品评价”国际标准ISO 14598经典的“软件质量”定义是:软件特性的总和,软件满足规定或潜在用户需求的能力。
|
|
|
一般对“质量”的理解是一个实体的“属性”,“属性”好就是质量好的。但是这不够全面,“属性”是内在特性,内在特性好,不一定能胜任和完成好用户的任务。因此,软件质量也是关于软件特性具备“能力”的体现。
|
|
|
2001年,软件“产品质量”国际标准ISO 9126定义的软件质量包括“内部质量”、“外部质量”和“使用质量”三部分。也就是说,“软件满足规定或潜在用户需求的能力”要从软件在内部、外部和使用中的表现来衡量。
|
|
|
|
软件测试人员的一项重要任务是提高软件质量,但不等于说软件测试人员就是软件质量保证人员,因为测试只是质量保证工作中的一个环节。软件质量保证和软件测试是软件质量工程的两个不同层面的工作。
|
|
|
. 质量保证(QA):质量保证的重要工作通过预防、检查与改进来保证软件质量。QA采用“全面质量管理”和“过程改进”的原理开展质量保证工作。所关注的是软件质量的检查与测量。虽然在QA的活动中也有一些测试活动,但所关注的是软件质量的检查与测量。QA的工作是软件生命周期的管理以及验证软件是否满足规定的质量和用户的需求,因此主要着眼于软件开发活动中的过程、步骤和产物,而不是对软件进行剖析找出问题或评估。
|
|
|
. 软件测试:测试虽然也与开发过程紧密相关,但关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。测试人员要“执行”软件,对过程中的产物——开发文档和源代码进行走查,运行软件,以找出问题,报告质量。测试人员必须假设软件存在潜在的问题,测试中所作的操作是为了找出更多的问题,而不仅仅是为了验证每一件事是正确的。对测试中发现的问题的分析、追踪与回归测试也是软件测试中的重要工作,因此软件测试是保证软件质量的一个重要环节。
|
|
|