软件测试工程师入门之软件测试基础_第1页
软件测试工程师入门之软件测试基础_第2页
软件测试工程师入门之软件测试基础_第3页
软件测试工程师入门之软件测试基础_第4页
软件测试工程师入门之软件测试基础_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、软件测试工程师入门之软件测试基础责任编辑: HYPERLINK /user/%cf%fe%d0%dc/ 晓熊作者:ITPUB论坛 HYPERLINK /10004/2009/2009-04-14.shtml 2009-04-14 【内容导航】 第1页: HYPERLINK /a2009/0414/272/000000272122.shtml o 软件测试概述 软件测测试概述 第2页: HYPERLINK /a2009/0414/272/000000272122_1.shtml o 软件测试的类型 软件测测试的类型 文本Tag: HYPERLINK /lists/5987/0/5987.shtm

2、l 软件测试 【IT1668 技术文文档】一、 HYPERLINK / o 软件 软件测测试概述软件测试是是软件开发过过程的重要组组成部分,是是用来确认一一个程序的品品质或性能是是否符合开发发之前所提出出的一些要求求。软件测试试的目的,第第一是确认软软件的质量,其其一方面是确确认软件做了了你所期望的的事情(Doo the rightt thinng),另一一方面是确认认软件以正确确的方式来做做了这个事件件(Do iit rigght)。第第二是提供信信息,比如提提供给开发人人员或程序经经理的反馈信信息,为风险险评估所准备备的信息。第第三软件测试试不仅是在测测试软件产品品的本身,而而且还包括软软

3、件开发的过过程。如果一一个软件产品品开发完成之之后发现了很很多问题,这这说明此软件件开发过程很很可能是有缺缺陷的。因此此软件测试的的第三个目的的是保证整个个软件开发过过程是高质量量的。软件质量是是由几个方面面来衡量的:一、在正确确的时间用正正确的的方法法把一个工作作做正确(DDoing the rright thinggs rigght att the rightt timee.)。二、符符合一些应用用标准的要求求,比如不同同国家的用户户不同的操作作习惯和要求求,项目工程程中的可维护护性、可测试试性等要求。三三、质量本身身就是软件达达到了最开始始所设定的要要求,而代码码的优美或精精巧的技巧并并

4、不代表软件件的高质量(Qualiity iss defiined aas connformaance tto reqquiremments, not as “goodnness” or “elegaance”.)。四、质质量也代表着着它符合客户户的需要(QQualitty alsso meaans “meet custoomer nneeds”.)。作为为软件测试这这个行业,最最重要的一件件事就是从客客户的需求出出发,从客户户的角度去看看产品,客户户会怎么去使使用这个产品品,使用过程程中会遇到什什么样的问题题。只有这些些问题都解决决了,软件产产品的质量才才可以说是上上去了。测试人员在在软件开发

5、过过程中的任务务:1、寻找BBug;2、避免软软件开发过程程中的缺陷;3、衡量软软件的品质;4、关注用用户的需求。总的目标是是:确保软件件的质量。二、常用的的软件测试方方法1. 黑盒盒测试黑盒测试顾顾名思义就是是将被测系统统看成一个黑黑盒,从外界界取得输入,然然后再输出。整整个测试基于于需求文档,看看是否能满足足需求文档中中的所有要求求。黑盒测试试要求测试者者在测试时不不能使用与被被测系统内部部结构相关的的知识或经验验,它适用于于对系统的功功能进行测试试。黑盒测试的的优点有:1)比较简简单,不需要要了解程序内内部的代码及及实现;2)与软件件的内部实现现无关;3)从用户户角度出发,能能很容易的知

