软件测试课件.pptx

上传人(卖家):晟晟文业 文档编号:4563894 上传时间:2022-12-19 格式:PPTX 页数:52 大小:814.54KB
下载 相关 举报
软件测试课件.pptx_第1页
第1页 / 共52页
软件测试课件.pptx_第2页
第2页 / 共52页
软件测试课件.pptx_第3页
第3页 / 共52页
软件测试课件.pptx_第4页
第4页 / 共52页
软件测试课件.pptx_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、软件工程学科研究生课程 软件质量保证与测试姓名:韦庆杰部门:计算机科学与技术学院实验室:信科1806E-mail(答疑用):23什么是工程(Engineering)?狭义而言,工程定义为“以某组设想的目标为依据,应用有关的科学知识和技术手段,通过一群人的有组织活动将某个(或某些)现有实体(自然的或人造的)转化为具有预期使用价值的人造产品过程”。广义而言,工程则定义为由一群人为达到某种目的,在一个较长时间周期内进行协作活动的过程。(引用百度百科)研究、开发、设计、施工、生产、操作、管理以及其他主要职能4什么是软件工程(Software Engineering)?研究和应用如何以系统性的、规范化的

2、、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科(维基百科)阶 段特 点程序设计程序系统软件工程软件所指程序程序及说明书程序、文档、数据主要程序设计语言汇编及机器语言高级语言软件语言软件工作范围程序编写设计和测试整个软件生命周期需求者程序设计者本人少数用户市场用户开发软件的组织个人开发小组开发小组及大、中型开发机构软件规模小型中、小型大、中、小型软件工程的一个重要分支软 件 生 命 周 期需求设计开发测试运维软件测试:为了提高软件质量软件质量:是软件产品的特性可以满足用户的功能、非功能需求的能力。软件的质量管理(Qua

3、lity Management):是软件组织在软件产品生产中的质量策划、质量控制(Quality Control)、质量保证(Quality Assurance)和质量改进等等与质量有关的相互协调的活动。基本概念和预备知识单元测试系统集成测试系统测试分类功能测试系统测试设计系统测试计划与自动化系统测试的执行验收测试软件可靠性软件质量成熟度模型软件测试前沿技术介绍掌握软件测试的基本概念理解测试对于软件质量保障的重要性了解软件测试技术理解需求、缺陷、测试用例和测试结果的生命周期模型理解单元测试、集成测试、系统测试和验收测试的过程模型掌握软件测试实践所需的技能了解软件测试自动化了解质量模型、能力成熟

4、度模型、测试成熟度模型及测试过程改进模型培养学生进行测试前沿技术的调研能力教学形式分以下四个部分:1.课堂学习部分:由教师进行讲授2.研究性学习部分(本部分不占课内学时):采取课后自学方式,要求在充分调研的基础上,结合个人研究背景和兴趣选题,写作一篇专题报告3.课堂讨论部分:要求学生准备一次专题报告4.实践部分:学生课后独立完成和选题有关的技术实验Kshirasagar Naik,软件测试与质量保证 理论与实践,电子工业出版社Ron Patton,软件测试(第2版),机械工业出版社Srinivasan Desikan,软件测试原理与实践,机械工业出版社Scott Tilley,云环境下得软件测

5、试:迁移与执行,科学技术文献出版社软件测试基本概念和预备知识软件测试基本概念和预备知识单元测试系统集成测试系统测试提高质量的新方法包含了一个产品开发过程的各个方面 从需求分析到提交最终产品有效的质量过程必须注意 更加专注于客户的需求 采取措施持续地提高质量 使度量过程与产品设计、开发融为一体 将质量概念推广到整个组织的最底层 建立一种对方法、过程高度关注的系统级的视图 通过持续的质量提高来消除浪费PDCA(Plan-Do-Check-Action)循环TQC(Total Quality Control)全面质量管理关于软件质量的5个观点 抽象的观点:可以识别但很难定义 用户的观点:是对目标的适

