第1章 软件测试概述完整版.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
织也在迅速产生和发展,由此软件测试技术职业也同步完善和
健全起来。
优选文档
4
1.1.1 软件测试发展历史
软件测试是伴随着软件的产生而产生的。在软件 行业发展初期,软件规模较小,复杂程序较低,软件 开发的过程比较混乱、相当随意。这一阶段还没有系 统意义上的软件测试,更多的是一种类似调试的测试, 测试用例的设计和选取也都是根据测试人员的经验随 机进行的,大多数测试的目的是为了证明系统可以正 常运行。当时对测试的投入较少,测试介入的也较晚, 一般是等到代码形成,产品已经基本完成才进行测试。
优选文档
8
1.1.1 软件测试发展历史
软件测试的第二类方法代表人物是Glenford J. Myers。他 认为测试不应该着眼于验证软件是工作的,相反应该首先认定 软件是有错误的,然后用逆向思维去发现尽可能多的错误。他 还从人的心理学的角度论证,如果将 “验证软件是工作的”作 为测试的目的,非常不利于测试人员发现软件的错误。1979年, 他提出了对软件测试的定义:“测试是为发现错误而执行的一 个程序或者系统的过程。”这个定义,也被业界所认可,经常被 引用。
优选文档
7
1.1.1 软件测试发展历史
1972年,软件测试的先驱者Bill Hetzel博士在North Carllina 大学举行了第一次以软件测试为主题的正式会议。此后软件测 试的会议就如雨后春笋般出现。1981年,Bill Hetzel博士开设 了一门公共课“结构化软件测试”(Structured Software Testing)。1983年,他将软件测试定义为“评价一个程序和系 统的特性或能力,并判断它是否达到预期的结果,软件测试就 是以此为目的的任何行为”。他的思想的核心观点是:测试方 法是试图验证软件是“工作的”,所谓“工作的”就是指软件 的功能是按照预先的设计执行的,以正向思维,针对软件系统 的所有功能点,逐个验证其正确性。软件测试业界把这种方法 看作是的软件测试的第一类方法。
优选文档
5
1.1.1 软件测试发展历史
直到20世纪50年代后期,随着计算机软件的发展, 用于计算机编程的各种高级语言相继诞生,程序的复 杂性远远超过了以前,测试的重点也逐步转入到使用 高级语言编写的软件系统中来。尽管如此,由于受到 硬件的制约,在计算机系统中,软件仍然处于次要位 置。软件正确性的把握仍然主要依赖于编程人员的技 术水平,测试活动始终落后于开发活动。因此,这一 时期软件测试的理论和方法发展比较缓慢。
65%。因此,越来越多的声音呼吁,要求有一个规范
的软件开发过程。而在整个软件开发过程中,测试已
经不再只是基于程序代码进行的活动,而是一个基于
整个软件生命周期的质量控制活动,贯穿于软件开发
的各个阶段。
优选文档
11
1.1.2 软件测试的现状
在我国,软件测试目前还没有形成一个真正的产业,尚处
于起步阶段,根据51testing组织得到的《2009年中国软件测试
优选文档
3
1.1 软件测试的背景
如果不能在软件正式投入运行之前发现并纠正这些错误,
那么这些错误最终必然会在软件的实际运行过程中暴露出来。
到那时,改正这些错误不仅要付出很大的代价,而且往往会造
成无法弥补的损失。软件的质量就是软件的生命,为了保证软
件的质量,人们在长期的开发过程中积累了许多经验并形成了
优选文档
10
1.1.1 软件测试发展历史
如今在软件产业化发展的大趋势下,人们对软件
质量、成本和进度的要求也越来越高,软件质量的控
Biblioteka Baidu
制已经不仅仅是传统意义上的软件测试。传统软件的
测试大多是基于代码运行的,并且常常是软件开发的
后期才开始进行,但大量研究表明,设计活动引入的
错误占软件开发过程中出现的所有错误数量的50%~
许多行之有效的方法。但是借助这些方法,我们只能尽量减少
软件中的错误和不足,却不能完全避免所有的错误。
如何防止和减少这些可能存在的问题呢?答案是进行软件
测试。测试是最有效的排除和防止软件缺陷与故障的手段,并
由此促进了软件测试理论与技术实践的快速发展。新的测试理
论、测试方法、测试技术手段在不断涌出,软件测试机构和组
杂性与日俱增,软件的生产成本和软件中存在的缺陷
故障造成的损失也大大增加,甚至会带来灾难性的后
果。软件产品不同于其他科技和生产领域,它是人脑
的高度智力化的体现,由于这一特殊性,软件与生俱 来就有可能存在着缺陷。
在开发大型软件系统的漫长过程中,面对纷繁复
杂的各种现实情况,人的主观认识和客观现实之间往
往存在着差距,开发过程中各类人员之间的交流和配 合也往往并不是尽善尽美的。
优选文档
6
1.1.1 软件测试发展历史
到了20世纪70年代以后,计算机处理速度迅猛提 高,存储器容量快速增加,软件在整个计算机系统中 的地位也越来越重要。随着软件开发技术的成熟和完 善,软件的规模也越来越大,复杂度也大大增加。因 此,软件的可靠性面临着前所未有的危机,给软件测 试工作带来了巨大的挑战,很多测试理论和测试方法 应运而生,逐渐形成了一套完整的体系,也涌现了一 批出色的软件测试宗师。
优选文档
9
1.1.1 软件测试发展历史
在产业界,从20世纪70年代后期到20世纪80年代中期,很 多软件企业成立了QA或者SQA部门。后来QA的职能转变为流程 监控(包括监控测试流程),而测试(Testing)则从QA中分离出来 成为独立的组织职能。
到了20世纪80年代初期,软件和IT行业进入了大发展,软 件趋向大型化、高复杂度,软件的质量越来越重要。这时,一 些软件测试的基础理论和实用技术开始形成,并且人们开始为 软件开发设计了各种流程和管理方法,软件开发的方式也逐渐 由混乱无序的开发过程过渡到结构化的开发过程,以结构化分 析与设计、结构化评审、结构化程序设计及结构化测试为特征。
第1章 软件测试概述
1.1 软件测试的背景 1.2 软件缺陷 1.3 软件测试的复杂性与经济性分析 1.4 软件测试的认识 1.5 软件测试人员的素质
优选文档
1
1.1 软件测试的背景
1.1.1 软件测试发展历史 1.1.2 软件测试的现状
优选文档
2
1.1 软件测试的背景
随着软件产业的日益发展,软件系统的规模和复