文档介绍:软件测试组织与管理及测试系列方法
内容目录
软件质量概述
软件测试组织与管理
软件测试策略
测试步骤
总结
软件质量概述——Topics
软件测试质量概念
软件测试意义
软件测试概念
软件测试的重要性
软件测试目的
软件质量概述
软件质量是指与软件产品满足规定的和隐含的需
求的能力有关的特征和特性的全体。通常来说软
件质量应该包含六方面的特性:
1)功能性:软件所实现的功能达到它的设计规范和满足用户需求的程度
2)可靠性:在规定的时间和条件下,软件所能维持其性能水平的程度
3)易用性:对于一个软件,用户学习、操作、准备输入和理解输出所作努力的程度
4)效率:在指定条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度
5)可维修性:在一个运行软件中,当环境改变或软件发生错误时,进行相应修改所做努力的程度
6)可移植性:软件从一个计算机系统或环境移植到另一个系统或环境的容易程度
软件质量概述
软件测试的意义:
软件危机曾经是软件界甚至整个计算机界最热门的话题。为了解决这
场危机,软件从业人员、专家和学者做出了大量的努力。现在人们已
经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有
错误,正是这些错误导致了软件开发在成本、进度和质量上的失控有
错是软件的属性,而且是无法改变的,因为软件是由人来完成的所有
由人做的工作都不会是完美无缺的。问题在于我们如何去避免错误的
产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程
度。
软件质量概述
软件测试的概念
软件测试的定义有许多种,其中比较权威的是IEEE在1983年提出的
使用人工或自动手段来运行或测定某个系统的过程,其目的在于检
验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别
软件质量概述
软件测试的重要性
软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中
软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用
之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的
观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本
阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正
如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品
测试的巨大困难。
软件质量概述
软件测试的重要性:
软件中的错误密度也需要测试来进行估计测试是所有工
程学科的基本组成单元,是软件开发的重要部分。自有
程序设计的那天起测试就一直伴随着。统计表明,在典
型的软件开发项目中,软件测试工作量往往占软件开发
总工作量的40%以上。而在软件开发的总成本中,用在
测试上的开销要占30%到50%如果把维护阶段也考虑在
内,讨论整个软件生存期时,测试的成本比例也许会有
所降低,但实际上维护工作相当于二次开发,乃至多次
开发,其中必定还包含有许多测试工作。
软件质量概述
软件测试的认识误区:
1)软件开发完成后进行软件测试
2)软件发布后如果发现问题,那是软件测试人员的错
3)软件测试要求不高,随便找个人都行
4)软件测试是测试人员的事情,与程序员无关
5)项目进度吃紧是时少做测试,时间富裕时多做测试
6)软件测试是没有前途的工作,只有程序员才是软件高手
这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度
才可能提高软件产品的质量。
软件质量概述
软件测试目的:
如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接
针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目
的是为了给最终用户提供具有一定可信度的质量评价,那么测试就
应该直接针对在实际应用中会经常用到的商业假设。
在谈到软件测试时,许多人都引用Grenford J. Myers在《The Art of
Software Testing》一书中的观点:
(1)软件测试是为了发现错误而执行程序的过程;
(2)测试是为了证明程序有错,而不是证明程序无错误
(3)一个好的测试用例是在于它能发现至今未发现的错误
(4)一个成功的测试是发现了至今未发现的错误的测试