软件测试_第一讲lwh130922_第1页
软件测试_第一讲lwh130922_第2页
软件测试_第一讲lwh130922_第3页
软件测试_第一讲lwh130922_第4页
软件测试_第一讲lwh130922_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、软件测试软件测试基础基础刘卫红刘卫红 安徽工业大学计算机学院安徽工业大学计算机学院第一章第一章 软件测试基本概念软件测试基本概念本章内容本章内容w软件测试的重要性 w软件测试职业w课程介绍及要求w软件测试的发展历程 w软件测试基本概念w软件测试基本原则软件测试的重要性 测试是软件开发重要的环节之一,以前软件测试是在软件开发好了之后再进行测试,但现在软件测试已经融入到软件开发的各个阶段。没有足够的测试,会导致一些悲剧。著名的例子有: 千年虫问题 迪斯尼的狮子王 千年虫问题在上个世纪70年代,程序员为了节约非常宝贵的内存资源和硬盘空间,在存储日期时,只保留年份的后两位,如“1980”被存为“80”

2、。当2000年到来的时候,问题就会出现。比如银行存款程序在计算利息时,应该用现在的日期“2000年1月1日”减去当时存款的日期,比如“1989年1月1日” ,结果应该是21年,如果利息是3%,银行要付给顾客每100元,大约86元利息。如果程序没有纠正年份只存储两位的问题,其存款年数就变为-89年,变成顾客反要付银行1288元的巨额利息。就是为了这样一个简单的设计缺陷,全世界付出数千亿美元。 迪斯尼的狮子王 发生在1994-1995,迪斯尼首次进军儿童游戏市场 但却飞来横祸绝大多数客户无法使用,只能在极少数系统中使用 主要原因:缺少足够的测试,兼容性问题问题发现越早,解决问题的代价就越小。问题发

3、现越早,解决问题的代价就越小。缺缺陷陷存存在在放放大大趋趋势势人们对软件测试的误解w误解一:测试是开发后期的一个阶段 软件测试不等于程序测试 软件测试应该涵盖整个软件生命周期; w误解二:工资低,没有技术含量,比编程容易多了,随便找一个人就可以了。 好的测试人员不仅要掌握各种测试技术和测试工具,还要具备丰富的编程经验和对BUG的敏感。w误解三:测试要执行所有可能的输入; 在实际测试中,穷举测试工作量太大,实践上行不通; 寻找最小最重要的用例集合成为精简测试复杂性的一条必经之道。 w误解四:有时间就多测试一些,来不及就少测试一些。 w误解五:软件测试是测试人员的事,与开发人员无关。 w误解六:调

4、试和测试是一样的。 w误解七:软件测试就是运行一下软件,看看结果对不对。 w误解八:好的测试一定要使用很多的测试工具。千万不要将千万不要将“测试测试”与与“演示演示”混为一谈。混为一谈。测试:找错误(证明程序有错)测试:找错误(证明程序有错) 调试:改错误(使程序正确)调试:改错误(使程序正确)软件测试职业 市场需求 -在微软,开发人员和测试人员的比例为1:1.5(国内为8:1) -国内软件测试工程师的缺口为20万左右 软件测试行业 -专业化的测试公司 -软件公司下设软件测试部或质量保障部 -国外重视、国内不够重视,大公司重视、小公司不够重视,但软件测试已经越来越受到软件公司的重视 -越老越吃

5、香的行业 软件测试的高端领域 -性能测试、白盒测试软件测试职业 手工测试与自动化测试 -手工测试80-90%(重点) -专职做自动化测试和性能测试的仅占1% -兼职做自动化测试和性能测试的占20-30% 黑盒测试与白盒测试 -白盒测试不足5%,主要由开发人员完成 -企业中职位主要是黑盒测试合格软件测试工程师主要技能 w测试需求分析能力w测试用例设计能力w测试用例执行能力w缺陷描述能力测试工程师必须做的四个核心工作 wTest Plan -Mgr, leaderwTest case -every one,刚开始可以是执行,等熟练了才会writewBug-Every onewER report-M

