这是软件测试的文档,有白盒测试和黑河测试两种测试方法_第1页
这是软件测试的文档,有白盒测试和黑河测试两种测试方法_第2页
这是软件测试的文档,有白盒测试和黑河测试两种测试方法_第3页
这是软件测试的文档,有白盒测试和黑河测试两种测试方法_第4页
这是软件测试的文档,有白盒测试和黑河测试两种测试方法_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1 章章 软件测试概述软件测试概述n计算机系统的规模和复杂性急剧增加,其软件开发成本以及由于软件故障而造成的经济损失也正在增加,软件质量问题已成为人们共同关注的焦点。n软件测试是对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。本章主要内容本章主要内容1.1 计算机系统的软件可靠性问题1.2 软件测试的目的和意义1.3 软件测试过程1.4 软件测试与软件开发的关系1.5 软件测试的发展历程、现状和趋势1.6 软件测试工具1.1 计算机系统的软件可靠性问题计算机系统的软件可靠性问题n千年虫问题n爱国者导弹防御系统n美国火星登陆事故nIntel奔腾芯片缺陷nWindows

2、 2000安全漏洞1.2 软件测试的定义、目的和意义软件测试的定义、目的和意义n定义1:1983年IEEE(国际电子电气工程师协会)提出的软件工程标准术语中给软件测试下的定义是:“使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别”。n定义2:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例去执行程序,以发现软件故障的过程。n定义3:软件测试是一种软件质量保证活动,其动机是通过一些经济有效的方法,发现软件中存在的缺陷,从而保证软件质量。软件测试的定义、目的和意义软件测试的定义、目的

3、和意义n软件测试的根本目的是:以尽可能少的时间和人力发现并改正软件中潜在的各种故障和缺陷,提高软件的质量。n一个好的测试用例在于发现至今尚未被发现的故障;n一个成功的测试是发现了至今未被发现的故障的测试。1.3 软件测试过程软件测试过程软件测试过程软件测试过程1单元测试(模块测试)n目的:检测程序模块中有无故障存在n对象:软件设计的最小单位n单元测试与程序设计和编程实现关系密切,因此一般由测试人员和编程人员共同完成。n常采用白盒测试方法。软件测试过程软件测试过程2集成测试(组装测试、子系统测试)n目的:发现与接口有关的模块之间的问题n两种方法n非增量式集成测试法n对每一个模块进行单元测试n在此

4、基础上按程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试n增量式集成测试法n不断地把待测模块连接到已测模块集(或其子集)上,对待测模块进行测试,直到最后一个模块测试完毕软件测试过程软件测试过程3确认测试 对照软件需求规格说明,对软件产品进行评估以确定其是否满足软件需求的过程。软件测试过程软件测试过程4系统测试n目的:针对系统中各个组成部分(含软件、硬件、相关的外围设备、数据及采集和传输机构、操作人员等)进行的综合性检验,证明系统的性能n测试人员要求:n系统开发人员不能进行系统测试。n系统开发组织不能负责系统测试。软件测试过程软件测试过程5 验收测试n目的:向用户表明所开发的软件系

5、统能够像用户所预定的那样工作。n验收测试是将最终产品与最终用户的当前需求进行比较的过程,是软件开发结束后软件产品向用户交付之前进行的最后一次质量检验活动,它解决开发的软件产品是否符合预期的各项要求,用户是否接受等问题。1.4 软件测试与软件开发的关系软件测试与软件开发的关系1.4.1 软件开发过程软件开发过程 正规的软件开发过程一般包括六个阶段,即:n制定计划n需求分析n软件设计n程序编写n软件测试n运行和/维护 这六个阶段构成了软件的生存周期。1.4.2 软件测试在软件开发中的作用软件测试在软件开发中的作用软件测试应贯穿于软件定义与开发的整个期间,测试在开发各阶段的作用如下:n项目规划阶段:

