ppt1新.ppt

上传人:b****1 文档编号:1384987 上传时间:2022-10-21 格式:PPT 页数:100 大小:1.18MB
下载 相关 举报
ppt1新.ppt_第1页
第1页 / 共100页
ppt1新.ppt_第2页
第2页 / 共100页
ppt1新.ppt_第3页
第3页 / 共100页
ppt1新.ppt_第4页
第4页 / 共100页
ppt1新.ppt_第5页
第5页 / 共100页
点击查看更多>>
下载资源
资源描述

ppt1新.ppt

《ppt1新.ppt》由会员分享,可在线阅读,更多相关《ppt1新.ppt(100页珍藏版)》请在冰豆网上搜索。

ppt1新.ppt

软件测试技术,内容简介,针对高校计算机专业软件测试课程的需要,主要介绍软件测试的基础知识与应用技术。

内容包含软件测试概述、软件测试方法与过程、黑盒测试、白盒测试、软件测试管理、自动化测试基础以及对主流测试工具软件WinRunner、LoadRunner和Junit的详细介绍。

第1章软件测试概述第2章软件测试策略与过程第3章黑盒测试及用例的设计第4章白盒测试及其用例的设计第5章软件特定环境及应用系统的测试第6章软件自动化测试基础第7章软件项目的单元测试第8章软件项目的功能测试与性能测试第9章软件测试管理,第1章软件测试概述,1.1软件测试背景1.2软件测试基础理论1.3软件开发过程1.4软件开发与软件测试的关系1.5软件测试过程1.6软件质量保证概要1.7软件测试职业,本章教学目标,正确理解软件测试的背景、软件缺陷和故障的概念正确理解软件测试的意义正确理解软件开发过程与软件测试的关系正确理解软件质量的概念及质量保证体系了解软件测试职业与素质的要求,1.1软件测试背景,1.1.1软件可靠性问题1.1.2软件缺陷与故障1.1.3软件缺陷产生的原因,Return,1什么是软件测试?

软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程。

软件=程序+数据(库)+文档+服务,目的:

保证软件质量、提高软件可靠性,1.1.1软件可靠性问题,因软件设计故障与因计算机硬件设计故障而引发的系统失效的比例大约是:

10:

1运行软件的驻留故障密度(每千行代码的故障数目):

要求很高的关键财务或财产软件为:

每千行代码110个故障关键的生命软件为:

每千行代码0.011个故障IEEE将软件可靠性定义为:

系统在特定环境下,在给定的时间内无故障运行的概率。

软件可靠性是对软件在设计、开发以及所预定的环境下具有能力的置信度的一个度量,是衡量软件质量的主要参数之一。

而软件测试则是保证软件质量、提高软件可靠性的最重要手段。

1.1.2软件缺陷与故障,1、软件缺陷和软件故障案例案例1美国迪斯尼公司的狮子王游戏软件bug兼容性问题1994年秋天,迪斯尼公司发布了第一个面向儿童的多媒体光盘游戏狮子王动画书。

该游戏成为孩子们那个夏季的“必买游戏”。

后来却飞来横祸。

迪斯尼公司没有对市场上投入使用的各种PC机型进行正确的测试。

软件在迪斯尼的程序员用于开发游戏的系统但在大众使用的常见系统中却不行。

在设计计算机的程序时规定了的年份仅用两位数来表示,那么无论遇到是哪一个世纪的,计算机都会老老实实地取年份中的后两位来表示其年份,决不会采取四位数来表示年份的也就是说,假如是1971年,在计算机里就会被表示为“71”,而假如是2002年,计算机就会将其年份表示为“02”。

这样的话假如要计算相差多大,计算机要用02减去71了。

这就是千年虫(计算机2000年问题)。

计算机千年虫(2000年问题)的定义:

2000年问题,就是指在某些使用了计算机程序的智能系统(包括计算机系统、自动控制芯片等)中,由于其中的年份只使用两位十进制数来表示,因此当系统进行(或涉及到)跨世纪的日期处理运算(如多个日期之间的计算或比较等)时,就会出现错误的结果,进而引发各种各样的系统功能紊乱甚至崩溃。