6、gr,leader软件测试过程课程介绍 软件测试的方法 黑盒测试、白盒测试 自动化测试工具的使用 loadrunner、junit 概念,理论,会讲的比较快,理解并掌握重要的基本概念,重点学会测试用例的设计、执行和缺陷描述。课程要求 考勤:15% 作业、实验报告:15% 考试:70% 参考书或网站: 1 软件测试方法与技术实践指南王顺等 编著,清华大学出版社 2010.7 2 软件测试技术基础陈汶滨等编著,清华大学出版社 3软件测试(美)Ron Patton著,张小松译,机械工业出版社2006. 4 软件测试发展历程w1. 软件测试的发展历程 20世纪50-60年代 软件测试才开始与调试区别开

7、来,成为一种发现软件缺陷的活动 70年代以后 软件技术的成熟和完善使得软件测试的规模和复杂度加大,软件测试也逐渐形成了一套完整的体系,逐渐走向规范化。20世纪80年代早期 “质量”的号角才开始吹响 20世纪90年代 测试工具终于盛行起来 软件测试基本概念 软件 软件缺陷(Bug) 软件测试 测试环境 测试用例软件软件=程序?软件=程序+文档w软件测试并不等于程序测试 软件缺陷(Bug) 为什么把软件缺陷称为Bug? -1945年,第一次计算机死机是由一只飞蛾引起的,此后将计算机错误称为Bug(当时还不是一台真正的计算机,1946年诞生世界上第一台计算机)。 什么是软件缺陷? -没有实现需求规格

8、说明书中需要实现的功能 -实现了需求规格说明书中没有提到的功能 -实现了基本功能,但未实现一些虽未明确规定但应该实现的目标,如软件难以理解,不易使用,运行缓慢等 功能错误 性能差 操作不方便 数据传输不安全 界面不好看 。缺陷不仅仅是不能使用软件缺陷产生的原因其他其他10%软件产品说明软件产品说明书(需求)书(需求)56%编写代码编写代码7%设计设计27%NoImageSoftware Testing软件测试就是对被测软件的认知活动19601960197019701990199020002000软件测试就是找软件的缺陷软件测试就是通过发现软件缺陷提升软件质量软件测试就是看软件是否可使用什么是软

9、件测试?1960:软件是否可用穷举测试无法通过测试保证所有人使用都不会有问题1970:找缺陷 找到的缺陷越多,工作量越大 缺陷成为测试工程师和开发工程师之间的冲突点 缺陷多的软件往往用户抱怨也多带来问题 测试工程师尽早发现缺陷 测试工程师帮助开发工程师快速修复缺陷 开发工程师通过缺陷分析提升开发质量,减少引入缺陷数1990:提升软件质量软件测试存在的意义?2000:认知活动对被测软件的认知程度决定了测试的好坏如何驾驶内部构造工作原理测试环境 项目软件:按照系统的最终使用环境来测试 产品软件:要考虑各种情况,硬件、软件以及是否需要网络测试用例(Test Case) 定义:在测试执行之前设计的一套

10、详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果 测试用例=输入+输出+测试环境 -输入:测试数据和操作步骤 -输出:期望结果 -测试环境:系统环境设置 设计测试用例是创造性劳动,而执行测试用例是体力劳动,设计测试用例是软件测试的关键 软件测试的原则w1.所有的测试都应追溯到用户的需求 系统中最严重的错误是那些导致程序无法满足用户需求的错误。 w2.尽早地和不断地进行软件测试 需求和设计时出现的缺陷占很大的比例; 缺陷的修改成本随着阶段的推移将急剧上升; 缺陷具有放大的特点;w3.不可能完全的测试 输入量太大 执行路径太多软件测试最致命的缺陷就是:软件测试最致命的缺陷就是: 不能进行彻底的测试。不能进行彻底的测试。 为什么不可能做穷举测试为什么不可能做穷举测试循环次数循环次数0 1220 独立路径数独立路径数51+52+53+5211014每个测试用例(考虑、执行、验证结果)每个测试用例(考虑、执行、验证结果)5分钟分钟 共需测试时间共需测试时间10亿年亿年M1D1D2D3D4M2M3M4M5M6M7D5=20次次w4.80-20

温馨提示

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

评论

0/150

提交评论