6、负责整个测试阶段的监控。n需求分析阶段:确定测试需求分析,制定系统测试计划。测试需求分析是指产品生存周期中测试所需的资源、配置、各阶段评审通过的标准等。n概要设计和详细设计阶段:制定集成测试计划和单元测试计划。n编码阶段:开发相应的测试代码或测试脚本。n测试阶段:实施测试,并提交相应的测试报告。软件测试与软件开发的关系软件测试与软件开发的关系1.4.3 软件测试过程模型软件测试过程模型1. 软件测试过程V模型n特点:非常明确地表明了测试的不同级别,清晰地展示了软件测试与开发之间的关系1.4.3 软件测试过程模型软件测试过程模型2. 软件测试过程W模型W模型形象地说明了软件测试与开发的并行关系,

7、体现了测试贯穿于整个开发过程的思想。1.4.4 软件测试环境的搭建软件测试环境的搭建 测试一个软件之前,首先应该搭建用来运行软件的环境,即测试环境。 测试环境 硬件软件网络数据准备测试工具软件测试环境的搭建软件测试环境的搭建n硬件环境:主要是指PC机、笔记本电脑、服务器、各种PDA终端等。例如现要测试微软的word 2003这一款软件,那么是在PC机上测试还是在笔记本电脑上测试?如果在PC机上测试,那么CPU是奔腾2.4G,还是赛扬1.7G?内存是DDR512M,还是SD128M? 不同的机器类型,不同的机器配置,必然会导致不同的反应速度,因此测试一款软件时一定要考虑硬件配置。n软件环境:主要

8、是软件运行的操作系统。比如word 2003是在Window 2003下检测,还是在Window XP下检测,这里可能会有兼容性的问题。软件测试环境的搭建软件测试环境的搭建n网络环境:主要指的是C/S结构还是B/S结构。例如要测试微软的outlook 2003这一款软件,那么是在局域网里测,还是在互联网里测?如果在局域网中测,那么是在10M的局域网里测,还是在100M的局域网里测?不同的网络类型,不同的传输速度,必然会导致不同的收发速度,因此测试一款软件时也不能忽视网络的因素。软件测试环境的搭建软件测试环境的搭建n数据准备:主要指的是测试数据的准备。测试数据的准备应考虑数据量和真实性,即尽可能

9、获取大量的真实的数据,包括正确和错误的数据。当无法取得真实数据时应尽可能模拟出大量的数据。软件测试环境的搭建软件测试环境的搭建n测试工具:目前市场上的测试工具很多,可分为静态测试工具、动态测试工具、黑盒测试工具、白盒测试工具、测试执行评估工具、测试管理工具等,因此,对测试工具的选择是一个比较重要的问题,应根据测试需求和实际条件来选择已有的测试工具,或购买、自行开发相应的测试工具。软件测试环境的搭建软件测试环境的搭建除了上述几种因素外,搭建软件测试环境还应注意以下几点:n尽量模拟用户的真实使用环境;n测试环境中尽量不要安装其它与被测软件无关的软件,但最好安装杀毒软件,以确保系统没有病毒;n测试环

10、境应与开发环境独立。1.5 软件测试的发展历程、现状、趋势软件测试的发展历程、现状、趋势发展历程:n20世纪50年代,英国著名的计算机科学家图灵给出了软件测试的原始定义:测试是程序正确性证明的一种极端实验形式。n20世纪70年代以后,软件测试的研究开始受到重视,是软件测试技术发展最活跃的时期。n1975年,Goodenough首次提出了软件测试理论,从而把软件测试这一实践性很强的学科提高到理论的高度。n1982年,美国北卡来纳大学召开了首次软件测试技术会议,本次会议成为软件测试技术发展的一个重要里程碑。软件测试的现状软件测试的现状现状:n就目前软件工程发展的状况而言,软件测试仍然是较为薄弱的一

11、个方面。不仅测试理论,已有的测试方法也不能满足当前软件开发的实际需求。n尤其是进入20世纪90年代后,计算机技术日趋成熟,软件应用范围逐步扩大,软件规模和复杂性急剧增加,与此同时,计算机出现故障引起系统失效的可能性也逐渐增加。由于计算机硬件技术的进步,元器件可靠性的提高,硬件设计和验证技术的成熟,硬件故障相对显得次要了,软件故障正逐渐成为导致计算机系统失效和停机的主要因素。国外发展现状国外发展现状 在软件比较发达的国家,特别是美国,软件测试已经发展成为一个独立的产业,主要体现在:n软件测试在软件公司中占有重要的地位。n软件测试理论研究蓬勃发展。n软件测试市场繁荣,美国一些专业公司出品的测试工具

