当前位置:文档之家› 军用软件测试现状及对策_李晓丽

军用软件测试现状及对策_李晓丽

军用软件测试现状及对策_李晓丽
军用软件测试现状及对策_李晓丽

 

2008年10月第22卷第5期

装甲兵工程学院学报

J o u r n a l o f A c a d e m y o f A r m o r e dF o r c eE n g i n e e r i n g

O c t .2008

V o l .22N o .5

 

文章编号:1672-1497(2008)05-0066-05

军用软件测试现状及对策

李晓丽 龙 翔 刘 超 李 虎

(北京航空航天大学软件工程研究所,北京100083)

摘 要:随着我军信息化建设深入发展,军用软件的规模和数量空前增长,军用软件的质量建设成为极端重要而紧迫的任务。软件测试是保证软件质量、提高软件可靠性的重要途径和必备手段,但当前无论是在软件测试的认识层面,还是对软件测试的管理和技术支撑等方面,仍然存在着许多问题,软件测试工作形势依然严峻,急需得到改进和加强。在深入分析军用软件测试现状、存在的问题和原因的基础上,综合设计体系结构,研究提出对策措施,为整体推进软件测试工作提供了可行的解决方案。关键词:军用软件;软件测试;测试服务中图分类号:T P 311.5 文献标志码:A

S t a t u s Q u o a n dS o l u t i o n s t o M i l i t a r y S o f t w a r e T e s t i n g

L I X i a o -l i L o n g X i a n g L I UC h a o L I H u

(S o f t w a r e E n g i n e e r i n g I n s t i t u t e ,B e i j i n g U n i v e r s i t y o f A e r o n a u t i c s a n d A s t r o n a u t i c s ,B e i j i n g 100083,C h i n a )

A b s t r a c t :F u t u r e w a r w i l l b e I n f o -W a r ,w h i c hr e q u e s t s t h a t w e m u s t f o r m a ni n f o r m a t i o na r m y .T h e s e

y e a r s ,g l o b a l d e v e l o p m e n t o f s c i e n c e a n dt e c h n o l o g yn o t o n l y p r o m o t e s t h ei n f o r m a t i o nc o n s t r u c t i o no f C h i n e s e a r m y ,b u t a l s o i m p r o v e s t h e s o f t w a r e c o n s t r u c t i o n t o a n e w p h a s e .M o r e o v e r ,t h e s c a l e a n d q u a n -t i t y o f s o f t w a r e f o r a r m y i s c o n t i n u a l l y i n c r e a s i n g ,w h i c h a l s o s e t s a h i g h e r r e q u e s t t o t h e q u a l i t y o f s o f t -w a r e .S o f t w a r e t e s t i n g i s j u s t t h e n e c e s s a r y c o n d i t i o n a n d i m p o r t a n t m e a n s o f e n s u r i n g s o f t w a r e q u a l i t y a n d i m p r o v i n g t h e s o f t w a r e r e l i a b i l i t y .H o w e v e r ,w e s t i l l h a v e m a n y p r o b l e m s i n t h e f i e l d s o f s o f t w a r e t e s t i n g ,s u c h a s o u r u n d e r s t a n d i n g i n s o f t w a r e t e s t i n g ,t h e s o f t w a r e t e s t i n g m a n a g e m e n t ,s o f t w a r e t e s t i n g t e c h n o l o -g y a n d s o o n .T h i s p a p e r e x p o u n d s a n d a n a l y z e s t h e a c t u a l i t y o n s o f t w a r e t e s t i n g o f C h i n e s e a r m y ,t h e e x -i s t i n g p r o b l e m s a n d t h e r e a s o n s ,t h e n p r o p o s e s r e l e v a n t c o u n t e r m e a s u r e s a n d v a l i d a t e s t h e a v a i l a b i l i t y o f c o u n t e r m e a s u r e s t h r o u g h a p p l i c a t i o n s i n p r a c t i c e .

K e y w o r d s :m i l i t a r y s o f t w a r e ;s o f t w a r e t e s t i n g ;t e s t i n g s e r v i c e 收稿日期:2008-06-10

作者简介:李晓丽(1975-),女,北京人,博士研究生.

随着信息技术的推动和世界新军事变革的发展,世界各主要军事强国都开始朝着建设信息化军队的方向发展,制信息权成为夺取未来战场主动权的决定因素,直接决定未来战争的胜负,信息系统(软件)作为战场纷繁复杂信息的“管理者”,其质量的高低影响着信息的获取、传递、处理和使用的全过程,从某种意义上说,信息系统(软件)的可靠与否,对于夺取战场的制信息权有着举足轻

重的作用。

软件测试就是在软件交付用户使用或投入运行前,对软件需求规格说明、设计规格说明和编码的最终复审[1]

,是确保软件质量、提高软件可靠性的关

键步骤,是为了发现软件中存在的错误而执行程序的过程,其最终目的是为了避免错误的发生,确保应用程序能够稳定高效地运行。

军用软件是指为遂行作战任务或业务管理需要

 第5期李晓丽等:军用软件测试现状及对策

而使用的软件系统,主要包括军事指挥系统、业务管理系统和信息化武器装备内嵌的控制系统[2]。随着我军信息化建设的不断深入,军用软件的规模和数量空前增长,其中有许多基础的、优秀的军用软件在部队得到广泛应用,有一些已列入装备,如:为实现信息化条件下一体化联合作战指挥研制的联合作战指挥信息系统、全军各级各部门为提高业务管理水平和质量效能研制的业务管理信息系统。各类信息化装备不断研制成功并装备部队,其本身内嵌的控制系统也不断增多,军用软件正呈现出多样化、复杂化和智能化等特点,其质量直接影响着军事指挥和武器装备作战效能的发挥。软件测试是保证软件质量、提高软件可靠性的重要途径和必备手段,尤其是对即将列装的软件,必须进行严格的测试,否则存在的质量隐患会影响软件的使用,甚至造成不可挽回的损失。因此确保军用软件质量是科研人员在进行军用软件研制过程中的一项重要任务。

笔者通过对当前我军软件测试现状的分析,查找出军用软件测试中存在的问题,并针对这些问题制定了相应的对策和措施,最后通过案例说明所制定的对策和措施对于确保软件质量、提高软件可靠性的有效性和可行性。

1 军用软件测试的现状

当前,随着军用软件种类、功能和复杂性的增加,全军各级部门都充分认识到软件测试的重要性,软件测试在军队也越来越受到重视。2004年,总参、总装所属的多家科研单位首批通过全军军用软件测评认证,率先成立了全军第一批软件测评实验室。之后,各大单位也分别成立了相应组织,作为软件测试和评价的专职机构,对确保我军软件质量、提高软件可靠性起到了积极的促进作用。但由于我军军用软件测试起步较晚,测试技术落后,测试人员匮乏,测试管理不完善,与地方专业软件测试机构还有相当大的差距,仍然存在许多问题。

1.1 软件测试的组织与管理过程不成体系,与现代软件测试需求不相适应

软件测试是一个贯穿于整个软件开发过程的系统工程,测试工作的进入点应前置到需求分析和系统设计阶段开始。