6、知道用户会用用到哪些功能能,会遇到哪哪些问题;4)基于软软件开发文档档,所以也能能知道软件实实现了文档中中的哪些功能能;5)在做软软件自动化测测试时较为方方便。黑盒测试的的缺点有:1)不可能能覆盖所有的的代码,覆盖盖率较低,大大概只能达到到总代码量的的30%;2)自动化化测试的复用用性较低。2. 白盒盒测试白盒测试是是指在测试时时能够了解被被测对象的结结构,可以查查阅被测代码码内容的测试试工作。它需需要知道程序序内部的设计计结构及具体体的代码实现现,并以此为为基础来设计计测试用例。如如下例程序代代码:HRESUULT Pllay( cchar* pszFiileNamme )if ( NULL

7、 = psszFileeName )returrn;if ( STATEE_OPENNED = currrentSttate )PlayTTheFille();returrn;读了代码之之后可以知道道,先要检查查一个字符串串是否为空,然然后再根据播播放器当前的的状态来执行行相应的动作作。可以这样样设计一些测测试用例:比比如字符串(文件)为空空的话会出现现什么情况;如果此时播播放器的状态态是文件刚打打开,会是什什么情况;如如果文件已经经在播放,再再调用这个函函数会是什么么情况。也就就是说,根据据播放器内部部状态的不同同,可以设计计很多不同的的测试用例。这这些是在纯粹粹做黑盒测试试时不一定能能做到

8、的事情情。白盒测试的的直接好处就就是知道所设设计的测试用用例在代码级级上哪些地方方被忽略掉,它它的优点是帮帮助软件测试试人员增大代代码的覆盖率率,提高代码码的质量,发发现代码中隐隐藏的问题。白盒测试的的缺点有:1)程序运运行会有很多多不同的路径径,不可能测测试所有的运运行路径;2)测试基基于代码,只只能测试开发发人员做的对对不对,而不不能知道设计计的正确与否否,可能会漏漏掉一些功能能需求;3)系统庞庞大时,测试试开销会非常常大。3. 基于于风险的测试试基于风险的的测试是指评评估测试的优优先级,先做做高优先级的的测试,如果果时间或精力力不够,低优优先级的测试试可以暂时先先不做。有如如下一个图,横

9、横轴代表影响响,竖轴代表表概率,根据据一个软件的的特点来确定定:如果一个个功能出了问问题,它对整整个产品的影影响有多大,这这个功能出问问题的概率有有多大?如果果出问题的概概率很大,出出了问题对整整个产品的影影响也很大,那那么在测试时时就一定要覆覆盖到。对于于一个用户很很少用到的功功能,出问题题的概率很小小,就算出了了问题的影响响也不是很大大,那么如果果时间比较紧紧的话,就可可以考虑不测测试。基于风险测测试的两个决决定因素就是是:该功能出出问题对用户户的影响有多多大,出问题题的概率有多多大。其它一一些影响因素素还有复杂性性、可用性、依依赖性、可修修改性等。测测试人员主要要根据事情的的轻重缓急来来

10、决定测试工工作的重点。4. 基于于模型的测试试模型实际上上就是用语言言把一个系统统的行为描述述出来,定义义出它可能的的各种状态,以以及它们之间间的转换关系系,即状态转转换图。模型型是系统的抽抽象。基于模模型的测试是是利用模型来来生成相应的的测试用例,然然后根据实际际结果和原先先预想的结果果的差异来测测试系统,过过程如下图所所示。三、 HYPERLINK / o 软件 软件测试的的类型常见的软件件测试类型有有:BVT (Buildd Veriificattion TTest)BVT是在在所有开发工工程师都已经经检入自己的的代码,项目目组编译生成成当天的版本本之后进行,主主要目的是验验证最新生成成

11、的软件版本本在功能上是是否完整,主主要的软件特特性是否正确确。如无大的的问题,就可可以进行相应应的功能测试试。BVT优优点是时间短短,验证了软软件的基本功功能。缺点是是该种测试的的覆盖率很低低。因为运行行时间短,不不可能把所有有的情况都测测试到。Scenaario TTests(基于用户实实际应用场景景的测试)在做BVTT、功能测试试的时候,可可能测试主要要集中在某个个模块,或比比较分离的功功能上。当用用户来使用这这个应用程序序的时候,各各个模块是作作为一个整体体来使用的,那那么在做测试试的时候,就就需要模仿用用户这样一个个真实的使用用环境,即用用户会有哪些些用法,会用用这个应用程程序做哪些事

