您的当前位置:首页软件测试技术的分析

软件测试技术的分析

2023-11-10 来源:小侦探旅游网
计算机光盘软件与应用 2011年第3期 Computer CD Software and Appl icat ions 工程技术 软件测试技术的分析 王海燕 (大连交通大学,辽宁大连116000) 摘要:软件测试是质量保证活动的一个重要环节,是提高软件可靠性的主要手段之一。本文介绍了软件测试的定义、 意义、目标和原则以及方法和软件测试过程中关键技术,并阐述了作者的一些认识。 关键词:软件测试;测试目标;测试原则;测试方法;测试过程 中图分类号:TP311 文献标识码:A 文章编号:1007—9599(2011)03—0057—02 Analysis of Software Test Technology Wang Haiyan (Dalian Jiaotong University,Dalian 1 1 6000,China) Abstract:Software test is an important part of the activities for quality assurance and is the primary means tO improve the reliability of software.This paper introduces the deifniiton of software test,signiifcance,objectives and principles and methods and software test process,key technologies,and expounded on some understanding of hte author. Keywords:Software test;Testing target;Testing principle;Testing methods;Testing process 一、软件测试的定义和意义 试的测试人员要有不亚于开发人员的技术背景和对代码的熟悉程 软件测试是伴随着软件工程的重要组成部分,是软件质量保 度。 证的重要前提。软件测试是为了尽快尽早地发现在软件产品中所 (二)黑盒测试 存在的各种软件缺陷而展开的贯穿整个软件开发生命周期,对软 黑盒测试是把软件开成一个黑盒子,不考虑程序的内部结构 件产品进行验证和确认的活动过程。在开发大型系统的过程中, 与执行路径如何,根据输入/输出数据条件来设计测试用例,查看 面对复杂的现实情况,软件生存周期的各个阶段都有可能产生差 程序的功能是否正确或满足用户要求,因此也称作功能驱动或数 错。需求分析、概要设计、详细设计以及程序编码等各阶段得到 据驱动测试方法。黑盒测试主要用于软件确认测试,方法有等价 的文档,包括需求规格说明、概要设计说明、详细设计规格说明 类划分、边界值分析、错误推测法、因果图法等。黑盒测试对和 以及源程序都是软件测试的对象。因此它也是软件开发的一个重 数要求不高,如何在对系统结构不了解的情况下,设计测试过程 要环节,是最有效地排除和防治软件缺陷的手段。 才是黑盒测试最核心的部分。 (一)软件测试的目标和原则 (三)自动测试 1.软件测试目标 在业务量很大的情况下,需要测试数据或者测试输入时,自 以最少的时间和人力,尽可能多的发现程序中的错误和缺陷。 动测试就是一个最佳的选择。 测试还要证明,软件的功能和性能与需求说明相符合。 自动测试是可重复性的测试并且有着很高的速度与效率。但 2.软件测试原则 是自动测试也有一些缺点。前期要花费购买工具,并且测试脚本 测试既不要不充分,也不要过分。在通常情况下,在分析、 的开发需要投入很多时间和人力 设计、实验阶段的复审和测试工作能够发现和避免80%的bug,而 (四)压力测试 系统的软件测试能找到其余bug的80%,最后约5%的bug只有在 压力测试指为了某个单一的目的,大强度地重复性的使用软 用户大范围、长时间的使用后才会暴露出来。应该把“尽早和不 件的某一功能,以发现该功能在压力条件下的性能指标。软件上 断地进行测试”作为开发者的座右铭,问题发现的越早,解决问 市前对不够自信的功能进行专项的,不顾逻辑的,无所不用其极 题的代价就越小。彻底的测试是不可能的,但充分覆盖程序逻辑, 的对待待测软件。或者是软件上市后对客户反馈的模糊信息进行 并确保软件的所有条件是有可能的。所有的测试都应该追溯到用 集中的测试以精确定位问题。 户需求。测试应从“小规模”开始,逐步转向“大规模”,应针对 (五)功能测试 每个测试结果做全面检查。 功能测试是指测试软件各个功能模块是否正确,逻辑是否正 二、软件测试的方法 确。对测试对象的功能测试应侧重于所有可直接追踪到用例或业 软件测试的方法和技术是多种多样的,从大的分类上来说, 务功能和业务规则的测试需求。这种测试的目标是核实数据的接 分为白盒测试和黑盒测试。在自盒测试和黑盒测试的大范畴之内, 受、处理和检索是否正确,以及业务规则的实施是否恰当。此类 还可以分为自动测试、手工测试、压力测试、协议一致性测试、 测试基于黑盒技术,该技术通过图形用户(GUI)与应用程序进行 互操作性测试、现场测试、用户界面测试、文档测试等等。对于 交互,并对交互的输出或结果进行分析,以此来核实应用程序及 不同的项目和不同的阶段来说,往往需要用到不同的测试手段。 其内部进程。 (一)白盒测试 (六)性能测试 白盒测试是把软件看成一个白盒子,在完全知道软件结果的 性能测试主要测试软件的性能指标是否达到预期要求。包括 情况下,通过分析程序内部的逻辑与执行路径来设计测试用户, 负载测试,强度测试,数据库容量测试,以及基准测试。 并对用例进行测试的方法,所以也称结构测试或者数据驱动测试。 (七)用户界面测试(UI测试) 白盒测试主要用于单元测试,方法有逻辑覆盖和路径测试。其中 uI测试是对用户界面的风格、图片、背景、文字的测试。用 逻辑覆盖包括:语句覆盖、判定覆盖、条件覆盖、点覆盖、边覆 户界面测试用于合适用户与软件之间的交互。一般有这样一些指 盖等 白盒测试的缺点是投入人力资源的难度很大,执行白盒测 标,第一是界面的有效性,第二是界面的连贯性,第三是界面传 一57一 计算机光盘软件与应用 工程技术 Computer CD Software and Appl icat ions 2011年第3期 统型。主要包括用户界面的友好性,人性化,易操作性等方面的 测试方法是黑盒测试。为了尽可能多的发现你只有用户在使用系 测试。 统过程中才能发现的问题,还会采用a测试和B测试。a测试是 (八)文档测试 用户参与开发场所的测试,用户在使用程序的时候发现的错误都 文档测试是对伴随软件同事提供给用户的各种使用手册、说 会被开发人员记录下来,作为修改的根据。13测试部分用户在实 明书、须知等进行的测试。文档测试是为了避免文档描述和软件 际使用的过程中发现的问题,比如界面是否友好,是否满足用户 系统实际不一致的情况发生。 的使用习惯,由用户把出现的问题记录下来,反馈给开发者,开 三、软件测试过程 发者对软件进行必要的修改之后才正式发布软件产品。 软件测试步骤为:单元测试、集成测试、确认测试、系统测 (四)系统测试 试。 系统测试是经过了前面的测试过程之后,软件系统已经基本 (一)单元测试 符合要求,进行系统测试的目的是测试软件安装之后,能否与系 单元测试也称模块测试,是针对软件设计的最小单元程序模 统的其余部分协调工作,以及对系统运行可能出现的各种情况的 块进行测试的工作。目的是检查出模块内部的错误,修改这些错 处理能力。系统测试主要是有恢复测试,安全测试,强度测试, 误使得程序正确运行。单元测试可以从5个方面进行。模块接口 性能测试等。 测试、局部数据结构测试、路径测试、程序异常测试、边界条件 四、如何避免在测试过程中出现的影响测试质量的因素发生 测试。模块接口测试通过测试用例和输出结果,查看输出结果是 测试的计划阶段,是测试项目管理中最为重要的阶段。在此 否正确。局部数据结构测试是通过检查模块的局部数据结构来查 阶段中,测试组的建立,测试范围的选择,测试组的培训,测试 看错误的来源。路径测试设计一些有代表性的测试用例,尽量覆 平台的选择和配置,测试技术和工具的选择,测试执行的日程和 盖模块中的路径,重点检查各种逻辑情况的判定、循环条件等等, 进度,测试用份的设计,维护和更新,测试环境的设计和搭建, 来发现程序执行的逻辑错误。程序异常测试就是检查程序隐藏的 测试文档的格式和提交时间,测试入口/出口的checklist,测试 错误和异常的情况。边界条件测试就是说检测数据的取值范围的 组成员的管理和激励机制,测试过程的流程和定义,测试过程的 最大值,最小值,n次循环语句的第n次执行等等。单元测试是 质量监控都是保证测试过程顺利进行的必要条件。 基础的,相当重要的测试,测试好的模块,可以完成更加强大的 五、结束语 功能。 软件测试是一项重要而且复杂的工作,并且要求测试人员细 (二)集成测试 致谨慎。随着软件规模和复杂性的日益增加,对软件溯试过程也 集成测试也称组装测试,就是按照一定的策略对单元测试的 有着越来越高的要求。这更需要软件测试人员积累丰富的经验, 模块进行组装,并在组装过程中进行模块接口与系统功能测试。 选择正确的策略和测试方法进行测试工作。如何在软件开发项目 集成测试的策略主要有两种方式,分为一次性组装方式和增值式 中有序地管理和分析各种问题对质量控制和过程改进也将越来越 组装方式。 ~ 重要。 (三)确认测试 参考文献: 确认测试也称为有效性测试,目的是验证软件的功能和性能 [1】朱少民.软件测试方法和技术.北京:清华大学出版社,2005 是否满足客户的要求。确认测试是用户参加的测试过程,采用的 【2]贺平.软件测试技术【M】.北京:机械工业出版社,2004 (上接第49页) <Pr0pertyIsEqualT0>查询方式需要变一下。 建筑物算法的确定是根据《建筑工程抗震设防分类标准》、《建 五、实现及结果 筑抗震鉴定标准》、《建筑抗震设计规范》(2008年版)、《危险房屋 文本介绍的系统前台采用javascript的Ext框架,地图API 鉴定标准》(2004年版)。建筑物主表的字段的确定也是参考以上文 采用OpenLayers,后台采用Java的structs及spring框架,基 档的内容,关键字段包括使用情况、裂缝情况、设防烈度、建成时 于PostGIS、GeoServer开发了青岛市建(构)筑物抗震普查地理 间等等,对不同的字段进行分类首先,对于表中的字段信息进行分 信息信息系统。 类,主要分为A、B、c、D、E五类,A类为严重抗震不利信息,B 参考文献: 类为较严重抗震不利信息,c为普通抗震不利信息,D为基础信息, [1]Shashi Shekha ̄Sanjay Chawla.空间数据库[M1.谢昆青.北京: E为有利信息。对这五类信息在进行统计,统计出A类字段有多少, 机械工业出版社,2004 B类字段有多少,再根据评定的标准得出此建筑物是否需要鉴定。 【2】刘南,刘仁义.WebGIS原理及其应用——主要WebGIS平台 (--)专题图的展示 开发实例【MI.科学出版社,2002 对于专题图的展示主要使用GeoServer提供的WMS服务及SLD [3]Open GIS Consortium.Web feature service implementation 样式展示,用户可以对不同专题进行选择以及同一个专题下不同 specification.http://WWW.opengis.org 类别选择。此处主要是使用SLD过滤器方法定制出用户想要的专 [41Open GIS Consortium.Web MAP service implementation 题。在wMs的GET请求后面加上“&filter=<FiIter></Fiiter>”, specification.http://www.opengis.org 在Filter中问写入相应的SLD查询语即可,比如: 【5】韩海洋,龚健雅,袁相儒.基于B/S体系的Internet GIS分布式 “&fi1ter=<Fi1ter><PropertyIsEqualTo><PropertyName>字段 异构空间数据库的集成【J】.遥感学报,2000,1:76 名</PropertyName><Literal>过滤条件</Literal></Property 【6】陈芳,徐学军.XML/JAVA技术在WebGis中的应用与实现 IsEqualTo></FiIter>”,此过滤的意思为查询表中某个字段的值 [J].电力系统及其自动化学报,2003,15,1:46.50  ’为过滤条件的记录,并将它展现在地图上,以上只是SLD简单使 [7】许春杰,邹乐君,沈晓华.基于Web Service的WebGIS[J]测绘 用,其他的比如空间查询方面的使用也形如上面的表达式,只是 通报,2003,1:41_43 —58— 

因篇幅问题不能全部显示,请点此查看更多更全内容