摘要
软件是现代服务业发展的核心,是促进国民经济与社会发展、保障国家安全的战略性产业。在软件产业发展方面占据优势就能在激烈的综合国力提升中站住脚。而实现这一目标的关键就是要大力提升软件质量水平。信产部科学技术司副巡视员周健在大会致词中如是说。
  由于人们对于软件质量的重视程度越来越高,就导致了测试在软件开发中的地位越来越重要。软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件开发项目。不足的测试势必使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。本文就软件测试对软件质量的重要性谈一些看法。
 
关键词  软件测试  测试重要性  软件缺陷

第一章 软件测试发展的历史与现状
第一节 软件测试简介
一、简介
  软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
第二节 软件测试历史
一、历史背景
20世纪60年代:
    软件工程建立,为了提现程序的正确性进行测试。
1979年:
  Glenford J.Myers的《软件测试艺术》,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。
20世纪80年代:
  软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软  件质量评价的内容。
20世纪90年代:
    测试工具盛行起来。出现了能力成熟度TCMTestingCapability Maturity  Model)、测试支持度TSMTestabilitySupport Model)、测试成熟度TMMTesting MaturityModel)等模型和标准。
2002年:
RkStefan在《系统的软件测试》一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整
个生命周期过程。
二、错误案例
1982年,软件BUG导致横跨西伯利亚的输气管爆炸,是最大的一次非核子爆炸。
1985年至1987年,放射线仪Therac-25的操作系统BUG,导致至少5位病人丧命,
1990115日,AT&T#4ESS长途电话交换器的软件bug。使纽约6万人在9个小时内,无法拨通长途电话。
199664日,Ariane 5火箭的飞行计算机中的软件BUG。使其升空40秒后爆炸。
200011月,巴拿马国家癌症中心的放射线医疗仪的软件出现BUG,导致8位病人因此死亡,医生被控谋杀。
第三节 软件测试现状
    我国的软件测试技术研究起步于“六五”期间,主要是随着软件工程的研究而逐步发展起来的。由于起步较晚,与国际先进水平相比差距较大。随着我国软件产业的蓬勃发展以及对软件质量的重视,软件测试也越来越被软件企业所重视,软件测试正在逐步成为一个新兴的产业。从目前来看,可主要从三个方面来分析我国测试行业的现状。
一、从手动转向自动化测试方式的转变
    传统的项目测试还是以观察代码为主,测试人员根据需求规格说明书的要求,测试对象进行人机对话。大量的手工增加了项目人力成本和沟通成本、低效率以及高差错率,随着软件业的不断发展及软件规模的扩大,客户对软件的质量要求越来越高,针对企业的网络应用环境需要支持大量用户和复杂的软硬件应用环境,这样测试的工作量也越来越大,自动化测试及管理已经成为项目测试的一大趋势。自动化测试通过测试工具和其他手段,按照测试工程师的预定计划对软件产品进行自动的测试,它能够完成许多手工无法完成或者难以实现的测试工作,
更好地利用资源,将繁琐的任务赋自动化方式,从而提高准确性和测试人员的积极性。正确、合理地实施自动化测试,能够快速、全民地对软件进行测试,从而提高软件质量、节省经费,缩短产品发布周期。
二、测试人员需求逐步增大素质不断提高
    随着软件IT行业的迅猛发展,软件外包服务也已成为继互联网和网络游戏后的第五次全球
浪潮。由于外包对软件质量要求很高,国内软件企业要想在国际市场上立足,就必须重视软件质量,而作为软件质量的把关者,软件测试工程师日渐 俏” 。目前在国内120软件测试流程万软件从业人员中,真正能担当软件测试职位的不超过5万,而目前高等教育中专业的软件测试教育近于空白,独立开设软件测试课程的高校非常少,这就形成测试人才紧缺、需求不断增大的现象。据分析,目前国内软件测试的人才需求缺口超过20万人。因此软件企业开始加强和重视测试人员的选拔、培养和知识培训。一方面,对测试人员的素质和要求逐步提高,测试人员不仅应掌握相关计算机知识背景、软件工程基本知识、熟悉项目编程语言、熟悉项目技术架构及需求内容,而且要求工作有责任感、独立分析能力及团队精神等方面:另一方面,软件企业为测试人员提供进一步的知识培训机会,以应对各种项目的复杂情况。
三、测试服务体系初步形成
    随着用户对软件质量的要求越来越高,信息系统验收不再走过场,而要通过第三方测试机构的严格测试来判定。“以测代评”正在成为我国科技项目择优支持的一项重要举措,比如国家“863”计划对数据库管理系统、操作系统、办公软件等项目的经费支持,都是通过第三方测试机构科学客观的测试结果来决定。