软件测试ppt课件.pptx

上传人:小飞机 文档编号:1786864 上传时间:2022-12-18 格式:PPTX 页数:52 大小:814.54KB
返回 下载 相关 举报
软件测试ppt课件.pptx_第1页
第1页 / 共52页
软件测试ppt课件.pptx_第2页
第2页 / 共52页
软件测试ppt课件.pptx_第3页
第3页 / 共52页
软件测试ppt课件.pptx_第4页
第4页 / 共52页
软件测试ppt课件.pptx_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《软件测试ppt课件.pptx》由会员分享,可在线阅读,更多相关《软件测试ppt课件.pptx(52页珍藏版)》请在三一办公上搜索。

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

2、e Engineering )?,研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科(维基百科),软件工程-计算机软件发展的三个阶段,软件工程与软件测试,软件工程的一个重要分支,软 件 生 命 周 期,软件测试:为了提高软件质量软件质量:是软件产品的特性可以满足用户的功能、非功能需求的能力 。软件的质量管理(Quality Management):是软件组织在软件产品生产中的质量策划、质量控制(Quality Control)、质量保证(Quality Assurance)和质量改进等等

3、与质量有关的相互协调的活动。,软件测试与软件质量,基本概念和预备知识单元测试系统集成测试系统测试分类功能测试系统测试设计系统测试计划与自动化系统测试的执行验收测试软件可靠性软件质量成熟度模型软件测试前沿技术介绍,课程概览,掌握软件测试的基本概念理解测试对于软件质量保障的重要性了解软件测试技术理解需求、缺陷、测试用例和测试结果的生命周期模型理解单元测试、集成测试、系统测试和验收测试的过程模型掌握软件测试实践所需的技能了解软件测试自动化了解质量模型、能力成熟度模型、测试成熟度模型及测试过程改进模型培养学生进行测试前沿技术的调研能力,课程目标,教学形式分以下四个部分:课堂学习部分:由教师进行讲授研究

4、性学习部分(本部分不占课内学时):采取课后自学方式,要求在充分调研的基础上,结合个人研究背景和兴趣选题,写作一篇专题报告课堂讨论部分:要求学生准备一次专题报告实践部分:学生课后独立完成和选题有关的技术实验,教学要求,Kshirasagar Naik, 软件测试与质量保证 理论与实践, 电子工业出版社Ron Patton, 软件测试(第2版),机械工业出版社Srinivasan Desikan, 软件测试原理与实践,机械工业出版社Scott Tilley, 云环境下得软件测试:迁移与执行,科学技术文献出版社,教材和参考书,软件测试基本概念和预备知识单元测试系统集成测试系统测试,课程内容,提高质量

5、的新方法包含了一个产品开发过程的各个方面 从需求分析到提交最终产品有效的质量过程必须注意更加专注于客户的需求采取措施持续地提高质量使度量过程与产品设计、开发融为一体将质量概念推广到整个组织的最底层建立一种对方法、过程高度关注的系统级的视图通过持续的质量提高来消除浪费PDCA(Plan-Do-Check-Action)循环TQC(Total Quality Control)全面质量管理,质量革命,关于软件质量的5个观点抽象的观点:可以识别但很难定义用户的观点:是对目标的适应性 -产品是否满足用户的需求?制造的观点:与规范的一致性产品的观点:依赖产品内在的特性基于价值的观点:依赖于客户愿意支付的货