6、应性-产品是否满足用户的需求?制造的观点:与规范的一致性 产品的观点:依赖产品内在的特性 基于价值的观点:依赖于客户愿意支付的货币数额定义软件质量的最具影响力的两个软件质量模型 ISO9126 CMM(Capability Maturity Model)软件能力成熟度模型软件测试领域的两个著名的过程模型 测试过程改进模型(TPI)测试成熟度模型(TMM)“以寻找错误为目的的执行程序的过程”迈尔斯 G.J.软件测试的艺术,Wiley出版社,1979年“软件测试是一个以寻找错误为目的的分析和操作软件的过程”克里斯 布朗,格雷柯布,罗伯特卡伯特森,软件测试快速入门,2001年“.发现错误”“.及早发

7、现错误”“.及早发现错误并确保这些错误被修复”巴顿 R.软件测试(第二版),2005年软件测试是为了度量和提高软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程定义的不断发展软件测试的定义经历了不断的发展:狭义概念 识别软件缺陷的过程,即实际结果与预期结果的不一致广义的概念 指软件生存周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认这种专指测试程序代码,定义在编码之后的“测试”是一种狭义定义的测试“软件测试在程序开发之后”这句话对吗?广义的软件测试贯穿了整个软件开发过程,软件开发生命周期的各个阶段中都少不了相应的测试

8、对软件质量提出了全方位要求功能方便灵活性能安全稳定可靠软件逐渐成为人类社会经济活动和日常生活不可缺少的元素软件质量关乎着人员和公众的生命和安全环境的质量数据和信息的安全设备设施和系统的正常运行社会活动和社会秩序软件测试通常包括确认(verification)和有效性验证(validation):-确认指保证软件正确的实现了某一特定功能的一系列活动-有效性验证指的是保证软件的实现满足了用户需求的一系列活动两者很容易混淆,大多数的书籍的翻译都不正确Boehem简洁的给出了两者的区别:有效性验证:我们是否在构建一个正确的产品?即构建出的产品是否满足客户的需求。确认:我么是否在正确地构建一个产品?即构

9、建出的产品是否和产品的设计相一致。p 美国早期的航天事故原因查明:FORTRAN程序中“;”写成了“,”,编译系统将循环语句误认为赋值语句软件质量问题的严重挑战软件质量问题引发的事故屡见不鲜p 1990年海湾战争中由于软件的缺陷,致使美国爱国者导弹打入自己的军营p 加拿大的X射线自动治疗仪控制软件有设计缺陷,使得病人受到高强度射线照射,有多位病人致死、致伤p 2008北京奥运会票务系统p 欧洲宇航局的阿丽亚娜型(ARIANA 501)运载火箭1996年首次发射因火箭导航软件故障发射失败p 香港1997年回归后新机场航管系统未经试运行p FIFA 2012缺陷软件失败的术语缺点(defect)故

