代词
(指已提及或心目中的人或事物)这,那,它
This is our new car. I bought it yesterday. 这是我们的新车。我昨天买的。
(指无生命物、动植物、性别不详的幼孩等)它
What a beautiful baby -- is it a boy? 多漂亮的孩子啊--它是男孩吗?
(作无人称动词的主语,表示时间、气候、距离等)
It\'s about 50 kilometers from here to my h. 从这儿到我的牧场约有五十公里。
It\'s early yet. 还早呢。
It\'s very hot. 天真热。
(置于句首或句中,引导后面的短语或从句)
I\'d think it well worth while to go. 我觉得很值得一去。
(作为形式上的主语或宾语,用于表示强调的句型中)
But here it\'s my word that counts. 但这里是我说的话算数。
(用于某些动词、介词后面,词义含糊,构成习惯语)
Don\'t lord it over your friends. 不要对你的朋友摆威风。
名词
(捉迷藏等游戏的) 捉 人 者,猜 的 人
【口】(仅用于 gin and it )意大利苦艾酒
【口】关键,重要时刻
This is it -- we have to act at e. 现在是关键时刻了--我们得马上行动。
【口】性感;**
【美】【俚】笨蛋
信息技术定义
Information hnology的简称,即信息技术
IT的英文是Information hnology,即信息产业的意思,较为广泛:目前IT业的划分方法有各式各样,其中以美国商业部的定义较为清楚和合理,它将国民经济的所有行业分成IT业和非IT生产业。其中IT业又进一步划分为IT生产业和IT使用业。IT生产业包括计算机硬件业、通信设备业、软件、计算机及通信服务业。至于IT使用业几乎涉及所有的行业,其中服务业使用IT的比例更大。由此可见,IT行业不仅仅指通信业,还包括硬件和软件业,不仅仅包括制造业,还包括相关的服务业,因此通信制造业只是IT业的组成部分,而不是IT业的全部。
基本概念和所指范围
IT= information hnology 信息技术实际上有三个层次:
第一层是硬件,主要指数据存储、处理和传输的主机和网络通信设备;
第二层是指软件,包括可用来搜集、存储、检索、分析、应用、评估信息的各种软件,它包括我们通常所指的ERP(企业资源计划)、CRM(客户关系管理)、SCM(供应链管理)等商用管理软件,也包括用来加强流程管理的WF(工作流)管理软件、辅助分析的DW/DM(数据仓库和数据挖掘)软件等;
第三层是指应用,指搜集、存储、检索、分析、应用、评估使用各种信息,包括应用ERP、CRM、SCM等软件直接辅助决策,也包括利用其它决策分析模型或借助DW/DM等技术手段来进一步提高分析的质量,辅助决策者作决策(强调一点,只是辅助而不是替代人决策)。
有些人理解的IT把前二层合二为一,统指信息的存储、处理和传输,后者则为信息的应用;也有人把后二层合二为一,则划分为前硬后软。通常第三层还没有得到足够的重视,但事实上却是唯有当信息得到有效应用时IT的价值才能得到充分发挥,也才真正实现了信息化的目标。信息化本身不是目标,它只是在当前时代背景下一种实现目标比较好的一种手段。
卡尔的IT是指什么呢?在那篇文章里面他并没有明确提出,不过他提到信息技术的核心功能--数据存储、处理和传输。从他推理的逻辑来看,即从蒸汽机、铁路、电报电话、电力等基础设施建设推过来的,还用摩尔定律来佐证主机和光纤的发展。
IT这一概念上是经常含混不清:一会儿指主机网络,一会儿又指软件。信息技术本身只是一个工具,就象一柄利剑或一枝好笔。
一些经常混淆的基本概念
数据(Data)=事实的记录,如上季度甲系列产品在华东地区销售额为120万。
信息=(Information)=数据+ 意义,如上季度甲系列产品华东地区销售额比去年同期减少了25 %。
智能(e)=信息+理解(understanding)与推理(reasoning),如分析原因是华东地区销售单位不行,或甲系列产品进入了衰退期,还是公司整体营销活动落后,竞争者强力促销导致?或是其它原因。
知识(Knowledge) =解决问题的技能(skill),针对这一问题公司应对的策略是什么?
智慧(Wisdom) =知识的选择(tion) 应对的行动方案可能有多种,但(战略)选择哪个*智慧。行动则又会产生新的交易数据。
组成
IT的普遍应用,是进入信息社会的标志。不同的人和不同的书上对此有不同解释。但一个基本上大家都同意的观点是,IT有以下三部分组成:
-----传感技术 这是人的感觉器官的延伸与拓展,最明显的例子是条码阅读器;
-----通信技术 这是人的神经系统的延伸与拓展,承担传递信息的功能;
-----计算机技术 这是人的大脑功能延伸与拓展,承担对信息进行处理的功能。
所谓信息化是用信息技术来改造其他产业与行业,从而提高企业的效益。在这个过程中信息技术承担了一个得力工具的角色。
顺便说一句何谓IT产业,有一个大致的分类,可以供大家参考:
IT基础技术的提供 IC研发、软件编写 如INTEL、MS等
IT技术产品化 元器件、部件、组件制造 如精英、大众等
IT产品集成化 计算机及外设制造商 如联想、IBM
IT产品系统化 解决方案、信息系统 如华为、HP
IT产品流通 渠道、销售 如神州数码
IT产品服务 咨询服务和售后服务 如蓝色快车
IT产业舆论支持 IT类媒体 如CCW、CCID
IT产业第三方服务 各种需要配套的服务 如法律咨询、PR服务
IT后备人员培养 各种院校 如计算机专业
IT产业合作组织 各种协会、集会
集成测试的整个周期将系统性地包括软件接收测试、端到端测试、电视画面合成测试、系统测试、用户验收测试、多运动项目综合测试及技术演练等等。其目的是确保各IT系统具备所需的功能及可靠性,从而顺利地为北京2008年奥运会服务。
中国IT从业者的职业分类
IT主体职业
1.1软件类
1.1.1系统分析师 1.1.2计算机程序设计员 1.1.3软件测试师 1.1.4软件项目管理师 1.1.5系统架构设计师
1.2硬件类
1.2.1计算机维修工
1.3网络类
1.3.1计算机网络管理员 1.3.2网络系统设计师 1.3.3网络综合布线员 1.3.4网络建设工程师
1.4信息系统类
1.4.1计算机操作员 1.4.2信息系统安全师 1.4.3信息系统管理师 1.4.4数据库系统管理员 1.4.5信息系统监理师
1.4.6信息系统评估师 1.4.7信息资源开发与管理人员 1.4.8信息系统设计人员
1.5制造类
1.5.1半导体器件测试工 1.5.2半导体器件制作工艺师 1.5.3半导体器件制造工 1.5.4半导体器件支持工 1.5.5半导体器件封装工
IT应用职业
2.1控制类
2.1.1单片机应用设计师 2.1.2控制系统设计师 2.1.3逻辑控制芯片编辑员 2.1.4数据自动采集与分析员
2.2应用系统开发类
2.2.1嵌入式系统开发师 2.2.2网站开发师 2.2.3游戏程序开发师 2.2.4射频识别系统开发师
2.3设计类
2.3.1计算机平面设计师
2.4商务类
2.4.1网络编辑员 2.4.2计算机网络客户服务人员 2.4.3网上销售员
2.5娱乐类
2.5.1数字视频制作师 2.5.2数字音频制作师 2.5.3三维动画制作员 2.5.4游戏美术设计师
2.6教育类
2.6.1网络课件制作师
2.7通讯类
IT相关职业
3.3.1电子标签操作员
世界IT发展史(1936-2004)
1936年
英国数学家A.ing发明图灵机,为现代计算机硬件和软件做了理论上的准备。
1942年
世界上第一台电子计算机研制成功,它有300个电子管,采用二进制,基本体系结构与现代计算机已无二致。
1943年
英国计算机“巨人”投入运行。不过1970年之前对它一直保密。
1945年
现代计算机之父:冯·诺依曼第一次提出存储程序计算机的概念,即“冯·诺依曼机器”。
1946年
2月10日,电子数字积分机和计算机诞生。它装有18000个真空管,总重量达30吨,耗资近50万美元,是世界上第一台多功能、全电子数字计算机,可以实现每分钟几千次乘法运算。
1946年
5月英国剑桥大学研制成功第一台冯·诺依曼机器。
1947年
12月23日,美国贝尔电话实验室发明了世界上第一个晶体管。
1948年
曼彻斯特大学开发出世界首台存储程序机Baby。
1950年
Engineering h iates制造出世界上第一台商用计算机ERA 1101。
1951年
第一台数字式计算机1为美国人口普查创建。
1952年
e Hopper勾画出第一个“编译程序”蓝图,即将所有程序在执行之前都翻译成机器语言,为计算机商用做出重大贡献。
1955年
e Hopper开发出A-3编译器Math-。
1956年
世界上第一台采用晶体管元件的电脑研制成功。
第一条跨越大西洋的电话电缆敷设完成。
Bell实验室开发出可视电话样机。
1957年
IBM设计出世界上第一个计算机硬盘 350,直径24英寸、总容量5兆字节。
IBM开发出FORTRAN语言。
1958年
第一台商用电子管计算机 Model 80发布。
MIT John arthy开始开发Lisp语言,1960年完成。
1959年
世界上第一块集成电路问世。
发表了Cobol语言规格,于1961年完成。
1964年
IBM发布IBM System/360计算机。
1965年
推出真正被业界认可的世界上第一台标准小型机PDP-8。
美国Dartmouth 学院的Thomas tz 和 John Kemeny 开发出语言。
世界上第一部程控电话交换机—美国贝尔系统1号电子交换机问世。
国际卫星通信组织发射了一颗半试验半实用的静止(同步)通信卫星,标志着同步卫星通信时代的开始。
1967年
美国《Computerworld》报创刊。
IBM推出世界上第一张软盘,直径为32英寸。
瑞士的Njklaus Wirth 在 Algol的基础上开始开发al语言,于1971年完成。
1968年
IBM开发出世界上第一个数据库管理系统IMS。
挪威计算中心的O.l和ard发表了第一个面向对象语言Simula 67。
1969年
贝尔实验室用汇编语言开发出第一个多任务多用户的计算机分时系统Unix。
IBM允许客户分开购买它的软件和硬件,从而建立了软件市场。
美国国防部开始研究ARPANET,人们将此视为Internet的开端。
1970年
美国贝尔实验室的Ken Thompson 和Dennis chie开始开发Unix操作系统。
传输损耗仅为20分贝/公里的光纤和在室温下能连续工作的半导体激光器研制成功,光纤通信走向实用化。
1971年
Intel 开发出世界上第一个微 处理 器4004。
Niklaus Wirth 开 发出al语言。
Gary Starkweather在施乐的实验室里研制出世界上第一台激光打印机。
1972年
Bell实验室的Dennis hie开发出C语言。
国际电报电话咨询委员会(CCITT)首次提出ISDN的概念。
1973年
法国Luminy-Marseilles 大学的Alain Colmerauer 开发了Prolog语言。
马丁·库珀发名手机,成为第一个使用移动电话的人。
1974年
美国国防部开发出TCP(传输控制协议)。
Intel推出 8080微处理器,并被世界首台商业PC所采用。
Zilog公司推出处理器Z-80。
第一台商业成功的PC牛郎星8800研制成功。
IBM首次提出计算机精简指令集。
Xerox推出第一台工作站样机Xerox Alto。
在第一届计算机国际象棋冠军赛中,俄罗斯程序KAISASA获胜。
1975年
比尔·盖茨和保罗·艾伦为牛郎星开发了世界上第一套标准的微电脑软件,并创办了rosoft公司。
Xerox和斯坦福大学联合推出“以太网”(Ethernet)。该网络成为局域网的第一个工业标准产品。
1976年
第一台商业成功的巨型机Cray-1 研制成功,运算速度达每秒2.5亿次。
Hayes推出第一个PC调制解调器。
1977年
第一台带彩显的PC苹果II正式亮相。
世界上第一个商用光纤通信系统在美国芝加哥的两个电话局(相距7公里)之间开通。
1978年
TCP分成TCP和IP。
1981年
世界上第一台便携式电脑Osborne面世。
8月12日首次以“个人计算机(PC)”命名的IBM PC面世。它采用Intel的8088处理器和rosoft的MS-DOS操作系统。
Ashton-Tate推出dBaseⅡ。
自称Captain Zap的23岁小伙子Ian Murphy潜入白宫、五角大楼和BellSouth的计算机系统。
1983年
蜂窝移动电话通信系统投入商用。
1984年
Apple推出Apple intosh机。
域名系统被创建。
MIPS计算机系统公司创建,并与斯坦福大学着手开发体系结构。
HP推出面向个人的激光打印机。
1985年
Intel推出386微处理器。
Windows 1.0正式版本上市。
1986年
国家科学基金会创建骨干网速度为56KB/秒的NSFnet。
1987年
IBM和rosoft公司发布OS/2 1.0。
柯达推出世界上首台百万像素商业数码相机。
1988年
11月1日,美国康奈尔大学的研究生Robert Morris在ARPANET中试验计算机病毒的可行性想法时,释放了一个实验性的网络蠕虫程序,在8小时之内,这一程序侵入了3000台~6000台运行Unix操作系统的VAX机和Sun计算机,造成严重损失。Morris既是病毒制造者,又是Internet上的首例黑客。
第一个横跨大西洋的海底通信光缆(TAT-8)系统敷设成功。
1989年
美国发射了第一颗全球定位系统(GPS)工作卫星。
英国科学家Timothy Berners Lee开发出万维网。
新加坡创新公司推出声霸卡,标志着PC多媒体时代的来临。
1990年
IBM发布基于的RS/6000。
World Wide Web 软件开发成功。
Internet搜索程序hie在McGill大学问世。
最早的局域网交换机研制成功。
1991年
芬兰赫尔辛基大学学生Linus Torvalds开发出Linux操作系统,并将它作为自由软件传播。
1992年
3月22日Intel推出第5代芯片Pentium处理器。
1993年
Peter de Jager在《Computerworld》上发表“2000年末日”一文,对Y2K问题的危险性及解决成本提出警告。
美国克林顿政府宣布了美国国家信息基础设施的规划,简称NII,俗称信息高速公路。
rosoft正式发布Windows NT。
1994年
美国ape公布用于Internet 的浏览器Navigator。
Internet进入商品化时代。
1995年
rosoft推出32位桌面操作系统Windows 95。
icrosoft推出Internet 浏览器Internet Explorer。
IP电话初次亮相,推出Internet Phone客户软件。
世界上第一个商用CDMA移动通信网在香港开通。
Sun公司推出Java语言。
le公司总裁拉里·埃里森提出网络计算机(NC)概念。
在Internet上卖出第一本书。
一些与网络有关的公司挂牌上市。ape成为第三大Nasdaq IPO股票价值。
域名登记不再免费,每年收费50美元。
1996年
美国34所著名大学在芝加哥发起研发“下一代Internet”项目。
可改写光盘(CD-RW)技术问世。
PDA产品Palm Pilot 1000上市。
1997年
IBM“深蓝”机上的国际象棋软件,第一次打败了世界国际象棋冠军 Gary Kasparov。
IETF提出IPv6标准。
无线局域网标准IEEE 802.11出台。
Yahoo和等成功上市。
电子商务发展年,网上零售商超过了10万家。截至1997年年底,在Web网站上的网络设备销售额为30亿美元,Dell网站上每天的PC销售额达100万美元。1997年, 64亿美元的总收入的39%源于其Web网站。
1998年
苹果电脑面世。
Larry Page和Sergey Brin创建了Google,Google成为被广泛应用的Internet搜索引擎。
英国广播公司()在世界上首先播放了数字电视节目。
“铱星”系统开始向全世界提供个人通信商业服务。
1月26日,Compaq以96亿美元收购。
加拿大北方电讯以91亿美元并购美国Bay。
10月19日美国联邦法院决定正式开庭审理美国司法部和20个州政府对微软所提起的反垄断诉讼。
11月服务商an Online以42亿美元股价收购ape 通信公司。
1999年
1月14日朗讯科技宣布以240亿美元收购end。
2000年
1月10日全球最大的Internet接入服务商a Online宣布以总交易金额超过1600亿美元的换股方式并购Time Warner。
5月17日全球最大的网上时装零售企业、欧洲资金最雄厚的公司宣布倒闭。美国至少有130家Internet公司因资金枯竭而倒闭。
美IT市场增速9年来首次放缓。
2001年
4月24日IBM公司宣布以10亿美元现金收购Informix的数据库业务。
5月29日Intel第一款64位处理器芯片Itanium正式发布。
8月28日rosoft发布第一个64位Windows操作系统Windows ed Server限制版。
9月4日,HP宣布将以250亿美元的股票交易价格收购Compaq。
9月NTT 在全球率先启动3G服务。
10月25日rosoft发布Windows XP。
12月NTT公司宣布将与Intel、SGI公司联合进行网格计算试验。
2002年
5月IEEE 802.3以太网标准组织批准了万兆以太网标准的最后草案。
IBM公司宣布投资10亿美元支持Linux。
表示,-2.3%的增长率使2002年成为IT产业有史以来最差的一年。
IBM宣布将投入100亿美元用于按需计算(On Demand)。
Nasdaq指数跌至6年前兴起前的水平。
2003年
3月SCO以“不当利用本公司拥有知识产权的Linux操作系统”为由起诉IBM。
3月12日Intel公司在全球同步发布其最新一代移动计算技术Centrino(迅驰)。
AMD推出分别面向桌面与移动计算平台的AMD Athlon 64位微处理器。
Apple推出在线音乐服务,开张后的第一周内就以每首歌99美分的价格销售了100万首。
2004年
1月14日RFID(Radio y ation)标准组织globa称确定了第一个全球性标准,以加速各公司采用RFID技术改进其供应链的运作。
4月2日,美国Sun公司宣布与微软公司达成一项为期十年的合作协议,了结了一切未决诉讼。根据协议,微软将向Sun支付7亿美元以解决所有未决反垄断问题,另外支付9亿美元解决所有专利问题。
6月28日Intel推出基于32/64位至强处理器的新平台系统。
未来10年的IT市场趋势
微软董事长比尔·盖茨(Bill Gates)曾经预测,与过去的10年相比,未来10年的软件和计算技术将有更大的进步,将影响到人类生活的方方面面.
那么未来10年的IT市场究竟会有哪些变化呢?美国知名IT网站《InfoWorld》日前对此进行了预测:
1. 出于成本因素考虑,整个IT市场逐步向云计算过渡.
2. 科技与人类的结合更加紧密,很大一部分人群将变成“电子人”.
3. 一套启动只需几秒钟的操作系统,执行任务时几乎无需等待,从来不会出现异常.
4. 信息机器Memex变为现实
Memex是美国科学家Vannevar Bush在1945年提出的构想,它采用微缩胶卷存储信息,自动翻拍,可以不断添加新信息.这样,用户在中途缺席会议时就无需担心错过会议内容;当灵感突现时,也无需用笔匆匆记下.
Integration Test(集成测试)
集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求)如根据结构图〕组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。
集成测试方法
集成测试应该考虑以下问题:
1、在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
2、各个子功能组合起来,能否达到预期要求的父功能;
3、一个模块的功能是否会对另一个模块的功能产生不利的影响;
4、全局数据结构是否有问题;
5、单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。
因此,单元测试后,有必要进行集成测试,发现并排除在模块连接中可能发生的上述问题,最终构成要求的软件子系统或系统。对子系统,集成测试也叫部件测试。
任何合理地组织集成测试,即选择什么方式把模块组装起来形成一个可运行的系统,直接影响到模块测试用例的形式、所用测试工具的类型、模块编号和测试的次序、生成测试用例和调试的费用。通常,有两种不同的组装方式:一次性组装方式和增值式组装方式。
集成测试的实施
集成测试是一种正规测试过程,必须精心计划,并与单元测试的完成时间协调起来。在制定测试计划时,应考虑如下因素:
1、是采用何种系统组装方法来进行组装测试;
2、组装测试过程中连接各个模块的顺序;
3、模块代码编制和测试进度是否与组装测试的顺序一致
4、测试过程中是否需要专门的硬件设备;
解决了上述问题之后,就可以列出各个模块的编制、测试计划表,标明每个模块单元测试完成的日期、首次集成测试的日期、集成测试全部完成的日期、以及需要的测试用例和所期望的测试结果。
在缺少软件测试所需要的硬件设备时,应检查该硬件的交付日期是否与集成测试计划一致。例如,若测试需要数字化仪和绘图仪,则相应测试应安排在这些设备能够投入使用之时,并需要为硬件的安装和交付使用保留一段时间,以留下时间余量。此外,在测试计划中需要考虑测试所需软件(驱动模块、桩模块、测试用例生成程序等)的准备情况。
集成测试完成标准
怎样判定集成测试过程完成了, 可按以下几个方面检查:
1、成功地执行了测试计划中规定的所有集成测试;
2、修正了所发现的错误;
3、测试结果通过了专门小组的评审。
集成测试应由专门的测试小组来进行,测试小组由有经验的系统设计人员和程序员组成。整个测试活动要在评审人员出席的情况下进行。
在完成预定的组装测试工作之后,测试小组应负责对测试结果进行整理、分析,形成测试报告。测试报告中要记录实际的测试结果、在测试中发现的问题、解决这些问题的方法以及解决之后再次测试的结果。此外还应提出目前不能解决、还需要管理人员和开发人员注意的一些问题,提供测试评审和最终决策,以提出处理意见。
集成测试
集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有进程。
集成测试识别组合单元时出现的问题。通过使用要求在组合单元前测试每个单元并确保每个单元的生存能力的测试计划,可以知道在组合单元时所发现的任何错误很可能与单元之间的接口有关。这种方法将可能发生的情况数量减少到更简单的分析级别。
集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。也就是说,在集成测试之前,单元测试应该已经完成,集成测试中所使用的对象应该是已经经过单元测试的软件单元。这一点很重要,因为如果不经过单元测试,那么集成测试的效果将会受到很大影响,并且会大幅增加软件单元代码纠错的代价。
集成测试是单元测试的逻辑扩展。在现实方案中,集成是指多个单元的聚合,许多单元组合成模块,而这些模块又聚合成程序的更大部分,如分系统或系统。集成测试采用的方法是测试软件单元的组合能否正常工作,以及与其他组的模块能否集成起来工作。最后,还要测试构成系统的所有模块组合能否正常工作。集成测试所持的主要标准是《软件概要设计规格说明》,任何不符合该说明的程序模块行为都应该加以记载并上报。
所有的软件项目都不能摆脱系统集成这个阶段。不管采用什么开发模式,具体的开发工作总得从一个一个的软件单元做起,软件单元只有经过集成才能形成一个有机的整体。具体的集成过程可能是显性的也可能是隐性的。只要有集成,总是会出现一些常见问题,工程实践中,几乎不存在软件单元组装过程中不出任何问题的情况。从图1可以看出,集成测试需要花费的时间远远超过单元测试,直接从单元测试过渡到系统测试是极不妥当的做法。
集成测试的必要性还在于一些模块虽然能够单独地工作,但并不能保证连接起来也能正常工作。程序在某些局部反映不出来的问题,有可能在全局上会暴露出来,影响功能的实现。此外,在某些开发模式中,如迭代式开发,设计和实现是迭代进行的。在这种情况下,集成测试的意义还在于它能间接地验证概要设计是否具有可行性。
集成测试的目的是确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确。它所测试的内容包括单元间的接口以及集成后的功能。使用黑盒测试方法测试集成的功能。并且对以前的集成进行回归测试。
一、集成测试过程
二、单元测试工作内容及其流程
三、集成测试需求获取
集成测试需求所确定的是对某一集成工作版本的测试的内容,即测试的具体对象。集成测试需求主要来源于设计模型(Design Model)和集成构件计划(Integration Build Plan)。集成测试着重于集成版本的外部接口的行为。因此,测试需求须具有可观测、可测评性。
1. 集成工作版本应分析其类协作与消息序列,从而找出该工作版本的外部接口。
2. 由集成工作版本的外部接口确定集成测试用例。
3. 测试用例应覆盖工作版本每一外部接口的所有消息流序列。
注意:一个外部接口和测试用例的关系是多对多,部分集成工作版本的测试需求可映射到系统测试需求,因此对这些集成测试用例可采用重用系统测试用例技术。
四、集成测试工作机制
软件集成测试工作由产品评测部担任。需要项目组相关角色配合完成。如图示:
软件评测部:
软件项目组:
集成测试工作内容及其流程工作流程:
五、集成测试产生的工件清单
1、 软件集成测试计划
2、 集成测试用例
3、 测试过程
4、 测试脚本
5、 测试日志
6、 测试评估摘要
六、集成测试常用方案选型
集成测试的实施方案有很多种,如自底向上集成测试、自顶向下集成测试、Big-Bang集成测试、三明治集成测试、核心集成测试、分层集成测试、基于使用的集成测试等。在此,笔者将重点讨论其中一些经实践检验和一些证实有效的集成测试方案。
?自底向上集成测试
自底向上的集成(Bottom-Up Integration)方式是最常使用的方法。其他集成方法都或多或少地继承、吸收了这种集成方式的思想。自底向上集成方式从程序模块结构中最底层的模块开始组装和测试。因为模块是自底向上进行组装的,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)事前已经完成组装并经过测试,所以不再需要编制桩模块(一种能模拟真实模块,给待测模块提供调用接口或数据的测试用软件模块)。自底向上集成测试的步骤大致如下:
步骤一: 按照概要设计规格说明,明确有哪些被测模块。在熟悉被测模块性质的基础上对被测模块进行分层,在同一层次上的测试可以并行进行,然后排出测试活动的先后关系,制定测试进度计划。图2给出了自底向上的集成测试过程中各测试活动的拓扑关系。利用图论的相关知识,可以排出各活动之间的时间序列关系,处于同一层次的测试活动可以同时进行,而不会相互影响。
步骤二: 在步骤一的基础上,按时间线序关系,将软件单元集成为模块,并测试在集成过程中出现的问题。这里,可能需要测试人员开发一些驱动模块来驱动集成活动中形成的被测模块。对于比较大的模块,可以先将其中的某几个软件单元集成为子模块,然后再集成为一个较大的模块。
步骤三: 将各软件模块集成为子系统(或分系统)。检测各自子系统是否能正常工作。同样,可能需要测试人员开发少量的驱动模块来驱动被测子系统。
步骤四: 将各子系统集成为最终用户系统,测试是否存在各分系统能否在最终用户系统中正常工作。
方案点评: 自底向上的集成测试方案是工程实践中最常用的测试方法。相关技术也较为成熟。它的优点很明显: 管理方便、测试人员能较好地锁定软件故障所在位置。但它对于某些开发模式不适用,如使用XP开发方法,它会要求测试人员在全部软件单元实现之前完成核心软件部件的集成测试。尽管如此,自底向上的集成测试方法仍不失为一个可供参考的集成测试方案。
?核心系统先行集成测试
核心系统先行集成测试法的思想是先对核心软件部件进行集成测试,在测试通过的基础上再按各外围软件部件的重要程度逐个集成到核心系统中。每次加入一个外围软件部件都产生一个产品基线,直至最后形成稳定的软件产品。核心系统先行集成测试法对应的集成过程是一个逐渐趋于闭合的螺旋形曲线,代表产品逐步定型的过程。其步骤如下:
步骤一: 对核心系统中的每个模块进行单独的、充分的测试,必要时使用驱动模块和桩模块;
步骤二: 对于核心系统中的所有模块一次性集合到被测系统中,解决集成中出现的各类问题。在核心系统规模相对较大的情况下,也可以按照自底向上的步骤,集成核心系统的各组成模块。
步骤三: 按照各外围软件部件的重要程度以及模块间的相互制约关系,拟定外围软件部件集成到核心系统中的顺序方案。方案经评审以后,即可进行外围软件部件的集成。
步骤四: 在外围软件部件添加到核心系统以前,外围软件部件应先完成内部的模块级集成测试。<>
步骤五: 按顺序不断加入外围软件部件,排除外围软件部件集成中出现的问题,形成最终的用户系统。
方案点评: 该集成测试方法对于快速软件开发很有效果,适合较复杂系统的集成测试,能保证一些重要的功能和服务的实现。缺点是采用此法的系统一般应能明确区分核心软件部件和外围软件部件,核心软件部件应具有较高的耦合度,外围软件部件内部也应具有较高的耦合度,但各外围软件部件之间应具有较低的耦合度。
?高频集成测试
高频集成测试是指同步于软件开发过程,每隔一段时间对开发团队的现有代码进行一次集成测试。如某些自动化集成测试工具能实现每日深夜对开发团队的现有代码进行一次集成测试,然后将测试结果发到各开发人员的电子邮箱中。该集成测试方法频繁地将新代码加入到一个已经稳定的基线中,以免集成故障难以发现,同时控制可能出现的基线偏差。使用高频集成测试需要具备一定的条件: 可以持续获得一个稳定的增量,并且该增量内部已被验证没有问题; 大部分有意义的功能增加可以在一个相对稳定的时间间隔(如每个工作日)内获得; 测试包和代码的开发工作必须是并行进行的,并且需要版本控制工具来保证始终维护的是测试脚本和代码的最新版本; 必须借助于使用自动化工具来完成。高频集成一个显著的特点就是集成次数频繁,显然,人工的方法是不胜任的。
高频集成测试一般采用如下步骤来完成:
步骤一: 选择集成测试自动化工具。如很多Java项目采用Junit+Ant方案来实现集成测试的自动化,也有一些商业集成测试工具可供选择。
步骤二: 设置版本控制工具,以确保集成测试自动化工具所获得的版本是最新版本。如使用CVS进行版本控制。
步骤三: 测试人员和开发人员负责编写对应程序代soudu.org码的测试脚本。
步骤四: 设置自动化集成测试工具,每隔一段时间对配置管理库的新添加的代码进行自动化的集成测试,并将测试报告汇报给开发人员和测试人员。
步骤五: 测试人员监督代码开发人员及时关闭不合格项。
按照步骤三至步骤五不断循环,直至形成最终软件产品。
方案点评: 该测试方案能在开发过程中及时发现代码错误,能直观地看到开发团队的有效工程进度。在此方案中,开发维护源代码与开发维护软件测试包被赋予了同等的重要性,这对有效防止错误、及时纠正错误都很有帮助。该方案的缺点在于测试包有时候可能不能暴露深层次的编码错误和图形界面错误。
以上我们介绍了几种常见的集成测试方案,一般来讲,在现代复杂软件项目集成测试过程中,通常采用核心系统先行集成测试和高频集成测试相结合的方式进行,自底向上的集成测试方案在采用传统瀑布式开发模式的软件项目集成过程中较为常见。读者应该结合项目的实际工程环境及各测试方案适用的范围进行合理的选型。
集成的验证
《集成测试设计用例》中所设计的功能测试用例必须全部通过,性能及其他类型测试用例通过90%以上。在未通过的测试用例中,不能含有 ‘系统崩溃’和‘严重错误’错误,‘一般错误’小于5%。58xs8.com