目前,我军的软件测试工作,一般是在编码完成之后和软件产品交付运行之前进行,所有的审查和评审活动都是在规格说明书、设计文档和使用说明书的基础上,针对成型软件产品而开展,主要关注的是软件的验收测试,如果需求理解不充分或设计中有错误,测试的质量就难以保证而且返回修改的代价是相当高的。

1.2 软件测试总体设计欠缺,过程管理混乱且随意性较大

在软件开发的初期就应当进行测试设计,制定规范统一的测试计划,对测试流程、测试重点和测试资源等进行充分考虑。

目前,由于我军的软件测试工作缺乏系统的分析和整体设计,测试人员往往根据自己的理解和经验来决定取消或增加测试的步骤,并且测试管理人员也不能明确当前测试进行的状态,给测试工作带来了极大的随意性和不确定性;测试重点不明确也使测试工作缺乏针对性,严重影响到测试工作的效率和效果;另外,对测试过程所需的资源考虑不充分(如所需的测试人员或测试设备不能及时到位),导致测试工作无法继续。

1.3 对测试工作的认识和重视程度不到位,人员和经费保障滞后

一般而言,一个好的软件测试成本要占整个开发成本的30%~40%甚至更多,而且应配有与开发人员人数大致相同的专门测试队伍。

当前,我军软件测试工作基本由开发人员兼任,只在开发的过程中进行自测,没有专门的测试人员队伍,或即使有专门人员担任测试任务,但数量不足开发人员的1/5,“重开发、轻测试”的思想和现象严重。此外,测试人员介入时间晚,对需求分析和系统设计理解不充分,一方面无法发现需求分析和设计上的错误;另一方面也导致测试时间不充足,无法对软件进行全面测试,影响软件的质量。在经费保障方面,多数未单独进行测试经费预算,测试的费用很少,费用不足也导致测试工作不充分、敷衍了事走过场的现象比较普遍。测试人员培养力度不足,测试人才匮乏也是制约军用软件测试工作健康有续发展的“瓶颈”。

1.4 测试技术和手段单一,缺少自动化测试工具

先进的测试技术和自动化的测试工具能够有效提高测试的质量和效率,这也是确保软件质量的重要条件。

我军的软件测试工作起步较晚且投入有限。首先,许多测试机构不具有成熟和统一的测试方法与技术手段,仍然沿用人工测试的方式;有些测试机构

67

装甲兵工程学院学报第22卷 

虽然也购买了一些测试工具,但由于其应用范围有限,再加上对产品的价值认识还不到位,使得许多工具没有被充分利用,还有相当大的潜力可挖。总体上看,自动化测试手段还相当欠缺。其次,大部分软件测评机构对测试数据只限于资源管理器下的目录式管理,对于测试问题的等级描述不具体,许多信息缺少量化,没有建立缺陷管理库,对测试过程中发现的软件缺陷缺少数据库管理手段,不能对测试问题进行统计、分析和处理。再次,由于系统构造复杂或时间的缘故,目前,系统集成测试还只限于所有构件按设计要求组装,然后进行整体非增量式集成测试。这种方法容易出现新旧错误混杂,不易于对测试问题进行定位和分析。

1.5 测试部门或人员定位不准确,测试服务意识不强

有些测试部门或人员对自身角色定位不准确,测试服务意识不强,自认为对软件质量有极大控制

权,即控制最终产品的质量,控制检验最终产品的质量过程,甚至控制最终产品的发布许可权,往往与开发人员产生矛盾,影响产品开发进度。测试部门或人员应当明确自身的角色定位,提高自身的服务意识,帮助开发人员尽快解决问题,以保证软件产品更快、更好地投入到使用中。

2 对策与分析

军用软件测试是一项跨部门、覆盖多学科、涉及多技术领域的复杂系统工程,要有效解决目前存在的困难和问题,促进其正规、有序发展,就必须树立体系建设思想,遵循积极、稳妥的原则,运用系统工程方法,着力寻求要素全面、协调配套的综合解决方案,分步实施,整体推进。2.1 建立规范的软件测试体系

软件测试体系由组织管理体系和过程管理体系组成,如图1所示

图1 软件测试体系

 

组织管理体系,即成立由专人负责并由专职人员组成的软件测试队伍,负责从软件的需求分析到交付用户的软件全寿命周期测试组织与管理工作

[3]

。随着软件生命周期各阶段的转换,软件测试

人员的组成也略有差别,需求分析阶段的测试工作一般由项目管理者、系统分析员和软件测试管理者参加,负责对软件的需求进行审查,确保需求的正确

性;系统设计阶段一般由项目管理者、系统分析员、系统设计员和测试管理者参加,对软件的体系结构、功能结构和数据结构等进行审查,确保设计的正确性;编码阶段则由测试管理人员、程序员和测试人员组成;最后的验收阶段则全部由测试人员组成。软件测试应准确定位测试人员的角色,强调服务性测试文化,以提高软件质量,尽快保证软件产品交付用

68

 第5期李晓丽等:军用软件测试现状及对策

户使用为最终目标。

过程管理体系,即对软件的整个生命周期实施测试,保证需求分析、系统设计和编码的正确性[3]。通过对软件生命周期的各阶段所形成的体系结构模型、功能结构模型、业务流程模型和数据流程模型等以形式化的方法和工具进行模型检测,尽可能早地发现需求和设计中的错误,不仅可有效提高软件质量,还可大大减少软件开发成本。

2.2 建立统一的软件测试标准

统一的标准规范是确保军用软件测试工作正规、有序、有效开展的根本保证。

1)建立全军统一的软件测试标准规范,对软件测试的整个过程进行明确的约束。主要包括:军用软件测试组织与管理要求、军用软件测试设计指南、军用软件测试文档编制指南、军用软件测试术语数据规范、军用软件测试计划、军用软件测试说明和军用软件测试报告等,对测试组织管理中的工作流程、人员组成、阶段任务和主要职责等作出规定,并对每类文档的格式、内容等制定统一的技术标准,如用例书写规范、包含要素、问题闭合条件和测试结束条件等。

2)建立全军共享的软件缺陷跟踪库。对全军范围内的、由不同单位研制的软件系统,应建立全军共享的、异地的、可互联互通的缺陷跟踪库,以便报告、查询、分类、跟踪、处理和验证缺陷。同时对缺陷库采用数据仓库、数据挖掘和O L A P分析等技术,提取数据库中的测试数据进行多维数据分析,判别引起各类故障的指标参数,根据故障的演变趋势,对故障进行识别和定位,以便于各承研总体单位能够及时了解各类软件及集成后的缺陷发展情况,尽早发现不确定问题的来源。同时,统一共享的缺陷跟踪库也有助于了解非本部门研制的基础软件和共用软件存在的问题,避免非自主研发的基础软件或工具软件中缺陷(B U G)所带来的安全隐患。

2.3 应用先进的软件测试手段

采用信息化管理手段是提高军用软件测试工作质量和效益的根本途径。