10、障(fault)失败(failure)事件(incident)偏差(variance)异常(anomaly)问题(problem)错误(error)缺陷(bug)严重的情况不是全部失败最常用的术语软件缺陷的定义(软件缺陷的定义(Ron Patton,软件测试第2版)1.软件未达到产品说明书中已经标明的功能;2.软件出现了产品说明书中指明不会出现的错误;3.软件未达到产品说明书中虽未指出但应当达到的目标;4.软件功能超出了产品说明书中指明的范围;5.软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。*产品说明书:Product Specification或简称Spec计

11、算器的产品说明书声称它能准确无误地进行加减乘除运算,永远不会崩溃、锁死或停止反应。按下(+)键没有任何反应(规则1)狂敲键盘计算器停止接受输入(规则2)可以求平方根(规则3)电力不足时计算不正确(规则4)按键太小,“=”键布置的位置使其极不好按,明亮光下屏幕难以看清(规则5)图1-1 软件缺陷产生的原因分布其他其他10%软件产品说明软件产品说明书(需求)书(需求)56%编写代码编写代码7%设计设计27%启动Windows的计算器程序,输入“5,000-5=”(逗号不能少),观察结果。这是软件错误吗?为什么?失败(failure):系统的外部行为编写与系统规范不一致时产生错误(error):系统

12、的一个状态故障(fault):一个错误的裁定原因故障-错误-失败缺陷:业界广泛使用的术语故障:研究者倾向使用本书根据需求本书根据需求互换使用互换使用 定义:在指定的环境、指定的时间内,软件系统无故障运行的概率测试的目的就是发现软件中的各种缺陷测试只能证明软件存在缺陷,不能证明软件不存在缺陷测试可以使软件中缺陷降低到一定程度,而不是彻底消灭以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量基本形式是一个简单的对无状态系统中,结果仅依赖当前的输入,测试用例的结构很简单(例:C语言编译器)面向状态的系统中,程序的结果依赖于系统当前的状态和当前的输入,一个测试用例可能由一组序列组成(

13、例:ATM)包含以下内容程序产生的数值:本地观察的输出 远程存储、操作或观察的输出状态变化 程序的状态变化 数据库的状态变化数值序列或集合断言(Assertion):任何一个实体(程序、过程、人力专家、数据体)告知我们一个特定的测试(或测试集合)的期望结果理想情况下期望结果应在设计测试用例时计算出来,但例外时应通过对实际的测试结果进行检测,识别出期望的结果完备测试不能实现的原因:可能的输入范围之大以至于一个测试系统中不能完全使用所有的输入设计的问题太复杂以至于不能进行完备测试创建一个系统所有可能的执行环境是不太可能的必须以一种系统的、谨慎的方式来选择输入域上的子集,以便得出尽可能准确和完备的推

14、论输入域D程序PD1D2P2P1应用输入观察输出确定测试的目标选择输入计算期望结果设定程序的执行环境执行程序分析测试结果单元测试集成测试系统测试验收测试 业务验收测试(Business Acceptance Test)用户验收测试(User Acceptance Test)回归测试:它的执行贯穿系统的生命周期,可以看成各个测试阶段的子阶段开发组织用户需求和功能规范:正式和非正式的源代码输入和输出域操作特性:关于一个系统如何使用的定量描述,多用于可靠性评估故障模型基于故障的测试:错误猜测 故障植入 变异分析 以故障仿真的思想为基础白盒测试:已知产品的详细设计过程,可以通过测试证明每种内部操作是否

15、符合设计规格要求,所有内部成分是否已经通过检查又称结构化测试(Structure Based Testing或Structural Testing)黑盒测试:把程序看作是一个不能打开的黑盒子,在不考虑程序内部结构和特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息又称功能测试或数据驱动测试、或基于规格说明的测试(Specification Based Testing)测试计划 时间进度和人员安排、风险管理 测试范围的确定、测试数据的生成 测试工具、方法的选择和工具开发 测试完成标准 影响资源分配的特殊考虑等测

16、试设计根据不同信息来源定义不同的测试目标,为每一个测试目标设计一个或多个测试用例自动化测试的好处:提高测试人员的生成率 回归测试有更好的覆盖 减少测试阶段的周期 减少软件维护的成本 增加测试用例的有效性但是测试自动化不能取代手工测试!测试用例的生成(包括测试输入,标准输出,测试操作指令等)测试的执行与控制(包括单机与网络多机分布运行;夜间及假日运行)测试对象、范围、版本等的控制测试结果与预期输出的对比不吻合的测试结果的分析、记录、分类、和通报测试的统计,报表的产生手工完成测试的全部过程无法保证测试的科学性与严密性:修改的缺陷越多,回归测试越困难 没有人能向决策层提供精确的数据以度量当前的工作进

17、度及工作效率 反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一 测试花费的时间越长,测试的严格性也就越低自动测试将测试人员从反复、烦杂的测试执行中解放出来,用更多的时间进行测试设计和结果分析软件测试不可能完全自动化自动化测试不能完成所有手工测试任务 无创造性且灵活性差,不能改进测试的有效性 过程中可能会遇到许多意想不到的问题,特别是当软件不稳定时 测试脚本的维护成本高测试人员的常见组成1)手动测试员 2)自动化测试员 3)测试主管/测试组长 4)测试经理 5)高级测试专家(测试架构师)注:测试团队成员可能由外包项目发包方或接包方人员共同组成 第一章:基本概念和预备知识第二章:测试的理论和局限性介绍第三 六章:单元测试第七章:集成测试第八 十三章:讨论系统测试的不同方面第十四章:验收测试第十五章:软件可靠性第十七章:软件质量的概念第十八章:软件测试成熟度模型

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件测试课件.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|