12、事情,操作会会是一个怎样样的流程。加加了这些测试试用例后,再再与BVT、功功能测试配合合,就能使软软件整体都能能符合用户使使用的要求。SScenarrio Teests优点点是关注了用用户的需求,缺缺点是有时候候难以真正模模仿用户真实实的使用情况况。Smokee Testt在测试中发发现问题,找找到了一个BBug,然后后开发人员会会来修复这个个Bug。这这时想知道这这次修复是否否真的解决了了程序的Buug,或者是是否会对其它它模块造成影影响,就需要要针对此问题题进行专门测测试,这个过过程就被称为为Smokee Testt。在很多情情况下,做SSmoke Test是是开发人员在在试图解决一一个问

13、题的时时候,造成了了其它功能模模块一系列的的连锁反应,原原因可能是只只集中考虑了了一开始的那那个问题,而而忽略其它的的问题,这就就可能引起了了新的Bugg。Smokke Tesst优点是节节省测试时间间,防止buuild失败败。缺点是覆覆盖率还是比比较低。此外,Appplicaation Compaatibillity TTest(兼兼容性测试),主要目的的是为了兼容容第三方软件件,确保第三三方软件能正正常运行,用用户不受影响响。Acceessibiility Test(软件适用性性测试),是是确保软件对对于某些有残残疾的人士也也能正常的使使用,但优先先级比较低。其其它的测试还还有Funcct

14、ionaal Tesst(功能测测试)、Seecuritty Tesst( HYPERLINK / o 安全 安全性测试)、Streess Teest(压力力测试)、PPerforrmancee Testt(性能测试试)、Reggressiion Teest(回归归测试)、SSetup/Upgraade Teest(安装装升级测试)等。四、微软的的软件测试工工作1. 基本本情况测试在微软软公司是一项项非常重要的的工作,微软软公司在此方方面的投入是是非常巨大的的。微软对测测试的重视表表现在工程开开发队伍的人人员构成上,微微软的项目经经理、软件开开发人员和测测试人员的比比例基本是11:3:3或或1

15、:4:44,可以看出出开发人员与与测试人员的的比例是1:1。对于测测试的重视还还表现在最后后产品要发布布的时候,此此产品的所有有相关部门都都必须签字,而而测试人员则则具有绝对的的否决权。测试人员中中分成两种职职位,Sofftwaree Deveelopmeent Enngineeer in Test(测试组的软软件开发工程程师)实际上上还是属于开开发人员,他他们具备编写写代码的能力力和开发工具具软件的经验验,侧重于开开发自动化测测试工具和测测试脚本,实实现测试的自自动化。Sooftwarre Tesst Enggineerr(软件测试试工程师)具具体负责测试试软件产品,主主要完成一些些手工测试

16、以以及安装配置置测试。2. 测试试计划测试计划是是测试人员管管理测试项目目,在软件中中寻找Bugg的一种有效效的工具。测测试计划主要要有两个作用用,一是评判判团队的测试试覆盖率以及及效率,让测测试工作很有有条理的逐步步展开。二是是有利于与项项目经理、开开发人员进行行沟通。有了了测试计划之之后,他们就就能够知道你你是如何开展展测试工作的的,他们也会会从中提出很很多有益的意意见,确保测测试工作顺利利进行。总之之,有了测试试计划可以更更好的完成测测试工作,确确保用户的满满意度。测试人员在在编写测试计计划之前,应应获得以下文文档:1)程序经经理编写的产产品功能说明明书或产品开开发计划;2)程序经经理或

17、开发人人员提供的开开发进度表。根据产品的的特性及开发发进度安排,测测试人员制定定具体的测试试计划。测试试计划通常包包括以下内容容:1)测试目目标和发布条条件:a. 给出出清晰的测试试目标描述;b. 定义义产品的发布布条件,即在在达到何种测测试目标的前前提下才可以以发布产品的的某个特定版版本。2)待测产产品范围:a. 软件件主要特性/功能说明,即即待测软件主主要特性的列列表;b. 特性性/功能测试试一览,应涵涵盖所有特性性、对话框、菜菜单和错误信信息等待测内内容,并列举举每个测试范范围内要重点点考虑的关键键功能。3)测试方方法描述:a. 定义义测试软件产产品时使用的的测试方法;b. 描述述每一种