1)强化自动化测试手段,有针对性地选择成熟的自动化软件测试工具。针对不同的系统结构,如B/S结构应选择对客户端并发操作、网络性能和服务器端数据库压力进行测试的工具,C/S结构应选择对分布式事务的处理逻辑、系统输入边界条件等进行测试的工具;针对不同的数据库管理系统(D a t a B a s e M a n a g m e n t S y s t e m,D B M S),如S Q L S e r v e r、O r a-c l e、D B2、I n f o r m i x、S y b a s e等,选择厂商专用的数据库测试工具,以提高测试质量和效率。

2)应用先进的软件测试方法。如对核心服务或关键部件数量多的复杂系统,采用以关键部件为核心,部件逐级集成、测量范围逐步增大的增量式集成测试方法,以保证对故障问题的定位和纠正;对安全和抗毁能力要求较高的指挥类信息类系统要加强对系统的确认性测试,即系统恢复性测试、安全性测试和强度测试[1];对系统可靠性有重大影响的关键流程进行仿真测试。

3)学习借鉴与自主研制有机结合,在充分借鉴国外先进软件测试机构经验和软件测试工具成果的基础上,结合军用软件自身的特点和实际需求,自主研制开发具有自主知识产权的软件测试工具。

3 案例分析

某部门专家库管理系统和办公自动化系统都是基于S q l S e r v e2000数据库管理系统,使用P o w e r-B u i l d e r开发平台研制的管理类软件,2者的软件复杂度大致相当。

其中,专家库管理系统于2003年初提交测试,因其开发较早,没有采用笔者提出的相应对策,测试人员在系统提交后介入,进行的是非增量式集成测试,而且是基于功能性测试。办公自动化系统是近期开发的,从系统立项开始,测试人员及时介入,在软件生命周期中的每个阶段均与开发人员协调沟通,并建立了软件测试缺陷跟踪库。根据开发进展情况分别对系统进行了单元测试,对关键应用场景采用自动化工具进行仿真测试,并对整个系统采用以关键部件为核心,部件逐级集成的增量式集成测试。针对不同的测试阶段,分别采取了白盒测试、黑盒测试和自动化测试等手段,并应用了边界测试、状态测试和强度测试等测试技术,使用了A u t o R u n-n e r、W i n R u n n e r等自动化测试工具。2个系统所采用测试方法和测试周期比较如表1所示。测试后的问题曲线如图2所示。

图2中,虚线代表专家库管理系统问题曲线,实线代表办公自动系统问题曲线。从曲线中可看出,专家库管理系统首次测试后,由于模块结构有了大的变动而造成第1次回归后测试问题数反而增加,2次回归后问题未归零;办公自动系统问题变化情况是逐次递减的,2次回归后测试问题归零。

69

装甲兵工程学院学报

第22卷 

表1 专家管理系统与办公自动系统比较

系统名称测试手段测试技术

自动化工具

专家管理系统黑盒测试无

无办公自动系统

白盒测试黑盒测试自动化测试

边界测试基于状态的测试

强度测试

A u t o R u n n e r Wi n r u n n e

r

图2 测试后的问题曲线

 

专家库管理系统提交用户使用后,共发现影响

系统运行的严重缺陷2个,一般性缺陷12个。开发人员又利用了大量时间对系统进行了二次开发,浪费了大量人力和物力;办公自动化系统提交用户使用后,只发现一般性应用问题3个,在对用户输入条件进行一定的限制后,即可保证系统正常使用。

由此得出,通过建立软件测试体系,采用先进的软件测试技术和测试手段,大大提高了软件测试效率,保证了软件的质量。实践证明,这种综合解决方案是促进军用软件测试工作取得实效的可行选择。

4 结束语

人类战争已经进入信息化战争时代。信息化战争突出强调火力、机动力和信息力的有机融合,以获得整体作战优势,其显著特征是信息力已成为主导

战争胜负的关键因素。军用软件在提升信息能力方面扮演着越来越重要的角色。军用软件的质量直接影响着军事装备作战效能的发挥,为确保军事装备能够最大限度地发挥其作战效能,提高军用软件的质量已经成为紧迫之举。软件测试是保证软件质量的重要途径和必备手段。为此,必须尽快加强软件测试实验室和人员队伍的建设,加大自动化测试工具的研制和应用,通过综合运用各种测试方法、技术

和工具,有效提高软件测试的技术水平和管理水平,促进军用软件质量和可靠性的整体跃升。参考文献:

[1] P e r r y Wi l l i a mE.软件测试的有效方法[M ].第2版.北京:

机械工业出版社,2004.

[2] 宋昕.目前军用软件研制过程中存在的问题及对策[J ].情报

指挥控制系统与仿真技术,2003,9:190-192.

[3] C e m K a n e r ,J a c kF a l k ,H u n g Q u o c N g u.计算机软件测试[M].

第2版.北京:机械工业出版社,2004.

(责任编辑:尚彩娟)

70

关于软件测试行业现状的调查报告

华北电力大学科技学院 调研报告| | 实验名称软件测试行业现状调查报告 课程名称软件测试 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:

软件测试行业现状调查报告 中国软件测试的发展及现状分析: 一、软件测试的发展及现状分析: 中国的软件测试技术研究主要是随着软件工程的研究而逐步发展起来的,但是由于起步较晚,与国际先进水平相比差距较大,故仍处于起步阶段。随着我国软件产业的蓬勃发展以及对软件质量的重视,软件测试也越来越被软件企业所重视,软件测试正在逐步成为一个新兴的产业。从目前来看,可主要从四个方面来分析我国测试行业的现状。 1) 软件测试重要性和规范性不断提高通过测试把不符合行业标准的软件挡在门外,对行业信息化的健康发展起到了很好的促进作用。在信息产业部关于计算机系统集成资质以及信息系统工程监理资质的认证中,软件测试能力已经被定为评价公司技术能力的一项重要指标。 2) 从手工向自动化测试方式的转变传统的项目测试还是以手工为主,测试人员根据需求规格说明书的要求,与测试对象进行“人机对话”。大量的手工增加了项目人力成本和沟通成本、低效率以及高差错率,针对企业的网络应用环境需要支持大量用户和复杂的软硬件应用环境,这样测试的工作量也越来越大,自动化测试及管理已经成为项目测试的一大趋势。自动化测试通过测试工具和其他手段,按照测试工程师的预定计划对软件产品进行自动的测试,它能够完成许多手工无法完成或者难以实现的测试工作,更好地利用资源,将繁琐的任务赋自动化方式,从而提高准确性和测试人员的积极性。正确、合理地实施自动化测试,能够快速、全民地对软件进行测试,从而提高软件质量、节省经费,缩短产品发布周期。 3) 测试人员需求逐步增大,素质不断提高随着 IT 业的迅猛发展,软件外包服务已成为继互联网和网络游戏后的第五次全球浪潮。由于外包对软件质量要求很高,国内软件企业要想在国际市场上立足,就必须重视软件质量,而作为软件质量的把关者,软件测试工程师日渐“走俏”。目前在国内 120 万软件从业人员中,真正能担当软件测试职位的不超过 5 万,而目前高等教育中专业的软件测试教育近于空白,独立开设软件测试课程的高校非常少,这就形成测试人才紧缺、需求不断增大的现象。据分析,目前国内软件测试的人才需求缺口超过 20 万人。因此软件企业开始加强和重视测试人员的选拔、培养和知识培训。一方面,对测试人员的素质和要求逐步提高,测试人员不仅应掌握相关计算机知识背景、软件工程基本知识、熟悉项目编程语言、熟悉项目技术架构及需求内容,而且要求工作有责任感、独立分析能力及团队精神等方面;另一方面,软件企业为测试人员提供进一步的知识培训机会,以应对各种项目的复杂情况。 4) 测试服务体系初步形成随着用户对软件质量的要求越来越高,信息系统验收不再走过 场,而要通过第三方测试机构的严格测试来判定。“以测代评”正在成为我国科技项目择优支持的一项重要举措,比如国家“863”计划对数据库管理系统、操作系统、办公软件等项目的经费支持,都是通过第三方测试机构科学客观的测试结果来决定。随着第三方测试机构的蓬勃发展,在全国各地,新成立的软件测试机构达 10 多家,测试服务体系已经基本确立起来。 二、软件测试行业对从业人员的技术要求 相对于其他软件工程人员,软件测试工程师的知识面应该非常宽广,但最重要的品质应该是能够在第一时间内接受新技术。 1、职场人对于软件测试行业认知度一般调查显示,职场人对于软件测试行业认知度一般。选择非常了解的只有 8.8%,可见,对于该行业了解程度高的职场人不足一成。选择“知道一些”的不足四成,其余超过半数的职场人都选择不了解甚至没听说过。可见,软件测试行业作为一个新兴行业还没有受到广泛的社会认知,

