软件测试基础知识

上传人:M****1 文档编号:585782286 上传时间:2024-09-03 格式:PPT 页数:40 大小:199.50KB
返回 下载 相关 举报
软件测试基础知识_第1页
第1页 / 共40页
软件测试基础知识_第2页
第2页 / 共40页
软件测试基础知识_第3页
第3页 / 共40页
软件测试基础知识_第4页
第4页 / 共40页
软件测试基础知识_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《软件测试基础知识》由会员分享,可在线阅读,更多相关《软件测试基础知识(40页珍藏版)》请在金锄头文库上搜索。

1、软件测试基础知识课程内容v软件测试概述v软件测试类型v软件测试流程v常用软件测试工具v开发与测试VS矛与盾课程目标v了解软件测试价值v了解软件测试的基本概念 v了解常用的软件测试类型、流程和工具v理解软件测试与软件开发的相互关系课程内容v软件测试概述软件测试概述v软件测试类型v软件测试流程v常用软件测试工具v开发与测试VS矛与盾怎么就叫软件质量好?什么是软件缺陷?你对软件测试的理解?小插曲软件质量软件质量l站在研发流程的角度来看,就是做正确的事情,并一次把事情做好。如果能一次把事情做对做好,效率能提升,成本会下降。l站在最终用户的角度来看,软件产品质量在于客户需求的满足度,客户越满意,说明产品

2、质量越好,企业效益将越好。l通俗理解:高品质软件应该是相对的无产品缺陷或只有极少量的缺陷,它能够准时递交给客户,所花费用都在预算内,并且满足客户需求,是可维护的。但是,有关质量好坏的最终评价依赖于用户的反馈。v英特尔奔腾CPU 计算机芯片被发现有浮点除法软件缺陷。 1994v迪斯尼的狮子王游戏软件缺陷软件在极少数系统中工作正常-例如在迪斯尼程序员用来开发游戏的系统中但在大多数公众使用的系统中却不能运行。 1994经典软件缺陷案例v千年虫问题为了节省大量的存储空间,将4位数年份,例如1973年,缩减为2位数,73 19841984v美国航天局火星极地登陆美国航天局火星极地登陆由于确定何时关闭推进

3、器的程序中某一个数据位由于确定何时关闭推进器的程序中某一个数据位被意外修改,飞船在试图登陆火星表面失踪被意外修改,飞船在试图登陆火星表面失踪 1999 1999经典软件缺陷案例什么是软件缺陷?l软件未达到产品设计规范表明的功能;l软件出现了产品设计规范指明不会出现的错误;l软件功能超出产品设计规范指明的范围;l软件未达到产品设计规范虽未指出但应达到的目标;l软件测试人员认为软件难以理解、不易使用、运行速度慢,或者最终用户认为不好。无法重现的问题是不是软件缺陷无法重现的问题是不是软件缺陷?为什么会出现软件缺陷?需求变化缺乏交流设计错误文档缺乏缺陷软件复杂开发工具时间压力软件缺陷的修复费用软件测试

4、的目的l从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可以接受该产品。l从软件开发者的角度出发,则希望成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。软件测试的价值l站在用户角度,高标准要求,保证客户满意度。l站在开发角度,确保系统按照设计实现。l尽可能早的发现软件缺陷,并确保其得以实现。课程内容v软件测试概述v软件测试类型软件测试类型v软件测试流程v常用软件测试工具v开发与测试VS矛与盾软件测试的定义软件测试的定义软件测试(Software testing)是软件生存期中的一个重要阶段,是投入运行前,软件质量保证

5、的关键步骤。通俗地讲,软件测试就是在软件对软件需求分析、设计规格说明和编码进行最终复审的活动。1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统或系统部件的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。软件测试的对象软件测试不等于程序测试,软件测试贯穿于软件定义和开发的整个期间。需求分析,概要设计,详细设计,以及程序编码等各个阶段所得到的文档,包括需求规格说明,概要设计规格说明,详细设计规格说明以及源程序,都是软件测试的对象.软件测试的对象12345用户需求用户:我要什么?理解正确性理解正确性表达正确性表达

6、正确性需求说明书需求分析员:我可以提供什么?设计说明书设计员:我要软件做什么?源程序程序员:我要要让计算机怎么做?运行结果计算机:程序运行得到的结果理解正确性理解正确性设计正确性设计正确性表达正确性表达正确性理解正确性理解正确性编码正确性编码正确性运行正确性运行正确性输入正确性输入正确性相符合么?相符合么?软件测试的目的基于不同的立场,存在着两种完全不同的测试目的。从用户(测试人员)的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。 从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信

