麦档网
全部分类
  • 幼儿/小学教育 >
    幼儿/小学教育
    教育管理 学习方法 小学学案 小学教育 小学考试 幼儿教育 爱心教育 小学课件 课外知识 其它幼小文档
  • 中学教育 >
    中学教育
    高中教育 中学试题 初中教育 竞赛题 教学研究 中学学案 中学课件 职业教育 中考 高考英语 中学作文 体育理论与教学 高考 中学实验 音乐美术 其它中学文档
  • 高等教育 >
    高等教育
    工学 理学 历史学 农学 哲学 习题/试题 科普读物 大学课件 研究生课件 思想政治 专业基础教材 生物学 语言学 教育学 微积分 统计学 实验设计 其它高等教育文档
  • 论文 >
    论文
    管理论文 社科论文 文学论文 开题报告 经济论文 法律论文 医学论文 哲学论文 艺术论文 论文指导/设计 通讯论文 自然科学论文 大学论文 毕业论文 期刊/会议论文 其它论文
  • 研究生考试 >
    研究生考试
    考研政治 考研数学 考研英语 法律硕士 MBA/MPA 专业课 综合 辅导咨询 研究生其它文档
  • 资格/认证考试 >
    资格/认证考试
    公务员考试 专升本考试 成考 自考 教师资格考试 司法考试 微软认证 思科认证 注册会计师 全国翻译资格认证 医师/药师资格考试 会计职称考试 报关员资格考试 人力资源管理师 安全工程师考试 出国培训 资产评估师考试 技工类职业技能考试 银行从业资格 计算机等级考试 营养师认证 物流师考试 证券从业资格考试 注册税务师 理财规划师 建筑师考试 质量管理体系认证 建造师考试 其它考试文档
  • 办公文档 >
    办公文档
    调研文书 事务文书 规章制度 活动策划 股份制文书 统计图表 办公软件应用 解决方案 PPT模板素材 简明教程 工作计划 往来文书 工作总结 传真信函 会议纪要 产品手册 课程设计 教育范文 通知/申请 求职简历 说明文书 演讲致辞 词典 其它办公文档
  • 建筑/环境 >
    建筑/环境
    防腐 保温 环境科学 环保行业 建筑科学 建筑节能 保温建筑 防水建筑 防火建筑 装饰装潢 工程监理 工程造价 安全文明施工 岩土与地质勘察 建筑规划 给排水/暖通与智能 建筑图纸/图片/标牌 房地产 建筑机械 建筑制度 智能建筑 建筑论文 建筑材料 工程英语 公路与桥梁 市政工程 绿化工程 园林工程 古建工程 修缮加固与改造 人防工程 建筑QC 建筑资料 桩基础 钢结构 建筑贯标ISO 施工组织 设计及方案 建筑设计 建筑图集 水利工程 建筑规范 结构设计 建筑材料生产技术 建材标准 铁路工程 测绘 招标文件 电气安装工程 建筑环境其它文档
  • 生活休闲 >
    生活休闲
    星座运势宗教风水 社会民生 美容塑身 手工制作 娱乐时尚 充电交流 滑稽幽默 网络生活 科普知识 时政新闻 彩票 服装配饰 家居装修 美食烹饪 户外运动 婚嫁育儿 琴棋书画 两性情感 游戏攻略 武术 期刊/杂志 保健养生 宠物 摄影摄像 生活休闲其它文档
  • 行业资料 >
    行业资料
    家电行业 造纸印刷 纺织服装 食品饮料 酒店餐饮 物流与供应链 展会 生活用品 航海/船舶 传媒 水产/渔业 畜牧 公共安全/安全评价 林业 园艺 农作物 化学工业 国内外标准规范 轻工业/手工业 零售业 水利工程 日用品 农业工程 系统集成 冶金工业 金属学与金属工艺 社会学 武器工业 能源与动力工程 原子能技术 实验 家居行业 文化创意 船工业技术 航空/航天 石油、天然气工业 矿业工程 交通运输 旅游娱乐 室内设计 工业设计 行业其它文档
  • 管理/人力资源 >
    管理/人力资源
    宣传企划 企业文档 公司方案 商业合同 财务报表 励志书籍工具 经营企划 质量管理 物业管理 绩效管理 薪酬管理 销售管理 代理连锁 工程管理 信息管理 管理学资料 咨询培训 资本运营 企业信息化 市场营销 广告经营 劳动就业 项目管理 营销创新 劳动合同 商务礼仪 招聘面试 人事档案 员工关系 创业 企业文化 其它管理文档
  • 投标方案 >
    投标方案
    招标文件 工程建筑标书 交通运输标书 环保绿化标书 医疗卫生标书 仪器仪表标书 水利水电标书 能源化工标书 弱电安防标书 办公文教标书 通讯电子标书 机械设备标书 农林牧渔标书 其它标书
  • 换一换
    首页 麦档网 > 资源分类 > PPT文档下载
     

    第2章软件开发过程与软件测试.ppt

    • 资源ID:1783       资源大小:2.15MB        全文页数:43页
    • 资源格式: PPT        下载权限:游客/注册会员/VIP会员    下载费用:10金币 【人民币10元】
    快捷注册下载 游客一键下载
    会员登录下载
    三方登录下载: 微信快捷登录 QQ登录   微博登录  
    下载资源需要10金币 【人民币10元】
    邮箱/手机:
    温馨提示:
    支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

    第2章软件开发过程与软件测试.ppt

    第2章软件开发过程与软件测试,,本章学习目标,了解软件开发过程及过程模型 了解软件测试方法分类及软件测试在开发过程中的运用 熟练掌握软件测试基本原则及测试模型,2.1软件开发过程概述,2.1.1 软件开发的阶段、活动及角色 1、软件工程的阶段 软件工程的三个阶段 定义、开发、检验交付与维护,1定义阶段可行性研究初步项目计划、需求分析。如图2-1所示。,图2-1软件工程的定义阶段,2开发阶段概要设计、详细设计、实现、测试。如图2-2所示。,图2-2 软件工程的开发阶段,3检验交付与维护阶段运行、维护、废弃。如图2-3所示。,图2-3 软件工程的检验交付与维护阶段,2、软件开发过程的活动 通常包括四种基本过程活动 (1)软件规格说明规定软件的功能、性能及其运行限制。 (2)软件开发产生满足规格说明的软件,包括设计与编码等工作。 (3)软件确认确认软件能够满足客户提出的要求,对应于软件测试。 (4)软件演进为满足客户的变更要求,软件必须在使用过程中演进,以求尽量延长软件的生命周期。,3、开发过程中的角色 (1)项目经理负责管理业务应用开发和系统开发项目。 (2)业务分析人员理解和描绘客户的要求,引导和协调用户和业务需求的收集和确认,并使文档化。 (3)架构师负责理解系统的业务需求,并创建合理、完善的系统体系架构。并决定相关技术的选择。 (4)数据设计人员负责定义详细的数据库设计。 (5)程序员设计、编写程序代码及内部设计规格说明。 (6)测试人员负责制定测试计划,并根据计划进行相关测试,找出产品中的问题。 (7)产品经理负责产品的交付和发布,以及销售产品。 (8)技术支持代表负责处理客户的投诉,以及售后服务问题。,2.1.2 软件开发的过程模型,1、线性顺序模型,图2-4 线性顺序模型,(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量; (2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险; (3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。,2、原型模型,图2-5 原型模型,原型模型从需求收集开始,开发者与用户在一起定义软件的总体目标,标识出已知的需求,并规划出进一步定义的区域,然后快速地设计并进行编码实现,建立好原型。在原型模型的基础上,运行、评估、修改,多次迭代进行,直到满足用户的需求为止。,3、快速开发模型,图2-6快速开发模型,采用RAD模型时,系统的每一个主要功能部件都可由一个单独的RAD工作组完成,最后将所有的部件集成起来构成完整的软件。 RAD模型强调可复用程序构件的开发,并支持多小组并行工作。但若一个系统很难模块时,构件的复用和建造会出现许多问题,不适用于技术风险高、采用新技术的项目。,4、演化软件过程模型,图2-7 增量模型,(1)增量模型将线性模型与原型模型结合起来,随着日程/时间的进展而交错析线性序列集合。如图2-7所示。,,图2-8螺旋模型,(2)螺旋模型也是将线性模型与原型模型结合起来,并加入风险分析。如图2-8所示 螺旋模型被划分为若干框架活动用户通信、计划、风险分析、工程、建造及发布、用户评估等。 螺旋模型适应于计算机软件产品的整个生命周期。对于大型系统的开发是一种模型方法。,2.1.3 软件测试与软件开发的关系,软件测试在软件开发过程中占有重要的地位,在传统的瀑布模型中,软件测试只成为其阶段性的一段工作进行代码的测试。而现代软件工程思想将软件测试认为是贯穿整个软件生命周期,并且是保证软件质量的重要手段之一。 有些研究数据显示,在国外软件开发的工作量中,软件测试的工作量占有总工作量的40左右;软件开发的总费用中软件测试占有30-50。对于一些高科技开发系统,软件测试占有的时间和费用可能更多更高。,2.2 软件测试的基本原则,1、测试不是为了证明系统的正确性,而是为了证明系统存在缺陷; 2、所有的测试都应该追溯到用户的需求; 3、测试应当尽早开始和不断进行; 4、穷举测试是不可能的; 5、第三方测试会更客观、更有效; 6、Pareto原则应用于软件测试; 7、软件测试是有风险的行为;但并非所有的测试都要修复; 8、测试应从小规模开始,逐步转向大规模; 9、软件测试是一项讲究条理的技术专业。,2.3软件测试方法的分类,2.3.1静态测试与动态测试,1、静态测试 静态测试,是不需要执行被测软件,而是采用分析和查看的方式,来发现软件当中的缺陷,包括需求文档、源代码、设计文档、以及其他与软件相关文档中的二义性和错误。最好由未参加代码编写的个人或小组来完成。测试小组还能够使用一个或多个静态测试工具,以源程序代码作为输入,产生大量的在测试过程有用的数据。如图2-9所示。,图2-9 静态测试的要素,静态测试常用的方法如下 (1)走查 走查是个非正式的过程,检查所有与源程序代码相关的文档。 (2)审查 审查比走查要求更加正规。 (3)静态代码分析工具 静态结构分析主要是以图形的方式表现程序的内部结构,2、动态测试 动态测试是指通过运行实际被测试软件,通过观察程序运行时所表现的状态、行为等来发现软件的缺陷。并对被测程序的运行情况进行分析对比,以便发现程序表现的行为与设计规格或客户需求不一致的地方。 动态测试一般包括功能确认与接口测试,覆盖率分析、性能分析、内存分析等。,动态测试是一种经常运行的测试技术。但也有它的局限性必须要借助测试用例完成;需要搭建特定的测试环境;不能发现文档中的问题。 由于动态测试与静态测试之间存在一定的协同性,又具有相对的独立性。所以在程序执行前进行静态测试,尽可能多地发现代码中隐含的缺陷;执行动态测试检查程序实时的行为,发现程序在运行时存在的缺陷。,2.3.2 黑盒测试与白盒测试,1、黑盒测试 黑盒测试又称功能测试或数据驱动测试;是将被测试软件看做一个黑盒子,完全不考虑程序的内部结构和处理过程,只考虑系统的输入和输出,在程序的接口进行测试,检查系统功能是否符合需求规格说明书的要求。,常用的测试方法有等价类划分、边界值法、决策表法、因果图法、错误推测试法等。 黑盒测试的优点黑盒测试用例与程序如何实现无关;测试用例的设计与程序开发可并行设计;没有编程经验的人也可以设计测试用例。 黑盒测试的局限性不可能做到穷举测试;可能存在漏洞。,2、白盒测试 白盒测试又称结构测试或逻辑驱动测试;是根据被测试程序源代码的内部结构来设计测试用例的方法。 常用的测试方法有逻辑覆盖、基本路径和数据流测试等。,白盒测试的优点可以利用不同的覆盖准则测试程序代码的各个分支,发现程序内部的编码错误;可以直接发现内存泄露问题;可以充当黑盒测试的检查手段等。 白盒测试的局限性因程序路径组合太多,同样不能做到穷举测试;由于设计测试用例不是根据客户需求说明进行的测试,可能存需求方面的漏洞。,3、灰盒测试 灰盒测试结合了白盒测试和黑盒测试的要素,关注输入的正确性,同时了关注内部的表现;考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同环境中评价应用软件的设计。,2.3.3 人工测试与自动化测试,按照测试执行时是否需要人工干预进行分类,可分为人工测试与自动测试。 1、人工测试 人工测试是人为测试和手工测试的统称。人为测试的主要方法有桌前检查、代码审查和走查。用于软件开发各阶段的审查或评审都是人为测试。手工测试主要指在测试过程中,按照测试计划一步一步执行程序,得出测试结果并进行分析的测试行为。,2、自动测试 自动化测试指的是利用测试工具对各种测试活动的管理与执行,并对测试结果自动进行分析。在测试的执行过程中,一般不需要人工干预。常用在功能测试、回归测试和性能测试等。 自动化测试的优点提高测试效率;降低测试成本;具有一致性和可重复性;降低风险,增加软件的质量等。 自动化测试的局限性自动化测试软件本身的问题;测试人员期望过高;有些人工测试是不能用自动化测试替代等。,2.3.4 其他测试分类,1、基于模型的测试与模型检测 基于模型的测试,是指对软件行为进行建模以及根据软件的形式化模型设计测试的活动。 模型检测是指,用来验证软件特定模型中的一个或多个特性的一类技术。,模型通常是有限状态的,是从一些原始材料中提取出来的,这些原始材料可能是需求文档,也可能是系统源代码本身。有穷状态模型中的每一个状态前都有一个或多个前置条件,当软件处于该状态时,这些特性必须满足。见图2-10所示说明模型检测过程。,图2-10模型检测的要素,2、冒烟测试 冒烟测试是指在测试中发现问题,也就是说找到了一个缺陷,由开发人员来修复这个缺陷,当修复完成后,是否真的解决了这个缺陷,或对其他模块是否存在影响,因此要针对这个问题进行专门的测试,这个测试过程称为冒烟测试。 在许多情况下,经过测试后,发现修复某个问题会引起其他功能模块一系列的反应,导致产生新的缺陷。冒烟测试的优点是节省测试时间,防止创建失败。缺点是覆盖率较低。,3、随机测试 随机测试是根据测试说明书执行样例测试的一种重要补充手段,是保证测试覆盖完整性的有效方式和过程。随机测试主要针对系统的一些重要功能进行复测。还对软件更新和新增的功能要进行重点测试。常与回归测试一起进行。,2.4 软件测试方法在软件开发过程的运用,1、在软件需求分析与建模阶段中,主要进行软件目标的定义,可行性研究和软件需求分析工作。这时测试的对象是相关文档资料,如需求规格说明书等。从需求的完备、可实现、是否合理、是否可测试等方面进行评审,采用的静态测试方法。 2、在概要设计与详细设计阶段。概要设计描述总体系统架构中各个模块的划分及相互之间的关系;详细设计则描述各个模块具体的算法和数据结构。这些都是用文字、图表的形式进行描述的,测试时也是用静态测试的方法,对文字、图表进行评审。,3、在编码工作阶段,主要是采用高级语言对已详细设计的模块进行编程。这时的测试工作主要是对已有的程序代码进行白盒测试,可以是静态与动态相结合,采用各种覆盖方法进行测试,此时主要由程序员进行测试。 4、在测试阶段中,此时进行的集成与系统测试。集成测试采用灰盒测试方法(白盒测试与黑盒测试相结合),主要测试产品的接口以及各模块之间的关系。而系统测试一般采用黑盒测试方法,主要测试系统的功能、性能等;由测试人员来完成测试。 5、在检验交付与维护阶段,模拟或实际客户环境,对系统进行验收测试。大多采用自动化测试工具进行测试验收。包括功能测试、性能测试、回归测试、发布测试等。,2.5 软件测试的过程模型,2.5.1 V_model,图2-11 v-model,v-model模型是最早的软件生存期模型,在20世纪80年代由Paul Rook提出的。 v-model包含了三个等级,分别是生存期模型,分配模型,功能性工具需求模型,阐述了应当实施哪些活动,应当产生哪些结果,诸如此类。,V-model指出,单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。系统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最终用户的需求。所以V-model模型软件测试的策略既包括低层测试又包括高层测试,底层测试是为了验证系统源代码的正确性,高层是为了测试整个系统是否满足用户的需求。 V-model的缺陷仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段忽视了测试对需求分析,系统设计的验证,一直到后期的验收测试才被发现。,2.5.2 W-model,W模型由Evolutif公司提出,相对于V-model,W-model更科学,W-model是V-model的发展。由于V-model的局限性,没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试”的原则。在V-model中增加软件各开发阶段应同步进行的测试,演化为W-model。如图2-12所示。,图2-12 W-model,W-model,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。以需求为例,需求分析一完成,我们就可以对需求进行测试,而不是等到最后才进行针对需求的验收测试。 W-model的局限性W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动,软件开发和测试保持一种线性的前后关系,需要有严格的指令表示上一阶段完全结束,才可以正式开始下一个阶段。这样就无法支持迭代、自发性以及变更调整。对于当前很多文档需要事后补充,或者根本没有文档的做法下,开发人员和测试人员都面临同样的困惑。,2.5.3 H-model,H-model。它将测试活动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。如图2-13所示,图2-13 H-model,H-model揭示了 (1)软件测试不仅仅指测试的执行,还包括很多其他的活动; (2)软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行; (3)软件测试要尽早准备,尽早执行; (4)软件测试是根据被测物的不同而分层次进行的。不同层次的测试活动可以是按照某个次序先后进行的,但也可能是反复的。,2.5.4 X-model,X-model的基本思想是由Marick提出的,他认为一个模型必须能处理开发的所有方面,包括交接,频繁重复的集成,以及需求文档的缺乏等等。 而X-model填补了V-model 的缺陷,并可为测试人员和开发人员带来明显的帮助。如图2-14所示。,图2-14 X-model,2.5.5 pretest-model,pretest-model,它是将测试和开发紧密结合的模型,该模型提供了轻松的方式,可以使你的项目加快速度。如图2-15所示。,图2-15 pretest-model,Pretest-model体现了以下的要点 (1)开发和测试相结合 (2)对每一个交付内容进行测试 (3)在设计阶段进行测试计划和测试设计 (4)测试和开发结合在一起 (5)让验收测试和技术测试保持相对独立,2.5.6 测试模型的使用,V-model强调了在整个软件项目开发中需要经历的若干个测试级别,而且每一个级别都与一个开发级别相对应,但它忽略了测试的对象不应该仅仅包括程序,或者说它没有明确地之处应该对软件的需求、设计进行测试。 W-model强调了测试计划等工作的先行核对系统需求和系统设计的测试,但W-model和V-model一样也没有专门对软件测试流程予以说明,因为事实上,随着软件质量要求越来越为大家所重视,软件测试也逐步发展成为一个独立于软件开发部的组织,就每一个软件测试的细节而言,它都有一个独立的操作流程。比如,现在的第三方测试,就包含了从测试计划和测试案例编写,到测试实施以及测试报告编写的全过程, H-model强调测试是独立的,只要测试准备完成,就可以执行测试了。 X-model和Pretest-model又在此基础上增加了许多不确定因素的处理情况,因为在真实项目中,经常会有变更的发生,例如需要重新访问前一阶段的内容,或者跟踪并纠正以前提交的内容,修复错误,排除多余的成分,以及增加新发现的功能等。,2.6 本章小结,本章先简单介绍了软件开发过程的三个阶段定义阶段、开发阶段、检验交付与维护阶段,软件开发过程中的活动与角色,软件开发的开发模型有线性顺序模型、原型模型、快速开发模型、演化软件过程模型等,软件开发与软件测试的关系等。并介绍了软件测试的七条基本原则,软件测试方法常用有静态测试、动态测试、白盒测试、黑盒测试、灰盒测试、人工测试、自动化测试、模型检测、冐烟测试、随机测试等。最后介绍了软件测试的五种过程模型V-model、W-model、H-model、X-model、 pretest-model。,

    注意事项

    本文(第2章软件开发过程与软件测试.ppt)为本站会员(teclte)主动上传,麦档网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读麦档网的“版权提示”【网址:https://www.maidoc.com/h-34.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2018-2020 maidoc.com版权所有  文库上传用户QQ群:3303921 

    麦档网为“文档C2C模式”,即用户上传的文档所得金币直接给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的金币归上传人(含作者)所有。
    备案号:蜀ICP备17040478号-3  
    川公网安备:51019002001290号 

    本站提供办公文档学习资料考试资料文档下载


    收起
    展开