12、已经占领了国际市场。微软的测试规模微软的测试规模微软的测试规模微软的测试规模我国软件测试产业现状我国软件测试产业现状n随着软件外包行业的逐渐兴起和人们对软件质量保障意识的加强,中国软件企业已开始认识到,软件测试的广度和深度决定了中国软件企业的前途命运。n以占中国软件外包总量近85%的对日软件外包来说,业务内容基本都针对测试环节。软件外包中对测试环节的强化,直接导致了软件外包企业对测试人才的大量需求。n近年来,几乎所有的软件企业均存在不同程度的测试人才缺口,软件测试工程师已成为了亟待补充的关键技术工种之一。nIBM、百度、华为、惠普、盛大网络、联想集团等国内外大型IT企业均表现出对成熟软件测试人

13、才的期盼,而微软、三星、西门子、思科、华为3COM等多家国内外IT巨头则相继在全国各大高校招兵买马,并把软件测试人才的招聘放在了突出的位置。国内软件测试人才紧缺的现状已经凸显出来。软件测试的发展趋势软件测试的发展趋势n测试工作将进一步前移。n软件架构师、开发工程师、QA(质量保证)人员、测试工程师将进行更好的融合。n测试职业将得到充分的尊重。n设置独立的软件测试部门将成为越来越多的软件公司的共识。n测试外包服务将快速增长。1.6 软件测试工具软件测试工具1. 白盒测试工具白盒测试工具n静态测试工具n职能:主要集中在需求文档、设计文档以及程序结构上,可以进行类型分析、接口分析、输入输出规格说明分

14、析等。n工具:nMcCabe & Associates 公司开发的McCabe Visual Quality ToolSet分析工具;nViewLog公司开发的LogiScope分析工具;nSoftware Research公司开发的TestWork/Advisor分析工具nSoftware Emancipation公司开发的Discover分析工具n北京邮电大学开发的DTS缺陷测试工具,等。软件测试工具软件测试工具1. 白盒测试工具白盒测试工具n动态测试工具n职能:功能确认与接口测试、覆盖率分析、性能分析、内存分析等n工具:nCompuware公司开发的DevPartner软件;nR

15、ational公司研制的Purify系列等。软件测试工具软件测试工具2. 黑盒测试工具黑盒测试工具n工具:nRational公司的TeamTest;nCompuware公司的QACenter,等。n分类n功能测试工具:检测被测程序能否达到预期的功能要求并正常运行。n性能测试工具:用来确定软件和系统的性能。软件测试工具软件测试工具3. 测试设计和开发工具测试设计和开发工具n测试设计是说明测试被测软件特征或特征组合的方法,确定并选择相关测试用例的过程。n测试开发是将测试设计转换成具体的测试用例的过程。n工具类型:n测试数据生成器 代表工具:Bender & Associates公司提供的功

16、能测试数据生成工具SoftTest;Parasoft公司提供的C/C+单元测试工具Parasoft C+test等。n基于需求的测试设计工具n捕获/回放工具n覆盖分析工具n软件测试工具软件测试工具4. 测试执行和评估工具测试执行和评估工具n测试执行和评估:执行测试用例并对结果进行评估的过程,包括选择用于执行的测试用例、设置测试环境、运行所选择的测试、记录测试执行活动、分析潜在的软件故障并测量测试工作的有效性。n工具类型n捕获回放n覆盖分析n存储器测试软件测试工具软件测试工具5. 测试管理工具测试管理工具n测试管理:帮助完成测试计划,跟踪测试运行结果等。n用途:n测试用例管理n缺陷跟踪管理n配置管理n代表工具: Rational公司的Test Manager、Compureware公司的TrackRecord等软件。软件测试工具软件测试工具6. 目前市场上主流的测试工具目前市场上主流的测试工具以MI,Rational和Compuware公司开发的软件测试工具为主导。nMI公司产品nLoadRunnernWinRunnernTestDirectornQTPnIBM Rational公司产品nRational Robot (功能/性能测试工具)nRational Purify (白盒测试工具)nRational Testmanager (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论