7、心。 软件测试的目的想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。实施测试收集到的测试结果数据为可靠性分析提供了依据。测试不能表明软件中不存在错误,它只能说明软件中存在错误。软件测试的原则测试的目的在于发现错误 ,应尽早地和不断地进行测试 充分注意测试中的群集现象经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。所有的测试都应可追溯到客户需求 穷举测试是不可能的 严格执行测试计划,排除测试的随意性。应当对每一个测试结果做全面检查。妥善保存测试计划

8、,测试用例,出错统计和最终分析报告,为维护提供方便。课程内容v软件测试概述v软件测试类型软件测试类型v软件测试流程v常用软件测试工具v开发与测试矛盾的对立与统一软件测试类型按照是否需要执行被测软件的角度分类:l静态测试:通过对被测程序的静态审查,发现代码中潜在的错误。它一般用人工方式脱机完成,也可借助于静态分析器在机器上以自动方式进行检查,但不要求程序本身在机器上运行l动态测试:测试的对象必须是能够由计算机真正运行的被测试的程序,动态测试又分为黑盒测试和白盒测试,也是我们下面将要介绍的内容软件测试类型根据测试方式分:l白盒测试:关心软件内部设计和程序实现,主要测试依据是设计文档l黑盒测试:不关

9、心软件内部,只关心输入输出,主要测试依据是需求文档 软件测试类型根据测试策略和测试阶段划分:l单元测试、集成测试、系统测试、验收测试。是“从小到大”、“由内至外”、“循序渐进”的测试过程,体现了“分而治之”的思想。 l单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。 l集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既要验证“设计”又要验证“需求”。 l系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。l验收测试与系统测试非常相似,主要区别是测试人员不同,验收测试

10、由用户执行。 软件测试个阶段测试重点课程内容v软件测试概述v软件测试类型v软件测试流程软件测试流程v常用软件测试工具v开发与测试VS矛与盾Life Cycle Testing测试生命周期UserRequirementsoftwareRequirementDesignProgramUnit DesignCodingUnitTestingIntegrationTestingSystemTestingAcceptanceTestingPrepare planVerifyPrepare planVerifyPrepare planVerify测试流程l测试需求分析:测试什么l测试设计:如何测l测试执行

11、:具体执行l测试评估:软件质量如何,测试过程如何lPTM测试流程,有兴趣的可以看看:测试输出的文档l测试计划:指明范围、方法、资源,以及相应测试活动的时间进度安排表的文档。l总体测试策略:确定测试什么,怎么设计,如何执行,如何规避风险,应对变化的方法比如时间紧人力不足。l测试方案:指明为完成软件或软件集成特性的测试而进行的设计测试方法的细节文档。l测试用例:指明为完成一个测试项的测试输入、预期结果、预期执行条件等因素的文档。l测试报告:指明执行测试结果的文档。课程内容v软件测试概述v软件测试类型v软件测试流程v常用软件测试工具常用软件测试工具v开发与测试VS矛与盾测试工具的分类v白盒测试工具:

12、对代码的测试v黑盒测试工具:功能和性能上的测试v测试管理工具:对测试计划、测试用例、测试实施进行管理v其他测试工具:专门针对于数据库的测试等工具测试工具lMI公司Winrunner(功能测试)Loadrunner(性能负载测试)Testdirector(测试流程管理)lIBM公司RationallCompuware公司QACenter,包括QARun,QAload,QADirector等模块l其他测试工具微软WAS(WEB服务器负载测试),ACT(微软的Visual Studio 和带的一套进行程序测试的工具 )Rational Test工具用途列表课程内容v软件测试概述v软件测试类型v软件测

13、试流程v常用软件测试工具v开发与测试开发与测试VSVS矛与盾矛与盾开发与测试:矛和盾?开发与测试:矛和盾?l开发人员对自己的程序往往做不到“无情”,但如果测试人员真的做到了“无情”却会引起开发人员的愤怒,遭人白眼。l由于开发与测试存在“对立”关系,开发人员与测试人员很容易产生矛盾,这对项目而言是一种伤害。l但是,如果测试人员与开发人员的关系非常好,可能会导致在测试的时候“手下留情”,这对项目也是一种伤害! 开发与测试:矛和盾开发与测试:矛和盾?测试人员的注意事项:l发现缺陷时不要嘲笑开发人员,别说他的程序真臭、到处是Bug;l在开发人员压力太大时或心情不好时不要火上浇油,发现缺陷时别大声嚷嚷,要本着解决问题的态度。开发人员的注意事项:l不要敌视测试人员,要理解测试的目的就是发现缺陷,是测试人员的工作职责,不是存心找茬;l不要恐惧bug,没有bug的软件是不正常的,有bug的软件才是正常的,要相信bug总有原因,总能修复。矛和盾的统一双赢,项目的成功双赢,项目的成功开发和测试这一矛盾的开发和测试这一矛盾的最好归宿最好归宿谢谢谢谢The end!谢谢!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号