软件测试自学指南---从入门到精通

近来,软件测试行业发展迅速,企业越来越重视测试了。越来越多的人加入了测试大军中,很多人也想通过自学来学习软件测试技术加入这个行业,但是现在软件测试的书籍越来越多,也良莠不齐,而且软件测试涉及的技术也越来越多。本文主要说明的是从事软件测试行业需要必备的知识,以及该如何学习,主要给大家提供一些比较优秀的书籍,并给出学习的顺序。希望通过阅读本文,读者可以明确该如何学习测试,并学习哪些知识。由于仅是个人建议,如有错误不妥的地方,敬请提出批评。 一、软件测试基础知识

要想进入测试这个行业,就必须要了解什么是软件测试,该如何测试? 这部分的学习目标:掌握软件测试的基本概念、软件测试的流程,并能熟练的应用常见的用例设计方法来设计测试用例。掌握常见的测试方法和类型,并知道如何进行每个阶段的测试。 下面是推荐的参考书: 1、软件测试(原书第2版) (美)佩腾(Patton,R.)著,张小松等译 这本书可以用来作为进入行业的第一本书,本书讲解的都是实用的技术,通过阅读本书可以快速的去学会如何测试软件。个人建议,这本书至少要读3遍以上。

看完这本书,自己可以去找一个项目(可以到开源中国上查找)来测一测,应用一下学的知识,找一找缺陷。在测试这个项目中要体会一下测试的流程,学习如何搭建测试环境。 2、软件测试的艺术(原书第3版) (美)梅耶等 第二本就是这本软件测试的“圣经”,这本书据说是硅谷测试人员必备的书。这本书最值得看的地方就是测试的思想。阅读这本书可以让你有豁然开朗的感觉。 3、计算机软件测试(原书第2版)(美)卡尼尔这本书也是值得一读的,同样也是非常适合初学者阅读的。 4、全程软件测试朱少民 上面的都是外国人写的,来本国产的。

软件测试技术知识点

