软件测试方法和技术(朱少民)-Ch1-软件开发过程-S.ppt

上传人:max****ui 文档编号:3273198 上传时间:2019-12-10 格式:PPT 页数:48 大小:1.60MB
返回 下载 相关 举报
软件测试方法和技术(朱少民)-Ch1-软件开发过程-S.ppt_第1页
第1页 / 共48页
软件测试方法和技术(朱少民)-Ch1-软件开发过程-S.ppt_第2页
第2页 / 共48页
软件测试方法和技术(朱少民)-Ch1-软件开发过程-S.ppt_第3页
第3页 / 共48页
点击查看更多>>
资源描述
软件测试方法和技术-Ch.1软件及其开发过程,Zhu.Kerry,KerryZhu,内容概览,全书共三篇,分十七章软件测试的原理,四章,阐述软件测试的重要性、基本概念和方法等软件测试的技术,七章,介绍软件测试在各个阶段(单元测试、集成测试、系统测试、验收测试和安装测试)的技术和方法,以及典型测试领域的特点和技术软件测试的实践,六章,介绍软件测试的团队和环境的建立,以及如何设计测试用例、报告软件缺陷、写测试报告、测试项目的管理,Zhu.Kerry,机遇和挑战并存,TestEngineerQA/SupervisorProject/QualityManager,目前国内软件业的弱点正是发展的前沿,Zhu.Kerry,21世纪什么最贵软件测试工程师,软件测试工程师,目前IT行业极端短缺的金贵人才,未来5年IT行业最炙手可热的高薪职位。中国软件业每年新增约20万测试岗位就业机会,而企业、学校培养出的测试人才却不足需求量的1/10,这种测试人才需求与供给间的差距仍在拉大。软件测试产品质量的保证软件测试控制成本的关键软件测试软件可靠性确认软件测试让企业具备国际竞争的实力,人力市场的测试人员位置?,1800虚位以待Onlyinonewebsite-51job.cob,Zhu.Kerry,课程目标,本课程是计算机或软件专业课程,重在培养我们的实践能力,适应软件企业的工作环境和业界标准,并和国际先进的软件开发理念和测试技术保持同步。通过本课程的学习,了解并掌握软件产品质量保证的基本思想和科学体系、软件测试技术的基本内容,以及软件测试的方法、技术和工具的使用,为全面掌握软件技术和软件项目管理打下坚实的基础,Zhu.Kerry,课程目标,通过本课程的学习,我们还可以了解并掌握:有效的测试策略、方法和技术测试计划和测试用例的设计测试自动化的引入、应用测试团队的建立和测试项目的管理更清楚、准确地报告测试缺陷对软件产品质量的正确评估软件测试和质量保证的关系和区别,Zhu.Kerry,课程服务于,-测试工程师TestengineerQA工程师/经理QAEngineer/Manager软件工程过程组成员ThememberofSEPG项目经理Projectmanager程序员Programmer软件分析师SoftwareAnalyst软件咨询顾问SoftwareConsultant,Zhu.Kerry,课程安排,2-3学分,建议:60学时,Zhu.Kerry,课程安排(2),Zhu.Kerry,课程安排(3),Zhu.Kerry,课程安排(4),Zhu.Kerry,课程安排(5),Zhu.Kerry,第一章软件及其开发过程,Zhu.Kerry,1.1软件的含义1.2软件开发过程的特性1.3软件测试的重要性,1.1软件的含义,Zhu.Kerry,能够完成预定功能和性能的、可执行的指令(计算机程序);使得程序能够适当地操作信息的数据结构;描述程序的操作和使用的文档。软件=程序+数据(库)+文档+服务,软件组成,客户需求-CustomerRequirements市场需求文档-MRD(MarketingRequirementDocument)软件规格说明书-Specifications技术设计文档TechnicalDesignDocs测试文档TestDocuments在线帮助-Onlinehelp产品发布注释-ReleaseNotes/ReadMe产品软件包-Releasepackages,Return,Zhu.Kerry,软件产品的其他内容,帮助文件Helpfiles示例Samplesandexamplestoillustratepoints产品支持文档Productsupportinformation错误信息Errormessages安装手册Setupandinstallationinstructions用户手册Usermanual(s)产品标签Labelandstickers产品广告或宣传材料Adsandmarketingmaterial,Zhu.Kerry,软件特点,软件则是逻辑的、知识性的产品集合,是对物理世界的一种抽象,或者是某种物理形态的虚拟化软件是硬件的灵魂,硬件是软件的基础软件,是智慧和知识的结晶软件不会“磨损”,而是逐步完善.,Zhu.Kerry,1.2软件开发过程的特性,1.2.1软件开发的基本过程1.2.2软件开发过程模型1.2.3UML代表着软件建模的发展趋势,Zhu.Kerry,1.2.1软件开发的基本过程,Zhu.Kerry,软件开发过程,需求分析:根据客户的要求,清楚了解客户需求中的产品功能、特性、性能、界面和具体规格等,然后进行分析,确定软件产品所能达到的目标。设计:根据需求分析的结果,考虑如何在逻辑、程序上去实现所定义的产品功能、特性等,可以分为概要设计和详细设计,也可分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、界面设计等。编程:将设计转换成计算机可读的形式。测试:对设计、编程进行验证和用户需求确认的过程维护:维持软件运行,修改软件缺陷、增强已有功能、增加新功能、升级等。,Zhu.Kerry,1.2.2软件开发过程模型,瀑布模型原型模型快速应用开发(RAD)模型改进的V模型螺旋模型增量模型和迭代模型构件组装模型并发模型XP模型,Zhu.Kerry,瀑布模型,Return,Zhu.Kerry,原型模型,Zhu.Kerry,RequirementsAnalysis,SystemDesign,ProgramDesign,CodingUnitTest,IntegrationTesting,SystemTesting,AcceptanceTesting,Operationmaintenance,Prototyping,User/Customer,Zhu.Kerry,原型+瀑布模型,快速应用开发,Zhu.Kerry,快速应用开发(RAD)V模型,Zhu.Kerry,RAD-VModel(改进),Zhu.Kerry,RAD-VModel(进一步丰富),螺旋模型,Return,Zhu.Kerry,XP-eXtremeProgramming极限编程,最简单的可能就是最有效的极限编程适合小团队(2-10programmers)“高风险”快速变化或不稳定的需求强调可测试性格言“沟通、简化、反馈、激励”,KentBeck,XP内容,XPLifecycle-生命周期,TDD-Test-DrivenDevelopment测试驱动开发,TDDsub-cycle,阶段开发模型,Zhu.Kerry,增量和迭代模型,Zhu.Kerry,1.2.3UML代表着软件建模的发展趋势,Zhu.Kerry,敏捷开发(AgileDevelopment)“极限编程”(eXtremeProgramming泛型编程(GenericProgramming)面向方面的编程(AspectOrientedProgramming,简称AOP)UML(UnifiedModelingLanguage,统一建模语言)可以说代表软件建模的今后5到10年的发展方向,成为面向对象技术领域内占主导地位的标准建模语言,支持从需求分析开始的软件开发的全过程。总的来说,UML是一种定义良好、易于表示、功能强大且普遍实用的建模语言,UML发展历史,Zhu.Kerry,UML分类和模型图,Zhu.Kerry,标准建模语言UML共定义了三大类、共12种模型图:结构类StructuralDiagrams:用4种模型图描述系统应用的静态结构,包括类图、对象图、组件图和配置图;行为类BehaviorDiagrams:用5种模型图描述系统动态行为的各个方面,包括用例图、序列图、行为图、协作图和状态图模型管理类ModelManagementDiagrams:用3种模型图来组织和管理各种应用模型,包括软件包、子系统、模型等,1.3软件测试的重要性,1.3.1软件所带来的悲剧1.3.2其他一些例子1.3.3测试是软件开发重要环节之一,Zhu.Kerry,千年虫(Y2K),在上个世纪70年代,程序员为了节约非常宝贵的内存资源和硬盘空间,在存储日期时,只保留年份的后两位,如“1980”被存为“80”。当2000年到来的时候,问题就会出现,比如银行存款程序在计算利息时,应该用现在的日期“2000年1月1日”减去当时存款的日期,比如“1989年1月1日”,结果应该是21年,如果利息是3%,银行要付给顾客每100元,大约86元利息。如果程序没有纠正年份只存储两位的问题,其存款年数就变为-89年,变成顾客反要付银行1288元的巨额利息。就是为了这样一个简单的设计缺陷,全世界付出几十亿美元。,Zhu.Kerry,奔腾芯片缺陷,(4195835/3145727)*314572741958350$450million4.5亿美元损失.2000年另外一个缺陷发生在1.13MHzPentiumIII,Zhu.Kerry,其他一些例子,“冲击波”计算机病毒11火星登陆事故爱国者导弹防御系统迪斯尼的圣诞节礼物Windows2000安全漏洞,Zhu.Kerry,Bug,Zhu.Kerry,问题在哪里?,没有足够测试缺乏测试平台不正确的测试环境缺少集成测试缺少性能测试缺少强度测试缺少可靠性测试,Zhu.Kerry,测试的重要性,“程序测试是为了发现错误而执行程序的过程”。测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。在软件开发过程中,分析、设计与编码等工作都是建设性的,惟独测试是带有“破坏性”,测试可视为分析、设计和编码3个阶段的“最终复审”,在软件质量保证中具有重要地位。微软的经验:Windows95/98Windows2000系统的稳定性有了明显改善,DEV:QA=1:2,Zhu.Kerry,Q&A,Zhu.Kerry,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!