6、币数额,软件质量,定义软件质量的最具影响力的两个软件质量模型ISO9126CMM (Capability Maturity Model)软件能力成熟度模型软件测试领域的两个著名的过程模型测试过程改进模型(TPI)测试成熟度模型(TMM),软件质量,什么是软件测试?,“以寻找错误为目的的执行程序的过程” 迈尔斯 G. J. 软件测试的艺术, Wiley出版社,1979年,“软件测试是一个以寻找错误为目的的分析和操作软件的过程” 克里斯 布朗,格雷柯布,罗伯特卡伯特森,软件测试快速入门, 2001年,“. 发现错误”“.及早发现错误” “.及早发现错误并确保这些错误被修复” 巴顿 R.软件测试 (

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

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

9、正确的产品? 即构建出的产品是否满足客户的需求。确认:我么是否在正确地构建一个产品?即构建出的产品是否和产品的设计相一致。,Verification & Validation,美国早期的航天事故原因查明:FORTRAN程序中 “ ;” 写成了“,”, 编译系统将循环语句误认为赋值语句,软件缺陷案例1,软件质量问题的严重挑战,软件质量问题引发的事故屡见不鲜,1990年海湾战争中由于软件的缺陷,致使美国爱国者导弹打入自己的军营,软件缺陷案例2,加拿大的X射线自动治疗仪控制软件有设计缺陷,使得病人受到高强度射线照射,有多位病人致死、致伤,软件缺陷案例3,2008北京奥运会票务系统,软件缺陷案例4,欧

10、洲宇航局的阿丽亚娜型(ARIANA 501)运载火箭1996年首次发射因火箭导航软件故障发射失败,软件缺陷案例5,香港1997年回归后新机场航管系统未经试运行,软件缺陷案例6,FIFA 2012缺陷,软件缺陷案例7,软件失败的术语缺点(defect)故障(fault)失败(failure)事件(incident)偏差(variance)异常(anomaly)问题(problem)错误(error)缺陷(bug),软件缺陷是什么,严重的情况,不是全部失败,最常用的术语,软件缺陷的定义( Ron Patton, 软件测试第2版)软件未达到产品说明书中已经标明的功能; 软件出现了产品说明书中指明不会

11、出现的错误;软件未达到产品说明书中虽未指出但应当达到的目标; 软件功能超出了产品说明书中指明的范围;软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。 *产品说明书:Product Specification或简称Spec,软件缺陷是什么,计算器的产品说明书声称它能准确无误地进行加减乘除运算,永远不会崩溃、锁死或停止反应。按下(+)键没有任何反应(规则1)狂敲键盘计算器停止接受输入(规则2)可以求平方根(规则3)电力不足时计算不正确(规则4)按键太小,“=”键布置的位置使其极不好按,明亮光下屏幕难以看清(规则5),软件缺陷是什么,图1-1 软件缺陷产生的原因分布,软件

12、缺陷产生的原因,启动Windows的计算器程序,输入“5,000 -5 =”(逗号不能少),观察结果。这是软件错误吗?为什么?,课堂练习,失败(failure):系统的外部行为编写与系统规范不一致时产生错误(error):系统的一个状态故障(fault):一个错误的裁定原因故障-错误-失败缺陷:业界广泛使用的术语故障:研究者倾向使用,失败、错误、故障和缺陷,本书根据需求互换使用,定义:在指定的环境、指定的时间内,软件系统无故障运行的概率,软件可靠性的概念,测试的目的就是发现软件中的各种缺陷测试只能证明软件存在缺陷,不能证明软件不存在缺陷测试可以使软件中缺陷降低到一定程度,而不是彻底消灭以较少的

13、用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量,软件测试的目的,基本形式是一个简单的对无状态系统中,结果仅依赖当前的输入,测试用例的结构很简单(例:C语言编译器)面向状态的系统中,程序的结果依赖于系统当前的状态和当前的输入,一个测试用例可能由一组序列组成 (例:ATM),什么是测试用例(test case),包含以下内容程序产生的数值:本地观察的输出远程存储、操作或观察的输出状态变化程序的状态变化数据库的状态变化数值序列或集合断言(Assertion):任何一个实体(程序、过程、人力专家、数据体)告知我们一个特定的测试(或测试集合)的期望结果理想情况下期望结果应在设计测试用例时计

14、算出来,但例外时应通过对实际的测试结果进行检测,识别出期望的结果,期望结果,完备测试不能实现的原因:可能的输入范围之大以至于一个测试系统中不能完全使用所有的输入设计的问题太复杂以至于不能进行完备测试创建一个系统所有可能的执行环境是不太可能的,完备测试的概念,必须以一种系统的、谨慎的方式来选择输入域上的子集,以便得出尽可能准确和完备的推论,测试的核心问题,输入域D,程序P,D1,D2,P2,P1,应用输入,观察输出,确定测试的目标选择输入计算期望结果设定程序的执行环境执行程序分析测试结果,测试活动,单元测试集成测试系统测试验收测试业务验收测试 (Business Acceptance Test)

15、用户验收测试(User Acceptance Test)回归测试:它的执行贯穿系统的生命周期,可以看成各个测试阶段的子阶段,测试阶段,开发组织,用户,需求和功能规范:正式和非正式的源代码输入和输出域操作特性:关于一个系统如何使用的定量描述,多用于可靠性评估故障模型基于故障的测试:错误猜测故障植入 变异分析 以故障仿真的思想为基础,测试用例选择的信息来源,白盒测试:已知产品的详细设计过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经通过检查又称结构化测试(Structure Based Testing或Structural Testing)黑盒测试:把程序看作是一个不能

16、打开的黑盒子,在不考虑程序内部结构和特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息又称功能测试或数据驱动测试、或基于规格说明的测试(Specification Based Testing),白盒测试和黑盒测试,测试计划时间进度和人员安排、风险管理测试范围的确定、测试数据的生成测试工具、方法的选择和工具开发测试完成标准影响资源分配的特殊考虑等测试设计根据不同信息来源定义不同的测试目标,为每一个测试目标设计一个或多个测试用例,测试计划和设计,自动化测试的好处:提高测试人员的生成率回归测试有更好的覆盖减少测试阶

17、段的周期减少软件维护的成本增加测试用例的有效性但是测试自动化不能取代手工测试!,测试工具和自动化,测试用例的生成(包括测试输入,标准输出,测试操作指令等)测试的执行与控制(包括单机与网络多机分布运行;夜间及假日运行)测试对象、范围、版本等的控制测试结果与预期输出的对比不吻合的测试结果的分析、记录、分类、和通报测试的统计,报表的产生,适合自动化的测试操作,手工完成测试的全部过程无法保证测试的科学性与严密性:修改的缺陷越多,回归测试越困难没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一测试花费的时间越长,测试的严格性也就越低,手工

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

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号