案例3跨世纪“千年虫”问题,iPhone手机2011年1号元旦闹钟失灵,影响了全球的iphone用。

在1日和2日这两天内,微博上、论坛中充满了大小名人和普通用户迟到、误机的哀叹声。

在元旦当日闹钟失灵后,苹果公司发出警告,称1月2日闹钟还会失灵。

但在节假日期间,信息传播本来就迟缓,导致1月2日当天仍然有大批用户中招。

苹果公司官方也承认了这一bug将持续出现。

闹钟问题并不光在2011年出现,在2016年、2017年和2021年元旦,闹钟都会再次失效。

1994年12月30日;ThomasR.Nicely博士在他的一个实验中,发现了奔腾CPU的除法问题,(41958353145727)314357274195835?

案例4爱国者导弹防御系统炸死自家人系统时钟误差积累案例5Windows2000中文输入法漏洞案例6金山词霸bug上述所有实例中的软件问题在软件工程或软件测试中都被称为软件缺陷或软件故障。

3什么是软件缺陷?

软件缺陷与故障(续),2、软件缺陷的定义

(1)软件未达到产品说明书中已经标明的功能;

(2)软件出现了产品说明书中指明不会出现的错误;(3)软件未达到产品说明书中虽未指出但应当达到的目标;(4)软件功能超出了产品说明书中指明的范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。

举例:

计算器内的嵌入式软件,4如何进行软件测试?

加法功能,软件缺陷与故障(续),3、软件缺陷的特征“看不到”软件的特殊性决定了缺陷不易看到“看到但是抓不到”发现了缺陷,但不易找到问题发生的原因所在每一个使用过一些软件的人都会对软件的工作方式有自己意见和想法,要编写令所有用户都满意的软件是不可能的。

要全面,最重要的是要客观评价,并非所有测试发现的缺陷都要修改。

1.1.3软件缺陷产生的原因,一、导致软件缺陷最大的原因是需求分析说明书(需求分析)图1-1软件缺陷产生的原因分布,第一章软件测试的背景,二、软件缺陷的第二大来源是设计,三、代码错误可以归咎于软件的复杂性、文档不足、进度压力或者普通的低级错误,与一、二有关。

占,四、其他原因,如误解,重复错误,测试错误等只占极小的比例。

软件测试的发展,无流程1998年前有测试流程1998年-2003年大量测试方法和技术2003至今,特别是08年至今有了大量突飞猛进的突破,正在大面积普及有测试设计框架2010年至今设计和经验复用,1.2软件测试基础理论,1.2.1软件测试的定义1.2.2软件测试的基本理论1.2.3软件测试和缺陷修复的代价1.2.4软件测试技术概要,Return,1.2.1软件测试的定义,1、软件测试的定义软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。

通常对软件测试的定义有两种描述:

定义1:

软件测试是为了发现错误而执行程序的过程。

定义2:

软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。

软件测试的定义(续),测试:

所谓测试的含义,首先是一项活动,在这项活动中某个系统或组成的部分将在特定的条件下运行,结果将被观察和记录,并对系统或组成部分进行评价。

测试活动有两种结果:

找出缺陷和故障,或显示软件执行正确。

测试是一个或多个测试用例的集合。

测试用例:

所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实体。

测试步骤:

测试步骤详细规定了如何设置、执行、评估特定的测试用例。

1.2.1软件测试的定义,软件测试的定义:

几个观点:

测试是为了证明程序有错,而不是证明程序无错误;一个好的测试用例是在于它能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。

软件测试的定义(续),2、软件测试的基本问题软件生命周期:

一个软件生命周期包括制定计划、需求分析定义、软件设计、程序编码、软件测试、软件运行、软件维护、软件停用等8个阶段。

软件测试贯穿于整个软件生命周期。

测试根本目的保证软件的质量,软件测试的对象:

软件测试不等于程序测试。

软件测试贯串于软件定义和开发的整个过程。

软件开发过程中所产生的需求规格说明、概要设计规格说明、详细设计规格说明以及源程序都是软件测试的对象。

