《软件测试基础》PPT课件.ppt
《《软件测试基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件测试基础》PPT课件.ppt(87页珍藏版)》请在三一办公上搜索。
1、软 件 测 试 技 术,【软件测试行业是如何产生的?】软件测试岗位的出现,“源自信息产业的发展以及软件企业自身、用户成熟度的不断加深。”清华大学 郑人杰 计算机使用越来越普及,越来越多的领域使用了计算机,特别是一些重要领域如国防、银行、金融、通讯、航天等,对软件质量要求很高。同时一些重大事故的发生,也引发了人们对软件质量的关注。如2002年欧洲载重10吨的阿丽亚娜5型火箭发射失败,最后证实是软件质量问题;还有国内的一些银行金融系统,因软件质量问题不得不暂停营业。毋庸置疑,在经历了长期的不为人知和可有可无后,软件测试工程师目前已变的炙手可热。,【软件测试行业的现状】中国软件产业存在着“重开发、轻
2、测试”的倾向,在造成软件产品质量问题日渐突出的同时,也突显了中国软件测试人才的极度匮乏。制约着软件整体质量的提高,同时也加重了软件产业的开发和服务成本负担。在中国一百二十多万软件从业人员中,真正能担当软件测试职责的不超过 5 万人。在软件业发达国家,软件测试人员与开发人员之比接近 1:1,在中国该比例仅为 1:8 左右,很多企业没有专门的测试职位。随着中国加入 WTO 后,相信不久的将来,国内软件测试人员与开发人员的比例将会达到甚至超出 1:1。,为了同国际 IT 行业接轨,软件测试行业近几年有了飞速的发展,以前人们认为的“重开发、轻测试”倾向有了很大的改观,测试人员的缺口也越来越大,下面这个
3、图标分析了近四年国内软件测试人才的需求。,【软件测试前景如何?】随着中国软件市场的发展,越来越多的国外资金投向中国软件行业。据报道,中国软件外包市场的潜力和机会已远远超过软件王国印度,不过由于软件人才的严重不足致使我国软件发展遭遇“瓶颈”。国家为了大力培养软件人才,不断采取积极有效的措施。软件测试就业市场行情也十分乐观,最近,在北京的一次IT人才招聘会上,有20多家软件企业亮出底薪8000元招软件测试工程师的诱人广告。,【软件测试是青春饭吗?】软件测试工作是对质量的把关,其中包含技术及管理等方面的工作,工作相对稳定,对年龄没有限制。而且随着项目经验的不断增长和对行业背景的深入了解,会越老越吃香
4、。软件测试员的一生如同一名医生的一生,随着职业阅历和临床经验的丰富累积,到一定的年龄他们通过“望闻问切”就能知道毛病出在什么地方。因此,有人说软件测试员和医生是最不需要用“青春”来保证和延续自己职业寿命的职业。由于软件测试人才更强调经验积累,在几年的测试经验背景下,可以逐步转向管理或者资深测试工程师,担当测试经理或者QA部门主管,所以职业寿命更长;另一方面,由于国内软件测试工程师人才奇缺,并且一般只有大中型企业才会单独设立软件测试部门,所以很有保障,待遇普遍较高。,软件测试工程师的进阶之路初级测试工程师测试工程师/程序分析员高级测试工程师/程序分析员测试组负责人测试/编程负责人测试/质量保证/
5、开发(项目)经理计划经理软件测试人员的三大发展方向一是走软件测试的技术路线,成长为高级软件测试工程师。二是向管理方向发展,从测试工程师到组长,再到测试经理,以至更高的职位。三是可以换职业,做项目管理或做开发人员。,具有12年经验的测试工程师或程序员。编写自动测试脚本程序并担任测试编程初期领导工作。拓展编程语言、操作系统、网络与数据库技能。,刚入门拥有计算机科学学位的个人或具有一些手工测试经验的个人。开发测试脚本并开始熟悉测试生存周期和测试技术。,具有34年经验的测试工程师或程序员。帮助开发或维护测试或编程标准与过程,负责同级的评审,并为其他初级的测试工程师或程序员充当顾问。,具有46年经验的测
6、试工程师或程序员。负责管理1至3名测试工程师或程序员。担负一些进度安排和工作规模/成本估算职责。,具有610年经验的测试工程师或程序员。负责管理8至10名技术人员。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。,具有10多年的工作经验。管理8名或更多的人员参加的1个或多个项目。负责这一领域(测试/质量保证/开发)内的整个开发生存周期业务。,具有15年以上开发与支持(测试/质量保证)活动方面的经验。管理从事若干项目的人员以及整个开发生存周期。负责把握项目方向与盈亏责任。,第一章 软件测试基础知识,1.1关于软件测试课程1.2 软件开发过程1.3 软件质量保证1.4 理解软件测试1
7、.5 软件测试的分类1.6 软件测试工作流程1.7 软件测试的职业要求,编程大师说:“任何一个程序,无论它多么小,总存在着错误。”初学者不相信大师的话,他问:“如果一个程序小得只执行一个简单的功能,那会怎样?”“这样的一个程序没有意义,”大师说,“但如果这样的程序存在的话,操作系统没有意义最后将失效,产生一个错误。”但初学者不满足,他问:“如果操作系统不失效,那么会怎样?”“没有不失效的操作系统,”大师说,“但如果这样的操作系统存在的话,硬件最后将失效,产生一个错误。”初学者仍不满足,再问:“如果硬件不失效,那么会怎样?”大师长叹一声道:“没有不失效的硬件。但如果这样的硬件存在的话,用户就会想
8、让那个程序做一件不同的事,这件事也是一个错误。”,没有错误的程序世间难求,1.1 关于软件测试课程,有关测试的思考题:软件测试是一门非常重要的学科,主要研究内容是什么?软件测试需要什么样的专业基础?软件质量到底是什么?测试的目标是什么?开发一个测试系统之前你是否明白:,测试什么?怎么测试?测试效果如何?,1.2 软件开发过程,软件开发过程几个主要阶段:定义:明确软件开发的目标、软件的需求计划:制订软件开发所涉及的各种计划实现:进行设计、编码、文档编写工作稳定化:以测试和缺陷修复工作为主部署:安装、提交开发完成的软件,软件生命周期模型,软件生存周期 定义、计划、实现、稳定化、部署、运行与维护软件
9、生存期模型,瀑布模型 原型模型 增量模型 螺旋模型,瀑布模型,整个开发包括六个阶段:计划、需求分析、设计、编码、测试、运行维护。六个阶段自上而下、相互衔接,以固定的次序来进行。特点 阶段的顺序性和依赖性 推迟实现的观点 质量保证存在问题 不适合需求模糊的系统,原型模型,先建立一个能反映用户需求的原型系统,使得用户和开发者可以对目标系统的概貌进行评价和判断,然后对原型进行反复的扩充、改进和求精,最终建立符合用户需求的目标系统。特点 快速开发工具 循环 低成本种类 渐进型 抛弃型,增量模型,增量模型中,在每个阶段都生成软件的一个可发布版本。这些阶段是交错进行的。在增量模型中,软件版本是逐步完善的。
10、在原型中,每个阶段是发布一个原型,而在增量模型中,是完成一个正式的版本。,进度,螺旋模型,螺旋模型将瀑布模型和快速原型模型结合起来,并且加入了两种模型均忽略的风险分析。螺旋模型的每一周期都包括制定计划、风险分析、实施工程和评审四个阶段。,1.3 软件质量保证,不贪污的官就是好官吗?,“运行正确”的程序就是高质量的程序吗?,也许运行速度很低并且浪费内存;也许代码写得一塌糊涂,后续很难维护和更新。,软件质量是软件的生命,它直接影响软件的使用与维护。,通常软件质量由以下几方面进行评价。软件需求是衡量软件质量的基础,不符合需求的软件就不具备质量。设计的软件应在功能、性能等方面都符合要求,并能可靠地运行
11、。-能用 软件结构良好,易读、易于理解,并易于修改、维护。-好修 软件系统具有友好的用户界面,便于用户使用。-好用 软件生存周期中各阶段文档齐全、规范,便于配置、管理。-好看,一、软件质量定义软件质量优秀,是因为:满足用户的需求合理进度、成本、功能关系具备扩展性和灵活性,能够适应一定程度的需求变化能够有效的处理例外的情况保持成本和性能的平衡,一个系统、组件或过程符合指定要求的程度 一个系统、组件或过程满足客户或用户期望的程度,二、软件错误定义1、什么是软件错误(bug)?当程序没有实现其最终用户合理预期的功能要求时,就表现为软件错误,2、错误的几种情况:未将规格说明正确实现。-错误百出规定的或
12、预期的需求未体现在产品中(可能未将规格说明全面实现,也可能在开发过程中追加了需求。)-缺斤短两规格说明并未规定的需求被纳入产品,得到实现。-画蛇添足,3、错误一定是由编码引起的吗?需求分析软件设计以上两个阶段中的错误,都有可能是软件错误的根源,三、软件质量保证定义 1、什么是软件质量保证(SQA)为了确保软件开发过程和结果符合预期的要求,而建立的一系列规程,以及依照规程和计划采取的一系列活动及其结果评价。,2、建立全程SQA的观点。为了在软件开发过程中保证软件的质量,软件的质量保证活动应贯穿整个软件生存周期的每一个阶段。软件质量保证的工作从项目一开始就应介入。3、SQA的手段 软件的质量保证的
13、措施主要有检查、评审和测试。,4、SQA软件质量保证的具体内容技术方法的应用正式技术评审的实施软件测试标准的执行修改的控制度量记录和记录保存,软件质量保证 不等于 软件测试;软件的质量也不能完全依赖软件测试;,1.3 测试一个小软件,某软件系统的登录界面用户需求-用户名和密码放在名为list.txt的文件中;输入正确的用户名和密码,进入系统;不支持空的用户名和密码;,如何测试?有何思路?,1.4 理解软件测试,排除软件错误的重要手段,软件测试测试在软件开发中占有重要地位测试成本占有开发成本的近一半,软件开发成本分布,1、软件错误的来源软件开发中,在需求、设计、编码阶段都有可能发生错误。2、什么
14、是软件测试?软件测试就是为了发现程序中的错误而分析或执行程序的过程。软件测试是软件质量保证的重要手段。,1.4.1 基本概念,3、软件测试的手段软件测试有两个基本的手段:分析:不实际运行软件,包括走查、代码审查、代码评价、桌面检查;-静态测试运行:在目标环境中实际运行软件,-动态测试,4、软件测试的功能软件测试有两个基本的功能:验证(Verification)-保证软件正确的实现了特定功能;如:2+3?=5确认(Validation)-保证最终产品满足系统需求;如:MIS系统是否能满足图书馆管理的需求?,5、软件测试的时机是否等软件编码之后,才进行软件测试?测试和改正活动应在软件生存周期任何阶
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件测试基础 软件 测试 基础 PPT 课件
链接地址:https://www.31ppt.com/p-4860802.html