一、软件测试的定义 软件测试是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。 1.软件测试与调试的区别? (1)测试是为了发现软件中存在的错误;调试是为证明软件开发的正确性。 (2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。 (3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。 (4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理过程。(5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。 (6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。 (7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。 2.对软件测试的理解?

软件测试就是说要去根据客户的要求完善它.即要把这个软件还没有符合的或者是和客户要求不一样的,或者是客户要求还没有完全达到要求的部分找出来。 (1)首先要锻炼自己软件测试能力,包括需求的分析能力,提取能力,逻辑化思想能力,即就是给你一个系统的时候,能够把整个业务流程很清晰的理出。 (2)学习测试理论知识并与你锻炼的能力相结合。 (3)想和做。想就是说你看到任何的系统都要有习惯性的思考;做就是把实际去做练习,然后提取经验。 总结测试用例,测试计划固然重要,但能力和思想一旦到位了,才能成为一名合格的软件测试工程师。 二、软件测试的分类 1.按照测试技术划分 (1)白盒测试:通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。--结构测试 (2)黑盒测试:通过软件的外部表现来发现错误,是在程序界面处进行测试,只是检查是否按照需求规格说明书的规定正常实现。--性能测试 (3)灰盒测试:介于白盒测试与黑盒测试之间的测试。

软件测试现状与前景

一.软件测试背景 1.软件测试的基本情况 据国家权威部门统计,中国软件人才缺口超过100万人,其中很大一部分为软件测试人才,缺口达到30-40万。但由于软件测试的重要性是近两年才被充分认识到的,高校教育和企业培养都还没有跟上,致使软件测试需求严重供不应求。 软件测试的需求为什么像雨后春笋一样?这种现象是符合我国软件产业发展的。在我国,软件产业的兴起和发展也就是这短短十几年。在前面的兴起和发展壮大阶段,一般的软件公司都是重开发轻测试,甚至存在把测试工作都放在用户那里去做的错误思想;追求眼前功能的实现,开发软件追求“短”、“平”、“快”。不太考虑性能和功能的优化。软件产业发展到今天,如果还是用以前的思路、办法(公司里绝大部分、甚至全部都是开发人员在做产品,只要能做出来可以用就行),企业的产品肯定没有竞争力,从而导致这样的软件企业生存极其困难。正是因为这个原因,软件测试以往一直被中小IT企业所忽视,只有一些知名企业才有专门的软件测试人员。现在,更多的国内企业认识到测试的重要性,但是由于国内测试人才的储备相对较少,并且建立软件测试部门需要很大成本,所以软件测试外包是国内软件企业的最佳选择。 2.软件测试的重要性 项目软件编制质量的高低关键取决于软件测试工作的严密。软件测试工作不但保证了软件质量,而且降低了日后维护成本,也提高了企业信誉和实力。软件测试主要是根据项目制定测试计划,确定测试用例和测试方法,记录测试数据,分析测试结果,完成测试报告,以便软件开发人员进一步调试。 二.软件测试行业现状 我国的软件测试技术研究起步于“六五”期间,主要是随着软件工程的研究而逐步发展起来的。由于起步较晚,与国际先进水平相比差距较大。随着我国软件产业的蓬勃发展以及对软件质量的重视,软件测试也越来越被软件企业所重视,软件测试正在逐步成为一个新兴的产业。从目前来看,可主要从四个方面来分析我国测试行业的现状。 1.软件测试重要性和规范性不断提高 国家各部委、各行业正在通过测试来规范软件行业的健康发展,通过测试把不符合行业标准的软件挡在门外,对行业信息化的健康发展起到了很好的促进作用。在信息产业部关于计算机系统集成资质以及信息系统工程监理资质的认证中,软件测试能力已经被定为评价公司技术能力的一项重要指标。2001年信息产业部发布的部长5号令,实行了软件产品登记制度,规定凡是在我国境内销售

我国软件测试技术研究现状及对策分析

我国软件测试技术研究现状及对策分析 摘要軟件测试技术应用研究本质在于提高软件测试准确性,解决软件开发管理缺陷,确保软件测试数据的真实可信。现阶段我国的软件测试技术应用主体状况良好,在技术应用细节及技术研发管理方面仍需努力。对此本文将针对我国软件测试技术研究现状及问题,提出部分软件测试研究技术管理方案,进而为后续阶段软件测试技术高效化及全面化应用提供理论参考内容。 关键词软件测试;技术;研究;现状;对策 1 软件测试技术应用现状 现阶段我国的软件测试技术应用种类繁多,涉及测试内容涵盖软件测试的各个方面,基础性测试工作的开展总体上符合软件测试及应用需求,对于软件测试技术应用也逐步趋于完善。但在细节化控制及软件测试规范方面,仍存一定的实际性问题。综合现有的软件测试情况,软件测试应用结构主要范围三个方面,首先是企业方面,其次是人员方面,第三是技术规范方面,其中人员方面在软件测试应用中起到主导作用,是现阶段软件测试应用现状改善的核心关键。 1.1 软件测试企业现状 企业对于软件测试技术应用商业化较为严重,相关的软件测试项目未能考虑软件使用适应性及兼容性问题,仅将软件检测做出体系化商品进行业务销售,相关企业制定的软件测试管理标准也并不统一,从而形成软件测试市场杂乱不堪的景象,对于软件测试工作的规范化管理产生不良影响。 1.2 软件测试人员现状 在软件测试人员方面,我国现有的软件测试人才储备数量相对较高,远超欧美等发达国家,但在人才技术应用专业性方面,却存在一定的差距,部分企业在软件测试人员的培训方面投入相对较低,未能充分的发挥软件测试的多岗协调优势,继而使软件测试人员对于相关专业技能的掌握出现偏差,难以按照严格的软件测试标准执行软件测试管理方案。 1.3 软件测试管理现状 软件测试管理的目的在于提高软件测试规范性,降低软件测试误差,确保软件测试数据结构的真实性。软件测试管理涉及内容较多,企业对于软件测试管理工作实际重视程度不高,使软件测试管理工作进行始终无法达到规范化管理标准,进而造成软件测试结构误差严重,对软件的实际应用影响颇深[1]。 2 软件测试技术应用问题

国内软件测试现状分析及对策

龙源期刊网 https://www.doczj.com/doc/d017572407.html, 国内软件测试现状分析及对策 作者:邓伟伟,管群 来源:《电脑知识与技术》2009年第34期 摘要:现代社会是一个信息化社会,而高质量的软件构成了信息化的基础。我国加入WTO 后,面对全球信息化浪潮,国内软件测试行业的弊病逐步显露出来。在引用51Testing软件测试网的一些调查数据的基础上,指出了国内软件测试的一些现状,对现状进行了分析,并给出了相应的解决之道,最后对我国的软件测试行业进行了总结和展望。 关键词:软件测试;软件质量;测试工具;规范化;能力成熟度模型 中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)34-9692-03 Analysis and Solutions on the Status of the Domestic Software Testing DENG Wei-wei, GUAN Qun (Computer College, Sichuan University, Chengdu 610064, China) Abstract: Modern society is an information-based society, and high-quality software constitutes the basis of the information. Since China's accession to the WTO, in the face of the wave of global information, the drawbacks of the domestic industry of software testing gradually revealed. On the basis of survey data on the 51Testing software testing network, the author pointed out some of the status in domestic software testing, and analyzed the status, then got the corresponding solutions, finally summaried and outlooked the domestic industry of software testing. Key words: software testing; software quality; testing tools; standardized; capability maturity model(CMM) 什么是软件测试[1]?IEEE在1983年是这样定义的:由人工或自动方法来执行或评价系统或系统部件的过程,以验证它是否满足规定的需求,或识别出期望的结果和实际结果之间的差别。它是软件工程的一部分,它随着软件开发应运而生,并随着软件开发的产业化而受到重视。简言之,软件测试就是不断发现Bug,并不断修正的过程。世界上第一个计算机Bug如图1所示。 目前,我国的软件测试行业较欧美国家的差距还比较大,这里面原因很多。我国的软件行业起步晚,这是一个不争的事实,所以在很多方面没有做到标准化和规范化;除此之外,软件质量低下也是一个重要的原因。计算机和软件行业的发展日新月异,加入WTO后,我国的软件行业面临 前所未有的挑战——如何进一步提升我国软件行业的生产水平和软件质量,与世界接轨?照理说,在这个大背景下,软件测试理应受到越来越多的重视。然而在我国事实真的如此吗?或者说即使很多软件企业有了这样的意识,它们付诸行动了吗?

软件测试工程师市场需求

根据有关职位统计资料显示,在国外大多数软件公司,1个软件开发工程师就需要辅有2个软件测试工程师。目前,软件测试自动化技术在我国则刚刚被少数业内专家所认知,而这方面的专业技术人员在国内更是凤毛麟角。根据对近期网络招聘IT人才情况的了解,许多正在招聘软件测试工程师的企业很少能够在招聘会上顺利招到合适的人才。 随着中国IT行业的发展,产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。从软件、硬件到系统集成,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。而软件测试工程师就是其中之一,目前已成为各类科技企业紧急征召的重要对象。 据了解,由于软件测试工程师处于重要岗位,所以必须具有电子、电机类相关专业知识背景,并且还应有两年以上的实际操作经验。他们应熟悉中国和国际软件测试标准,熟练掌握和操作国际流行的系列软件测试工具,能够承担比较复杂的软件分析、测试、品质管理等任务,并能独立担任测试、品质管理部门的负责人。一般情况,软件测试工程师可分为测试工程师、高级测试工程师和资深测试工程师三个等级。 在具体工作过程中,测试工程师的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。对软件测试工程师而言,必须具有高度的工作责任心和自信心。任何严格的测试必须是一种实事求是的测试,因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人,所以,没有专业的技术水准是无法胜任这项工作的。同时,由于测试工作一般由多个测试工程师共同完成,并且测试部门一般要与其他部门的人员进行较多的沟通,所以要求测试工程师不但要有较强的技术能力而且要有较强的沟通能力 而事实上,在国外许多国家的软件公司,软件测试工作已经逐渐演变成一门独立的科学,包括了配置方案、测试机制、跨平台策略和产品性能、稳定性等独立区域的知识模块。 同时,软件测试员需要参与包括需求分析—设计—编码等所有软件开发环节,尽可能地发现每个环节可能存在的Bug。“这是一个要求非常高的职业。”郑人杰说。因此国外的软件测试工程师基本上都是由从业多年的开发工程师转变而来。 不过,现在软件测试的重要性已经逐渐获得认可。根据51testing提供的一份调查报告,目前近91%的国内软件企业配备了测试队伍,更多的企业通过软件测试来提高自身的软件产品质量。总体上,69%的企业认为通过测试后软件质量得到很好提高。 而所有的招聘网站都开始发布同样的信息:软件测试工程师供不应求,企业招聘不到合格的人才。智联招聘一篇文章称,“从入门级的初级测试工程师到高级测试工程师以及项目Leader全线短缺”。 国家劳动和社会保障部也在3月份发布信息,称未来几年软件测试员这一职位,将会产生大量的市场需求。 国家应用软件产品质量监督检验中心副主任吴铸成告诉记者,国外小一些的软件企业,软件开发与测试人员之比基本上是1:1。微软公司是1:2,windows2000 操作系统在研发过程中甚至使用了250名项目经理、1700名软件开发工程师、3200名软件测试工程师。

军用软件测试现状及对策_李晓丽

2008年10月第22卷第5期 装甲兵工程学院学报 J o u r n a l o f A c a d e m y o f A r m o r e dF o r c eE n g i n e e r i n g O c t .2008 V o l .22N o .5   文章编号:1672-1497(2008)05-0066-05 军用软件测试现状及对策 李晓丽 龙 翔 刘 超 李 虎 (北京航空航天大学软件工程研究所,北京100083) 摘 要:随着我军信息化建设深入发展,军用软件的规模和数量空前增长,军用软件的质量建设成为极端重要而紧迫的任务。软件测试是保证软件质量、提高软件可靠性的重要途径和必备手段,但当前无论是在软件测试的认识层面,还是对软件测试的管理和技术支撑等方面,仍然存在着许多问题,软件测试工作形势依然严峻,急需得到改进和加强。在深入分析军用软件测试现状、存在的问题和原因的基础上,综合设计体系结构,研究提出对策措施,为整体推进软件测试工作提供了可行的解决方案。关键词:军用软件;软件测试;测试服务中图分类号:T P 311.5 文献标志码:A S t a t u s Q u o a n dS o l u t i o n s t o M i l i t a r y S o f t w a r e T e s t i n g L I X i a o -l i L o n g X i a n g L I UC h a o L I H u (S o f t w a r e E n g i n e e r i n g I n s t i t u t e ,B e i j i n g U n i v e r s i t y o f A e r o n a u t i c s a n d A s t r o n a u t i c s ,B e i j i n g 100083,C h i n a ) A b s t r a c t :F u t u r e w a r w i l l b e I n f o -W a r ,w h i c hr e q u e s t s t h a t w e m u s t f o r m a ni n f o r m a t i o na r m y .T h e s e y e a r s ,g l o b a l d e v e l o p m e n t o f s c i e n c e a n dt e c h n o l o g yn o t o n l y p r o m o t e s t h ei n f o r m a t i o nc o n s t r u c t i o no f C h i n e s e a r m y ,b u t a l s o i m p r o v e s t h e s o f t w a r e c o n s t r u c t i o n t o a n e w p h a s e .M o r e o v e r ,t h e s c a l e a n d q u a n -t i t y o f s o f t w a r e f o r a r m y i s c o n t i n u a l l y i n c r e a s i n g ,w h i c h a l s o s e t s a h i g h e r r e q u e s t t o t h e q u a l i t y o f s o f t -w a r e .S o f t w a r e t e s t i n g i s j u s t t h e n e c e s s a r y c o n d i t i o n a n d i m p o r t a n t m e a n s o f e n s u r i n g s o f t w a r e q u a l i t y a n d i m p r o v i n g t h e s o f t w a r e r e l i a b i l i t y .H o w e v e r ,w e s t i l l h a v e m a n y p r o b l e m s i n t h e f i e l d s o f s o f t w a r e t e s t i n g ,s u c h a s o u r u n d e r s t a n d i n g i n s o f t w a r e t e s t i n g ,t h e s o f t w a r e t e s t i n g m a n a g e m e n t ,s o f t w a r e t e s t i n g t e c h n o l o -g y a n d s o o n .T h i s p a p e r e x p o u n d s a n d a n a l y z e s t h e a c t u a l i t y o n s o f t w a r e t e s t i n g o f C h i n e s e a r m y ,t h e e x -i s t i n g p r o b l e m s a n d t h e r e a s o n s ,t h e n p r o p o s e s r e l e v a n t c o u n t e r m e a s u r e s a n d v a l i d a t e s t h e a v a i l a b i l i t y o f c o u n t e r m e a s u r e s t h r o u g h a p p l i c a t i o n s i n p r a c t i c e . K e y w o r d s :m i l i t a r y s o f t w a r e ;s o f t w a r e t e s t i n g ;t e s t i n g s e r v i c e 收稿日期:2008-06-10 作者简介:李晓丽(1975-),女,北京人,博士研究生. 随着信息技术的推动和世界新军事变革的发展,世界各主要军事强国都开始朝着建设信息化军队的方向发展,制信息权成为夺取未来战场主动权的决定因素,直接决定未来战争的胜负,信息系统(软件)作为战场纷繁复杂信息的“管理者”,其质量的高低影响着信息的获取、传递、处理和使用的全过程,从某种意义上说,信息系统(软件)的可靠与否,对于夺取战场的制信息权有着举足轻 重的作用。 软件测试就是在软件交付用户使用或投入运行前,对软件需求规格说明、设计规格说明和编码的最终复审[1] ,是确保软件质量、提高软件可靠性的关 键步骤,是为了发现软件中存在的错误而执行程序的过程,其最终目的是为了避免错误的发生,确保应用程序能够稳定高效地运行。 军用软件是指为遂行作战任务或业务管理需要

软件测试实用指南

第1章指导软件测试的故障模型 软件测试的目的 好的测试员具有一种直觉,这种直觉引导他们彻底全面地思考测试场景。使测试员产生这种直觉的技术术语就是故障模型,因为故障模型提供了一个模型或框架,用来讨论代码中的故障是如何以及为什么能在软件执行时引起软件失效。对于测试员来说,重要的是能够构造出一个准确的故障模型,并在测试过程中使用该模型,确保能检查出隐错最可能隐藏的地方。 人们处于不同的动机去进行软件测试,其中绝大多数动机都可用一个名称来描述。想要通过测试确定所在机构是否应该接受某个产品,这种测试成为符合型测试;想要通过测试确定某个产品是否易于使用,这种测试成为可用性测试。这样列举下去,还会包括性能测试,可靠性测试,健壮性测试等等。 诸多种类的测试具有一些共同特性: 每种测试都需要测试员按照产品行为描述来实施。产品行为描述可以是书面的规格说明书、需求文档、产品文件或用户手册。 每种测试都需要产品运行于真实或模拟环境下。 每种测试都要求以系统方法展示产品功能性,说明测试结果是肯定的还是否定的,以及是否课判断其中的区别。真正区分失效测试和成功测试的关键在于:必须知道在寻找什么,并能说出何时找到了。 每种测试都包括上述特性,主要差别在于其目的和一些细节处理上的差别。总之,抛开这些细节和目的不谈,软件测试需要以系统和智能的方式运行和展示产品的功能。 软件测试应具有智能性,有关于应用程序如何运行的加精盐,规程和知识及可能会出现的故障知道测试员实施测试。 优秀的测试员不能依靠运气,而是必须为所测试的软件设定清晰、明确、可实现的目标以及所有错误纠正后的下一个测试目标。有效测试的特点就是设定这样的目标,并进行系统的开发,直至目标达到。 理解软件行为 开发具有影响力的软件是相当困难的,一旦投入使用环境,软件常常会失效。开发人员必须找出能减少编程出错倾向的方法,测试员页必须把重点放在寻找测试方法上,通过测试说明软件能无效的完成它应该完成的功能。让测试员深感遗憾的是,测试时有太多的输入,输入变量、输入组合以及软件状态。还有一些功能必须保持未测状态。测试的难题是选择哪些要进行测试以及哪些不需要测试。 要有效的完成这些关键的决策过程,测试员需要理解软件运行时正在做什么,哪些会引起软件失效。我所知道的最好的测试员已经具有这种直觉,知道什么能使软件失效,这种直觉引导他们彻底全面的思考测试场景、换句话说,他们知道隐错一般隐藏在什么地方,如何有效的找出这些隐错。 使测试员产生这种直觉的技术术语就是故障模型,因为故障模型提供了一个模型或框架,用来讨论代码中的故障是如何以及为什么能在软件执行时引起软件失效。对测试员来说,重要的是能够构造出准确的故障模型,并在测试过程中使用该模型,确保能检查出隐错最可能隐藏的地方。也就是说,故障模型可以用来选择测试,该测试最可能暴露嵌入的软件故障。

软件测试说明书

软件测试说明

目录 1范围 (1) 1.1标识................................................................................................................................................... 错误!未定义书签。 1.2系统概述 (1) 1.3文档概述 (1) 2引用文档 (1) 3测试准备 (1) 3.1功能性测试 (1) 3.1.1 硬件准备 (1) 3.1.2 软件准备 (1) 3.1.3 其它测试前准备................................................................................................................. 错误!未定义书签。4测试说明 (1) 4.1功能测试 (1) 4.2性能测试 (5) 4.3接口测试 ............................................................................................................................................ 错误!未定义书签。5需求的可追踪性 ............................................................................................................................... 错误!未定义书签。6注解.......................................................................................................................................................... 错误!未定义书签。附录A........................................................................................................................................................... 错误!未定义书签。 整理范本

软件测试之软件测试报告编写指南

软件测试之软件测试报告编写指南 测试报告编写指南 由安博测试空间技术中心:///提供摘要 测试报告是把测试的过程和结果写成文档,并对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。本文提供测试报告模板以及如何编写的实例指南。 关键字 测试报告缺陷 正文 测试报告是测试阶段最后的文档产出物,优秀的测试经理应该具备良好的文档编写能力,一份详细的测试报告包含足够的信息,包括产品质量和测试过程的评价,测试报告基于测试中的数据采集以及对最终的测试结果分析。 下面以通用的测试报告模板为例,详细展开对测试报告编写的具体描述。 PARTⅠ 首页 0.1页面内容: 密级 通常,测试报告供内部测试完毕后使用,因此密级为中,如果可供用户和更多的人阅读,密级为低,高密级的测试报告适合内部研发项目以及涉及保密行业和技术版权的项目。XXXX项目/系统测试报告 报告编号 可供索引的内部编号或者用户要求分布提交时的序列号 部门经理 ______项目经理______ 开发经理______测试经理______ XXX公司 XXXX单位(此处包含用户单位以及研发此系统的公司) XXXX年XX月XX日 0.2格式要求: 标题一般采用大体字(如一号),加粗,宋体,居中排列 副标题采用大体小一号字(如二号)加粗,宋体,居中排列 其他采用四号字,宋体,居中排列 0.3版本控制: 版本作者时间变更摘要 新建/变更/审核 PARTⅡ 引言部分 1.1编写目的 本测试报告的具体编写目的,指出预期的读者范围。

实例:本测试报告为XXX项目的测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述系统是否符合需求(或达到XXX功能目标)。预期参考人员包括用户、测试人员、、开发人员、项目管理者、其他质量管理人员和需要阅读本报告的高层经理。 提示:通常,用户对测试结论部分感兴趣,开发人员希望从缺陷结果以及分析得到产品开发质量的信息,项目管理者对测试执行中成本、资源和时间予与重视,而高层经理希望能够阅读到简单的图表并且能够与其他项目进行同向比较。此部分可以具体描述为什么类型的人可参考本报告XXX页XXX章节,你的报告读者越多,你的工作越容易被人重视,前提是必须让阅读者感到你的报告是有价值而且值得浪费一点时间去关注的。 1.2项目背景 对项目目标和目的进行简要说明。必要时包括简史,这部分不需要脑力劳动,直接从需求或者招标文件中拷贝即可。 1.3系统简介 如果设计说明书有此部分,照抄。注意必要的框架图和网络拓扑图能吸引眼球。 1.4术语和缩写词 列出设计本系统/项目的专用术语和缩写语约定。对于技术相关的名词和与多 义词一定要注明清楚,以便阅读时不会产生歧义。 1.5参考资料 1.需求、设计、测试用例、手册以及其他项目文档都是范围内可参考的东东。 2.测试使用的国家标准、行业指标、公司规范和质量手册等等 PARTⅢ 测试概要 测试的概要介绍,包括测试的一些声明、测试范围、测试目的等等,主要是测试情况简介。(其他测试经理和质量人员关注部分) 2.1测试用例设计 简要介绍测试用例的设计方法。例如:等价类划分、边界值、因果图,以及用这类方法。 提示:如果能够具体对设计进行说明,在其他开发人员、测试经理阅读的时候就容易对你的用例设计有个整体的概念,顺便说一句,在这里写上一些非常规的设计方法也是有利的,至少在没有看到测试结论之前就可以了解到测试经理的设计技术,重点测试部分一定要保证有两种以上不同的用例设计方法。 2.2测试环境与配置 简要介绍测试环境及其配置。 提示:清单如下,如果系统/项目比较大,则用表格方式列出 数据库服务器配置 CPU:

软件测试国内外发展现状

一、软件测试介绍: 软件测试的必要性已经完全为业内决策人士所接收。这是因为软件工业已经发展到了与其他主要工业相当的规模。经过十几年的发展,少数天才们手工作坊的世界已经转化为大工业生产的天下。由于JAVA的流行,我们更看到了组装生产线的模式。 在工业生产的传统行业里,测试是生产的有机组成环节,各道工序的测试、组装测试、出厂测试及致破坏性试验是生产目的实现的重要保证。 软件测试和硬件测试在实现上没有真正意义上的区别,在虚拟空间上的实现也不是软件测试独有的特征。 软件测试过程的主要部分在于模拟用户对软件产品的使用过程:1、模拟最终用户通过WEB、GUI对软件的使用。(具体软件会有很多功能。另外测试还要模拟用户的误操作,好的软件系统应该能够应付误操作。) 2、模拟用户方操作系统,数据库、网络管理专家对软件进行安装、设置、移植(Installation,Configuration and Migration)。 3、模拟用户方软件程序员应用编程界面调用各种功能。(目前相当多的出厂软件产品不是可执行程序,而是API。) 4、模拟用户对软件使用说明的使用。 软件测试的另一个方面是针对用户在正常使用软件可能遇到的麻烦进行测试、分析(High Avaiablility Test、Performance Test)。 贯穿始终的测试活动则包括软件设计文档评估、测试规划、测试结果报告。 软件测试是软件质量控制(QC,QA)的具体实现环节。把软件测试有效地组织进软件的生产流程,是软件质量控制规划的主要内容。 质量控制是控制的一种;符合控制系统的一般规律。多重小闭环反馈控制是一种控制精度高并且对控制系统各模块品质要求低的一种控制方案。这种控制模式应用到软件生产上,就形成了对软件生产的分阶段测试。它最大限度的减少了开发者个人因素对软件生产的影响。这正是以北美为基地的大多数主要成规模软件生产商所引用的RUP (Rational Unified Process)。 目前市场上流行大量的测试软件,较为有效的主要应用在Unit Test,Intergration Test,Regression Test 和Performance Test 等几个方面。 在Unit Test and Intergration T est 方面,在网络上有免费的“软件测试工具包”可以帮助测试人员结构测试框架,用于测试JAVA API.使用者要求具备WebLogic,Websphere,TomCat或其它WEB 服务器平台软件的知识。 在Regression Test 方面,市场上有众多的capture-playback 类型的测试软件如Win Runner,Rational Robot,Rational JRobot,etc. 这类工具易学易用。要想使用这类工具实现测试目的,使用者依然需要

软件测试技术发展综述报告

综述报告 报告题目:_软件测试技术发展现状综述__ 学生姓名: 学号:_ _ 专业:软件工程 导师: 2014年3月

软件测试技术发展现况综述 摘要:从世界上第一行程序代码被编制出来,实际上软件测试问题就已经出现了。随着软件复杂度的增加,软件测试的重要性逐渐引起了人们的重视。本文基于此,阐述了计算机软件测试技术的发展历程、国内外软件测试行业发展现状、软件测试的方法和过程以及发展趋势等方面。 关键字:软件测试软件测试技术发展趋势 引言 随着社会的不断进步和计算机科学技术的飞速发展,计算机及软件在国民经济和社会生活等方面的应用越来越广泛和深入。作为计算机的灵魂,软件在其中起着举足轻重的作用。软件的失效有可能造成巨大的经济损失,甚至危机人的生命安全。软件开发的各个阶段都需要人的参与。因为人的工作和通信都不可能完美无缺,出现错误是难免的。与此同时,随着计算机所控制的对象的复杂程度不断提高和软件功能的不断增强,软件的规模也在不断增大。人们在软件的设计阶段所犯的错误是导致软件失效的主要原因。软件复杂性是产生软件缺陷的极重要的根源。 作为软件工程重要组成部分的软件测试是软件质量的有力保证。软件测试对于软件质量的重要意义,不仅仅在于发现软件系统中存在的错误,更体现在经过各种测试技术和方法对软件产品进行测试后,可以提高对软件质量的信心。因为无法预知软件中究竟会有多少错误存在么,所以即使在测试后仍然无法保证软件系统中不在存在错误。但是,通过软件测试,能够对软件系统出错的可能性以及错误可能导致后果的严重程度能有准确的估量。同样,通过测试可以将存在错误的几率限制于可以接受的程度之下。这些都大大提高了软件质量的可靠性,增加了对软件产品的信心,尤其是对于涉及到高安全性、高可靠性的软件系统。 软件测试概述 一、软件测试的定义 对软件测试的定义长期以来就存在着很多不同的观点: 1.网络词典中软件测试被定义为“软件测试是一个过程,用于确定开发的软件系统的正确性,完备性以及软件的质量。实际上,软件测试无法绝对保证软件的正确性,这种保证只能通过形式化的验证来实现。软件测试能够发现错误,却无法证明软件中不再存在错误”。 2.软件测试是对系统或程序的执行以期发现其中的错误。 3.软件测试是任何以衡量程序或系统的属性和能力为目标的活动,并且用以确定这些活动是否得到预期的结果。 4.IEEE提出的软件工程标准术语中,对软件测试的定义为“对软件系统或软件系统组件进行检测和评估的过程,通过人工或自动的方式来验证是否满足了特定的规定和需求,确认实际运行结果与所期望的运行结果之间的差异”。

软件测试方法与技术实践指南第3版

第3版前言 《软件测试方法与技术实践指南》第1版的出版,距今已经有4年时间;第2版的出版,距今也有2年时间;书籍第1版与第2版得到广大高校与读者的好评,并在全国高校计算机教学中起到积极的作用,在此我代表言若金叶软件研究中心(以下简称中心)全体清华专著成员向大家表示衷心的感谢。书籍第3版的出版,将最大程度上满足全国各大高校、各大软件公司、各大软件培训中心的多层次需求。同时继续保持本书在全国软件实践类专著中遥遥领先的地位,加强本书对全国各大高校和软件公司的深远影响。 中心除加大软件实践类教程广度与深度的研发与编写外,另一个重要工作就是积极配合教育部高等学校计算机科学与技术教学指导委员会、国家级实验教学示范中心建设单位联席会(计算机学科组)、清华大学出版社等在国内宣传计算机实践教学,身体力行地推动中国高校软件实践教学向更高层次发展,同时也为国家高素质软件实践人才的成长与发展搭建优秀的平台。 《软件测试工程师成长之路:软件测试方法与技术实践指南》第3版的出版秉承第1版与第2版的优点,从整个软件生命周期与全程质量管理的角度,阐述测试工程师在各个阶段的主要工作,以及每一阶段所起的作用。同时增加软件测试工程师各大技术主题分享,为每一位读者从初级测试工程师向中高级测试工程师发展指明了道路。 当各大高校与读者拿到本书时,中心已经完成了面向全国的十八届测试工程师培训与项目实训。有相当多高校的计算机教师,包括博士生、硕士生、本科生,部分高职高专学生加入了中心的培训与项目实训。实际的教学与学生们实际的项目实践,更进一步地推动了实践教程的发展,使该教程更适合引领高校学生动手实践及各大软件公司工程师们提高软件开发质量水平。 本书涉及的内容: 本书分四大篇章组织同时有四个附录,每一篇章的规划都是层层递进,相互关联的,附录也不例外。 第一大篇章:软件测试工程师知识筹备与成长发展,共分3章。第1章讲解本书特色与使用方法;第2章将软件测试核心的理论知识串接起来,展示了从事软件测试工作所需要的最基础的理论;第3章讲解测试工程师如何成长,方便学生从高校毕业后,能找准自己的位置,在软件测试工程师工作岗位上不断成长。 整个第一大篇章从理论上阐述了软件测试工程师的工作范畴、日常工作内容;成为测试工程师所必需的知识技能和个人素养;测试工程师成长和发展的前景。 第二大篇章:基于产品线的项目实践,共分7章。该篇章主要通过实例来讲述从软件最初的简单需求模型到最终的产品发布各个阶段测试工程师的主要工作。包括:项目初期各阶段的主要工作->软件测试计划的制定->软件测试案例的编写->软件项目各部 门相互协作->执行测试案例并报告缺陷->产品功能完善与修复缺陷阶段->测试工程师 在产品发布前后的工作。 第4、5章通过实例,深入讲解编写高质量的测试计划的方法以及学习如何在项目中维护和执行测试计划。

相关主题
文本预览
相关文档 最新文档