《软件测试引论》PPT课件.ppt

上传人:wuy****n92 文档编号:72433020 上传时间:2023-02-11 格式:PPT 页数:30 大小:2.75MB
返回 下载 相关 举报
《软件测试引论》PPT课件.ppt_第1页
第1页 / 共30页
《软件测试引论》PPT课件.ppt_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《《软件测试引论》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件测试引论》PPT课件.ppt(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1软件测试方法和技术软件测试方法和技术-Ch.1 引论引论主讲教师:郭晓燕主讲教师:郭晓燕2课程服务于课程服务于-打算从事软件测试这项工作的人打算从事软件测试这项工作的人-想对软件测试知识增强了解的程序员、软件项目经理及想对软件测试知识增强了解的程序员、软件项目经理及软件开发团队的其他人员软件开发团队的其他人员-希望从别的专业转入软件产业领域的人希望从别的专业转入软件产业领域的人-3课程目标课程目标本课程是计算机或软件工程专业课程,重在培养我们的本课程是计算机或软件工程专业课程,重在培养我们的实践能力,适应软件企业的工作环境和业界标准,并和国实践能力,适应软件企业的工作环境和业界标准,并和国际

2、先进的软件开发理念和测试技术保持同步。际先进的软件开发理念和测试技术保持同步。通过本课程的学习,了解并掌握通过本课程的学习,了解并掌握软件产品质量保证的基软件产品质量保证的基本思想和科学体系、软件测试技术的基本内容,以及软件本思想和科学体系、软件测试技术的基本内容,以及软件测试的方法、技术和工具的使用测试的方法、技术和工具的使用,为全面掌握软件技术和,为全面掌握软件技术和软件项目管理打下坚实的基础软件项目管理打下坚实的基础4课程目标课程目标通过本课程的学习,我们还可以了解并掌握:通过本课程的学习,我们还可以了解并掌握:l 有效的测试策略、方法和技术有效的测试策略、方法和技术l 测试计划和测试用

3、例的设计测试计划和测试用例的设计l 测试自动化的引入、应用测试自动化的引入、应用l 测试团队的建立和测试项目的管理测试团队的建立和测试项目的管理l 更清楚、准确地报告测试缺陷更清楚、准确地报告测试缺陷l 对软件产品质量的正确评估对软件产品质量的正确评估l 软件测试和质量保证的关系和区别软件测试和质量保证的关系和区别l 5内容概览内容概览全书共三篇,分十七章全书共三篇,分十七章软件测试的原理软件测试的原理,四章,阐述软件测试的重要性、基本概念和方法等软件测试的技术软件测试的技术,七章,介绍软件测试在软件开发各个阶段(单元测试、集成测试、系统测试、验收测试和安装测试)的技术和方法,以及典型测试领域

4、的特点和技术软件测试的实践软件测试的实践,六章,介绍软件测试的团队和环境的建立,以及如何设计测试用例、报告软件缺陷、写测试报告、测试项目的管理6考核方式考核方式n平时平时10%+实验实验20%(软件测试实践的作业)(软件测试实践的作业)+期末闭卷考试期末闭卷考试70%=总成绩总成绩n分组,在第分组,在第3-4周每个班准备周每个班准备2-3个软件(不同个软件(不同类型的,类型的,B/S,手机,手机app,C/S等,多多益善),等,多多益善),部署在实验室服务器上或自己笔记本上。(课部署在实验室服务器上或自己笔记本上。(课程设计或自己的作品,经老师检查通过)程设计或自己的作品,经老师检查通过)7机

5、遇和挑战并存机遇和挑战并存测试工程师目前国内软件业的弱点正是发展的前沿目前国内软件业的弱点正是发展的前沿质量保证人员质量管理高级工程师8第一章第一章 引引论论1.1软件测试的重要性软件测试的重要性1.2为什么要进行软件测试为什么要进行软件测试1.3 什么是软件测试什么是软件测试1.4 软软件件测试测试与开与开发发的关系的关系1.5 测试驱动测试驱动开开发发的思想的思想91.1软件测试的重要性软件测试的重要性1.1.1 软件所带来的悲剧软件所带来的悲剧1.1.2 其他一些例子其他一些例子1.1.3 测试是软件开发重要环节之一测试是软件开发重要环节之一101.1 软件测试的重要性软件测试的重要性软

6、件无处不在软件无处不在 航天、汽车、手机、家用电器、办公。航天、汽车、手机、家用电器、办公。飞机控制软件飞机控制软件 霍尼韦尔德飞行控制计算机使用了超过霍尼韦尔德飞行控制计算机使用了超过150万条万条软件代码,是波音软件代码,是波音787客机最复杂的组件之一。客机最复杂的组件之一。现代飞机用包含电子信号的数字飞行控制系统替现代飞机用包含电子信号的数字飞行控制系统替代了笨重、相对较慢的机械飞行系统。飞机控制代了笨重、相对较慢的机械飞行系统。飞机控制系统能发出电子命令,帮助飞行员操作飞行。系统能发出电子命令,帮助飞行员操作飞行。11Grace Hopper12Grace Hopper1314千年虫

7、千年虫(Y2K)n在上个世纪在上个世纪70年代,程序员为了节约非常宝贵的年代,程序员为了节约非常宝贵的内存资源和硬盘空间,在存储日期时,只保留年内存资源和硬盘空间,在存储日期时,只保留年份的后两位,如份的后两位,如“1980”被存为被存为“80”。当。当2000年到来的时候,问题就会出现,年到来的时候,问题就会出现,比如银行存款程序在比如银行存款程序在计算利息时,应该用现在的日期计算利息时,应该用现在的日期“2000年年1月月1日日”减去当时存减去当时存款的日期,比如款的日期,比如“1989年年1月月1日日”,结果应该是,结果应该是21年,如果年,如果利息是利息是3%,银行要付给顾客每,银行要

8、付给顾客每100元,大约元,大约86元利息。如果程元利息。如果程序没有纠正年份只存储两位的问题,其存款年数就变为序没有纠正年份只存储两位的问题,其存款年数就变为-89年,年,变成顾客反要付银行变成顾客反要付银行1288元的巨额利息。元的巨额利息。n就是为了这样一个简单的设计缺陷,全世界付出就是为了这样一个简单的设计缺陷,全世界付出几十亿美元。几十亿美元。15奔腾芯片缺陷奔腾芯片缺陷(4195835/3145727)*3145727 4195835 (1994)$450 million 4.5亿美元损失.错误原因:对测试错误原因:对测试 出的问题缺乏应有的重视出的问题缺乏应有的重视 2000年年

9、 另外一个缺陷发生在另外一个缺陷发生在1.13 MHz Pentium III16其他一些例子其他一些例子p火星探测飞船坠毁火星探测飞船坠毁p迪斯尼的圣诞节礼物迪斯尼的圣诞节礼物p放射性治疗仪致命放射性治疗仪致命pWindows操作系统漏洞操作系统漏洞 17Bug18问题在哪里?问题在哪里?没有足够测试没有足够测试 缺乏测试平台缺乏测试平台 不正确的测试环境不正确的测试环境 缺少集成测试缺少集成测试 缺少性能测试缺少性能测试 缺少强度测试缺少强度测试 缺少可靠性测试缺少可靠性测试 191.2 为什么要进行软件测试为什么要进行软件测试软件测试是保证软件质量的重要手段。软件测试是保证软件质量的重要

10、手段。所有的软件都会存在或多或少的问题,错误需要测所有的软件都会存在或多或少的问题,错误需要测试来发现,同时还需要测试来评估错误密度。试来发现,同时还需要测试来评估错误密度。软件测试是软件质量保证的关键步骤。软件测试是软件质量保证的关键步骤。越早发现错误代价越低。越早发现错误代价越低。微软的经验:微软的经验:Windows 95/98 Windows 2000 系统的稳定性有了明显改善,系统的稳定性有了明显改善,DEV:QA=1:2 201.3 什么是软件测试什么是软件测试1 软件学科的形成软件学科的形成2 正反的争辩正反的争辩3 软件测试的定义软件测试的定义4 软件测试的其他观点软件测试的其

11、他观点 21 软件学科的形成软件学科的形成早期的软件开发中,软件工程的概念和思想还没有形成。早期的软件开发中,软件工程的概念和思想还没有形成。1957年,软件测试才区别与调试,作为独立活动存在。年,软件测试才区别与调试,作为独立活动存在。此时,测试是在代码完成之后开始,作为产品检验的手此时,测试是在代码完成之后开始,作为产品检验的手段段1972年,软件测试的先驱年,软件测试的先驱Bill Hezel博士博士软件测试完软件测试完全指南全指南。软件测试作为一个学科诞生了,开始频繁出。软件测试作为一个学科诞生了,开始频繁出现在软件工程的研究和实践中现在软件工程的研究和实践中软件测试就是一系列活动,用

12、来评估一个程序或软软件测试就是一系列活动,用来评估一个程序或软件系统的特性或能力,确定是否达到了预期结果。件系统的特性或能力,确定是否达到了预期结果。软件测试发展到今天,软件测试发展到今天,IEEE有相应的国际标准,也是有相应的国际标准,也是开发中不可缺少的一部分开发中不可缺少的一部分22 正反观点正反观点Glenford J.Myers在其代表论著在其代表论著软件测试的艺术软件测试的艺术谈到:谈到:“程序测试是为了发现错误而执行程序的过程程序测试是为了发现错误而执行程序的过程”。测试的目的是发现程序中的错误,是为了证明程序有错,测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序

13、无错。而不是证明程序无错。在软件开发过程中,分析、设计与编码等工作都是建设在软件开发过程中,分析、设计与编码等工作都是建设性的,惟独测试是带有性的,惟独测试是带有“破坏性破坏性”,测试可视为分析、设,测试可视为分析、设计和编码计和编码3个阶段的个阶段的“最终复审最终复审”,在软件质量保证中具有,在软件质量保证中具有重要地位。重要地位。从心理学来讲,人的活动带有高度的目的性。没有错误从心理学来讲,人的活动带有高度的目的性。没有错误就会不自觉朝这个方向走,有错误优惠忽视产品的基本就会不自觉朝这个方向走,有错误优惠忽视产品的基本需求或实际需求,活动存在随意性。需求或实际需求,活动存在随意性。23 软

14、件测试的定义软件测试的定义1983 of IEEE Standard 729:使用人工或自动手段来运行或者测试某个系统的过使用人工或自动手段来运行或者测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清程,其目的在于检验它是否满足规定的需求或是弄清楚预期结果与实际结果之间的差别。楚预期结果与实际结果之间的差别。一方面通过测试保证质量,一方面改进测试方法和提高一方面通过测试保证质量,一方面改进测试方法和提高测试方法和测试的效率。测试方法和测试的效率。软件测试是软件测试是验证验证和和有效性确认有效性确认构成的整体构成的整体。24 1.4 软件测试与软件开发的关系软件测试与软件开发的关系瀑

15、布模型瀑布模型25 1.4 软件测试与软件开发的关系软件测试与软件开发的关系改进改进V模型模型26改进改进V模型的特点模型的特点从改进从改进V模型可以看出测试活动与分析测试活动的关系。模型可以看出测试活动与分析测试活动的关系。软件测试与开发至始至终一起工作软件测试与开发至始至终一起工作需求分析和功能设计对应验收测试需求分析和功能设计对应验收测试系统设计时,测试人员可以了解系统是如何实现的,基于什么系统设计时,测试人员可以了解系统是如何实现的,基于什么样的平台,这样可以设计系统的测试方案和测试计划。样的平台,这样可以设计系统的测试方案和测试计划。做详细设计时,测试人员可以参与设计,对设计进行评审

16、,找做详细设计时,测试人员可以参与设计,对设计进行评审,找出设计的缺陷,同时设计功能、新特性等各方面的测试用例,出设计的缺陷,同时设计功能、新特性等各方面的测试用例,完善测试计划,并基于这些测试用例以开发测试脚本。完善测试计划,并基于这些测试用例以开发测试脚本。编程的同时进行单元测试,编程的同时进行单元测试,27TDD-Test-Driven Development测试驱动开发测试驱动开发Write a test for new capabilityStartCompileFix compile errorsRun the testAnd see it failWrite the codeRu

17、n the testAnd see it passRefactor as needed28TDDn明确当前要完成的功能。可以记录成一个明确当前要完成的功能。可以记录成一个 TODO 列表。列表。n 快速完成针对此功能的测试用例编写。快速完成针对此功能的测试用例编写。n 测试代码编译不通过。测试代码编译不通过。n 编写对应的功能代码。编写对应的功能代码。n 测试通过。测试通过。n 对代码进行重构,并保证测试通过。对代码进行重构,并保证测试通过。n 循环完成所有功能的开发。循环完成所有功能的开发。29小结n为什么进行软件测试为什么进行软件测试n软件测试的重要性软件测试的重要性n什么是软件测试什么是软件测试n软件测试与软件开发的关系软件测试与软件开发的关系 30Q&A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com