软件测试的定义(续),2、软件测试的基本问题(续)软件测试生命周期模型,软件测试的关键问题,1软件测试的目的,证明获取系统在可接受风险范围内可用的信心;尝试在非正常情况和条件下的功能和特性;保证一个工作产品是完整的并且可用或可被集成。

检测:

发现缺陷、错误和系统不足;定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。

预防:

澄清系统的规格和性能;提供预防或减少可能制造错误的信息;在过程中尽早检测错误;确认问题和风险,并且提前确认解决这些问题和风险的途径。

软件测试的原则,

(1)测试是证伪而不是证真。

(2)测试应当有重点。

(3)事先定义好产品的质量标准,确定测试用例预期输出结果。

(4)软件项目一启动,软件测试也就开始,而不是等到程序写完才开始进行测试。

(5)穷举测试是不可能的。

(6)第三方进行测试会更客观,更有效。

(7)软件测试计划是做好软件测试工作的前提。

(8)测试用例是设计出来的,不是写出来的。

(9)对发现错误较多的程序段,应进行更深入的测试。

(10)重视文档,妥善保存一切测试过程文档。

软件测试的基本理论(续),4、测试信息流程测试信息流程如图1-2所示。

测试过程中需要三类输入:

软件配置、测试配置和测试工具。

图1-2测试信息流程,软件测试的基本理论(续),5、软件测试的周期性软件测试的周期性是“测试-改错-再测试-再改错”这样一个循环过程,如下图1-3所示。

图1-3软件测试的周期性,软件测试的基本理论(续),6、测试停止的依据(标准)第一类标准:

测试超过了预定时间,则停止测试。

第二类标准:

执行了所有的测试用例,但并没有发现故障,则停止测试。

第三类标准:

使用特定的测试用例设计方案作为判断测试停止的基础。

第四类标准:

正面指出停止测试的具体要求,即停止测试的标准可定义为查出某一预订数目的故障。

第五类标准:

根据单位时间内查出故障的数量决定是否停止测试。

1.2.3软件测试和缺陷修复的代价,软件在从需求、设计、编码、测试一直到交付用户公开使用后的过程中,都有可能产生和发现缺陷。

随着整个开发过程的时间推移,更正缺陷或修复问题的费用呈几何级数增长。

图1-4软件缺陷在不同阶段发现时修复的费用示意图,软件缺陷的修复费用,随着时间推移,修复软件缺陷的费用惊人地增长(指数级),需求分析阶段,1;设计阶段,3-6;编码阶段,10;开发测试阶段,15-40;接受性测试阶段,30-70;应用运行中,40-1000。

1.2.4软件测试技术概要,软件测试的策略:

就是测试将按照什么样的思路和方式进行。

通常,软件测试要经过单元测试、集成测试、确认测试、系统测试以及验收测试。

1、单元测试单元测试是对软件中的基本组成单位进行测试,其目的是检验软件基本组成单位的正确性。

在公司的质量控制体系中,单元测试由产品组在软件提交测试部前完成。

单元测试是白盒测试。

2、集成测试集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。

3、确认测试,是对集成测试结果的检验,主要目的是尽可能的排除单元测试、集成测试中发现的错误;4、系统测试系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求。

系统测试是黑盒测试。

5、验收测试这是软件在投入使用之前的最后测试。

是购买者对软件的试用过程。

在公司实际工作中,通常是采用请客户试用或发布Beta版软件来实现。

验收测试是黑盒测试。

6、回归测试即软件维护阶段,其目的是对验收测试结果进行验证和修改。

在实际应用中,对客诉的处理就是回归测试的一种体现。

1.2.4软件测试技术概要,2.软件测试技术按照软件测试用例的设计方法而论,软件测试可分为白盒测试法和黑盒测试法;按照软件测试是否执行程序而论,软件测试又可以分为静态测试和动态测试;按照软件设计方法是否采用面向对象设计技术而论,软件测试又可以分为传统测试方法和面向对象测试方法;按照网络环境下C/S应用结构的特定环境而论,软件测试又有其相应的方法。

#includemax(floatx,floaty)floatz;z=(xy?

x:

y);returnz;main()floata,b;intc;scanf(%f,%f,测试是指软件

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

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1