18、特定定的测试方法法可以覆盖哪哪些测试范围围。4)测试进进度表:a. 定义义测试里程碑碑;b. 定义义当前里程碑碑的详细测试试进度。5)测试资资源和相关的的程序经理/开发工程师师:a. 定义义参与测试的的人员;b. 描述述每位测试人人员的职责范范围;c. 给出出与测试有关关的程序经理理/开发工程程师的相关信信息。6)配置范范围和测试工工具:a. 给出出测试时使用用的所有计算算机平台列表表;b. 描述述测试覆盖了了哪些硬件设设备;c. 测试试时使用的主主要测试工具具。此外,还应应列出测试中中可能会面临临的风险及测测试的依赖性性,即测试是是否依赖于某某个产品或某某个团队。比比如此项测试试依赖性Wii

19、ndowssCE这个 HYPERLINK /list/b/0501_1.shtml o 操作系统 操操作系统,而而这个系统要要明年2月份份才能做好,那那么此项测试试就可能只有有在明年5月月份才能完成成,这样就存存在着依赖关关系。如果那那个团队的开开发计划往后后推,则此项项测试也会被被推迟。3. 测试试用例开发一个好的测测试用例就是是有一个合理理的概率来找找到Bug,不不要冗余,要要有针对性,一一个测试只针针对一件事情情。特别是功功能测试的时时候,如果一一个测试是测测了两项功能能,那么如果果测试结果失失败的话,就就不知道到底底是哪项功能能出了问题。测试用例开开发中主要使使用的技术有有等价类划分分

20、,边界值的的分析,Errror GGuessiing Teestingg。等价类划分分是根据输入入输出条件,以以及自身的一一些特性分成成两个或更多多个子集,来来减少所需要要测试的用例例个数,并且且能用很少的的测试用例来来覆盖很多的的情况,减少少测试用例的的冗余度。在在等价类划分分中,最基本本的划分是一一个为合法的的类,一个为为不合法的类类。边界值的分分析是利用了了一个规律,即即程序最容易易发生错误的的地方就是在在边界值的附附近,它取决决于变量的类类型,以及变变量的取值范范围。一般对对于有n个变变量时,会有有6n+1个个测试用例,取取值分别是mmin-1, min, min+1, noormal

21、, max-1, maax,maxx+1的组合合。边界值的的分析的缺点点,是对逻辑辑变量和布尔尔型变量不起起作用,还有有可能会忽略略掉某些输入入的组合。Errorr Guesssing Testiing完全靠靠的是经验,所所设计的测试试用例就是常常说的猜测。感感觉到软件在在某个地方可可能出错,就就去设计相应应的测试用例例,这主要是是靠实际工作作中所积累的的经验和知识识。其优点是是速度快,只只要想得到,就就能很快设计计出测试用例例。缺点就是是没有系统性性,无法知道道覆盖率会有有多少,很可可能会遗漏一一些测试领域域。实际上在微微软是采用一一些专门的软软件或工具负负责测试用例例的管理,有有一些测试信

22、信息可以被记记录下来,比比如测试用例例的简单描述述,在哪些平平台执行,是是手工测试还还是自动测试试,运行的频频率是每天运运行一次,还还是每周运行行一次。此外外还有清晰的的测试通过或或失败的标准准,以及详细细记录测试的的每个步骤。4. Buug跟踪过程程在软件开发发项目中,测测试人员的一一项最重要使使命就是对所所有已知Buug进行有效效的跟踪和管管理,保证产产品中出现的的所有问题都都可以得到有有效的解决。一一般地,项目目组发现、定定位、处理和和最终解决一一个Bug的的过程包括BBug报告、BBug评估和和分配、Buug处理、BBug关闭等等四个阶段:1)测试工工程师在测试试过程中发现现新的Bugg后,应向项项目组报告该该Bug的位位置、表现、当当前状态等信信息。项目组组在Bug数数据库中添加加该Bug的的记录。2)开发经经理对已发现现的Bug进进行集中讨论论,根据Buug对软件产产品的影响来来评估Bugg的优先级,制制定Bug的的修正策略。按按照Bug的的优先级顺序序和开发人员员的工作安排排,开发经理理将所有需要要立即处理的的Bug分配配给相应的开开发工程师。3)开发工工程师根据安安排对特定的的Bug进行行处理,找出出代码中的错错误原因,修修改代码,重重新生成产品品版

温馨提示

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

评论

0/150

提交评论