信息系统工程_第1页
信息系统工程_第2页
信息系统工程_第3页
信息系统工程_第4页
信息系统工程_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

第10章实现与测试●系统实现●测试●系统过渡本章内容一系统实现1.1概述

1.系统实现的任务和工作

1)系统实现的任务

通过一系列集成过程,把信息系统的设计模型转变成为可以交付测试的信息系统,其重心是实现信息系统的软件。

★信息系统软件:由源程序代码、二进制可执行代码和相关的数据结构构成,这些内容以构件的形式被组织。

2)系统实现的工作:

▲确定系统的实现结构;

▲实现子系统,包括其中的类和接口;

▲单元测试;

▲系统集成等。

2.实现工作的特点

1)基于构件的实现●基于构件的实现:实现的工作需要把信息系统的设计模型,转变成为信息系统的实现构件,这些构件通过确定的连接接口,组装成为最终的信息系统软件。●构件的概念:信息系统软件的构成件。可表现为分析件、设计件、实现件、测试件等不同形式。

●构件的表示:在UML中,构件通过以下形式来表示:●构件的种类:一般的EXE程序文件也叫做OLE控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。Java运行在浏览器上的程序块,是继承Applet类。●构件的种类:Java应用程序数据库动态连接库:多个程序可同时使用的代码或数据库●构件的种类:主程序任务体基本框架实现之初第1次集成子系统1基本框架当前系统第2次集成子系统2当前系统当前系统第n次集成当前系统子系统n信息系统

2)基于集成的实现

集成是指把多个相对独立的构件或部分,根据目标的需要构成和谐、兼容和相互联系的整体,信息系统是以集成的方式实现的。图11.2系统实现工作过程3.实现的工作过程

1.2实现结构

1.实现结构的概念

实现结构(ImplementationArchitecture)是信息系统在实现阶段所呈现的系统结构,它由各个子系统按照确定的组成关系构成。

▲实现结构与设计结构的相同点系统框架完全相同,子系统的数目和相互之间的关系也完全一致。

▲实现结构与设计结构的区别两者子系统中的内容不同。设计子系统中包括功能逻辑设计、类的设计,而实现结构的子系统中则是构件和接口。实现结构与设计结构的区别:

2.确定实现结构

1)由设计结构得出实现结构

如果对子系统内部的内容不加区分,实现结构与设计结构完全相同。因此,可以把设计模型中的软件结构直接转换为信息系统的实现结构。

2)构件设计

构件的实现是在集成式的迭代过程中逐步完成的。但在结构实现中应该首先确定本子系统涉及到的构件。

图书销售接点

案例分析

售书处理子系统:提取的业务对象案例分析

“售书处理”子系统的构件

2.类的实现

类实现的工作:生成类,编写类属性代码,编写类操作代码等。

●楼宇管理概念类图●楼宇管理类图

●楼宇管理界面类楼宇信息管理界面房间信息管理界面楼宇信息管理界面程序:

●楼宇管理实体类楼房实体类程序:房间实体类程序:

●楼房管理器控制类楼房管理器控制类程序:

1.3系统集成1.系统集成的概念

系统集成按照设计要求,把构件组装成为最终可交付使用的信息系统的工作。系统集成的要素是构成信息系统的构成件。构成件包括:

▲开发件:包括所有代码件、数据库、文件等。

▲购入件:包括从原系统中继承的构件,从其它厂家购入的构件,以及从基础构件库中引用的构件等。

▲中间件。

系统集成需要把这些构件有效地构装成为最终系统。

2.系统集成的特点

系统集成是一个渐进的、逐步迭代的过程。需要通过多次迭代构成最终系统。在每一次迭代中:

●把多个类集成为构件

●把多个构件集成为子系统实现框架实现之初第1次集成子系统1实现框架当前系统第2次集成子系统2当前系统当前系统第n次集成当前系统子系统n信息系统

2)基于集成的实现

3.系统集成过程

1)设置集成环境。集成的基础环境是系统开发的环境。除此之外,为了有效地实施集成,常常还需要设置一些特殊环境。例如,设置特殊数据,编写集成所要的特定集成程序等。

2)组装。把所要集成的构成件通过汇合、编译、连接等过程,形成可以运行的中间系统。

3)集成测试。查找其中所存在的问题以及不协调的地方,形成能够达到预期目标的中间结果。二测试内容1概述2静态测试3动态测试4单元测试5集成测试6系统测试7验收测试

1.1测试的概念测试的定义

通俗说法:找出一段程序或者一份信息系统文档中问题的工作

,就叫做信息系统测试。IEEE给出的测试定义:测试使用人工的或自动的手段来运行或检测某个系统的过程,其目的在于检验它是否满足约定的需求或是比较预期结果与实际结果之间的差别。测试的对象-文档-程序

1.1测试的概念测试的目的

能够证明信息系统正常工作发现错误以提高信息系统质量,进行质量控制常见误区:发现错误是信息系统测试的唯一目的1.2测试的过程测试工作的主要内容

理解信息系统产品的功能要求和设计内容,并对其进行测试,检查信息系统是否与用户需求一致、是否与设计一致,写出相应测试结果报告。1.2测试的过程测试工作的流程需求分析结构设计详细设计编码实现需求分析审查结构设计审查详细设计审查代码审查系统测试设计集成测试设计单元测试设计系统测试实施集成测试实施单元测试实施信息系统测试=静态测试+动态测试静态测试动态测试设计阶段测试阶段信息系统开发验收测试设计验收测试实施验收1.3测试的原则常用原则测试应该“尽早地和不断地进行”。要清楚地知道完全测试程序是不可能的。所有的测试都应追溯到用户需求。将Pareto原则(80%的错误都起源于程序模块中的20%)应用于信息系统测试。为了达到最佳效果,应该由独立的第三方来设计并实施测试。保证测试用例的完整性和有效性。内容1概述2静态测试

3动态测试4单元测试5集成测试6系统测试7验收测试

2.1静态测试的概念静态测试的概念

-静态测试是指不执行程序,对文档以及代码进行的测试。-静态测试的对象是文档和程序。

2.1静态测试的概念静态测试的特点 -主要由人手工方式进行,可以充分发挥人主动性 -实施不需要特别条件,容易开展 -一旦发现错误就知道错误的性质和位置,不需要查错,因而修改成本低非常重要并且行之有效的测试方法!大公司的经验值:静态测试检测出的错误

数可占总错误数的80%以上

2.2静态测试的方法静态测试的方法

审查:个人审查/会议审查(适用于文档和代码)走查:会议走查(只适用于代码)建议:对于一个团队中新人比较多的时候推荐使用会议审查的方法。内容1概述2静态测试3动态测试4单元测试5集成测试6系统测试7验收测试

3.1白盒法与黑盒法的区别与联系

白盒法:

完全了解程序的结构和处理过程的情况下设计测试用例的一种方法。黑盒法:不考虑程序的内部结构和处理过程,仅仅根据程序的功能来设计测试用例的一种方法。

A只有黑盒测试

可检出的bug

C只有白盒测试

可检出的bug

B白/黑盒测试都可检出的bug

D白/黑盒测试都不可检出的bug3.2白盒法白盒法的技术指标:覆盖率

白盒法的例子程序和对应流程图例1:源程序voidsample(intA,intB,floatC){if((A>1)&&(B==0)){C=C/A;}if((A==2)||(C>1)){C=C+1;}}3.2白盒法1.语句覆盖:指程序中的每个可执行语句至少被执行一次的测试。例1的语句覆盖测试用例:(1)A=2,B=0,C=3几条语句全得到执行例1:源程序voidsample(intA,intB,floatC){if((A>1)&&(B==0)){C=C/A;}if((A==2)||(C>1)){C=C+1;}}3.2.白盒法2.判定覆盖:指程序中的每个分支至少执行过一次的测试。例1的判定覆盖测试用例:(1)A=3,B=0,C=0(路径:acd)(2)A=2,B=1,C=1(路径:abe)acd,abe两个分支得到执行3.2白盒法3.条件覆盖:指每一个判定条件中的每一个条件至少获得过一次可能的值的测试

。例1中在a点条件覆盖测试用例:(1)A=3,B=0(2)A=1,B=1判定覆盖关心整个判定表达式的值条件覆盖关心判定表达式中的每个条件的值既满足判定覆盖,又满足条件覆盖3.2白盒法4.判定/条件覆盖:同时满足判定覆盖和条件覆盖的测试。例1的判定/条件覆盖测试用例:(1)A=2,B=0,C=4(路径:ace)(2)A=1,B=1,C=1(路径:abd)3.2白盒法5.条件组合覆盖:指列出判定中所有条件的各种组合值,每一个可能的条件组合至少被执行一次的测试。例1的条件组合覆盖测试用例:(1)A=2,B=0,C=4(使得1和5的情况出现,路径:ace)(2)A=2,B=1,C=1(使得2和6的情况出现,路径:abe)(3)A=1,B=0,C=2(使得3和7的情况出现,路径:abe)(4)A=1,B=1,C=1(使得4和8的情况出现,路径:abd)每一个可能的条件至少被执行一次3.2白盒法6.路径覆盖:指程序中所有可能的路径都被至少执行过一次的测试。例1的路径覆盖测试用例:(1)A=2,B=0,C=4(路径:ace)(2)A=3,B=0,C=1(路径:acd)(3)A=1,B=0,C=2(路径:abe)(4)A=1,B=1,C=1(路径:abd)所有路径被执行一次3.2白盒法白盒法小结测试的强度

弱↓强

类型说明语句覆盖每个可执行语句至少要执行一次判定覆盖每个判定分支至少执行过一次条件覆盖每一个判定条件中的每一个条件至少获得过一次可能的值判定/条件覆盖同时满足判定覆盖和条件覆盖的要求条件组合覆盖列出判定中所有条件的各种组合值,每一个可能的条件组合至少被执行一次最好的测试应该是条件组合覆盖与路径覆盖的结合测试至少应该达到判定/条件覆盖3.3黑盒法等价类划分法等价类是指某个输入域的子集和。

有效等价类是指对于程序的规格说明来说是合理的,有意义的输入数据集合

无效等价类是指对于程序规格说明来说是不合理的,没有意义的数据集合例:有效/无效等价类测试用例有效等价类0分-59分“50”60分-100“78”无效等价类0分以下“-23”100分以上“156”非整数“63.5”非数字的输入“ab”输入为空“”3.3黑盒法边界值分析法经验表明处理边界情况时程序最容易发生错误,要特别注意重点测试。例:等价类划分中的例子有效/无效等价类测试用例说明有效等价类0分-59分“0”最小边界值“1”比最小边界值稍微大一点“50”中间任意值“58”比最大边界值稍微小一点“59”最大边界值60分-100“60”最小边界值。。。。。。。。。。。。3.3黑盒法错误推测法

基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。

实际测试中并不单独使用一种方法,而应该通过多种方法的综合使用,以便设计出高效率的测试用例

内容1概述2静态测试3动态测试4单元测试

5集成测试6系统测试7验收测试

4.1单元测试概述单元测试内容

对程序的基本组成单元进行的测试,验证每个单元是否完成了设计的预期功能

单元的含义一个函数,一个过程,或者一个类(可以根据具体情况划分)单元测试的步骤设计和编写测试用例构造测试环境和设置测试数据实施测试修改与回归测试提交测试报告4.1单元测试概述单元测试中的两种重要的函数

驱动函数是指调用被测单元的主程序。桩函数是指被测单元中调用到的一些还没有完成的函数的替代程序。4.2单元测试的策略单元测试中的几种常见策略策略优点缺点适用性自顶向下单元测试1.省去驱动模块的设计2.提供部分集成测试的基础并行性较差桩程序复杂度高自底向上单元测试1.省去桩模块的设计2.提供部分集成测试的基础并行性较差驱动程序复杂度高独立单元测试可以并行,工作效率高需要同时设计驱动程序和桩程序最容易实施实际中可以多种方法进行结合来实施测试4.3面向对象的单元测试与非面向对象测试的最大差别:1.所有的方法看成是类的一部分来测试2.特别注意对类的继承特性和多态特性进行的测试一般类的测试方法--随机测试:根据实际可运行的各个方法的要求(比如一个文件的最小操作序列:open,read,close)进行随机操作组合。--划分测试:从不同的方面对类进行分类测试

例如:基于状态/属性/功能的划分4.3面向对象的单元测试父子类的测试方法分层增量测试:指通过分析来确定子类中哪些部分需要添加测试用例,哪些继承的测试用例需要运行,以及哪些继承的测试用例不需要运行的测试方法。抽象类测试:类测试时需要建构一个类的实例之后再在进行测试目前有很多比较成熟的单元测试工具:CppUnit,C++Test,Jtest等等内容1概述2静态测试3动态测试4单元测试5集成测试

6系统测试7验收测试

5.1集成测试概述集成测试的内容

集成测试是在单元测试的基础上,将所有的模块按照系统设计的要求联合起来进行的测试。集成测试的对象

经过单元测试之后的程序集成测试的方法

大部分是白盒法集成测试的步骤基本与单元测试相同集成测试和单元测试的不能互相替代的:-集成测试关注的是各个模块的接口,以及各个模块组合之后是否运行正常,单元测试关注的是每个单元,每个模块内部处理。5.2集成测试的策略集成测试的策略一次性集成方式渐增式集成方式集成测试特别提醒:一般集成测试都是多个人联合进行,所以要求各个测试人员要及时交流,密切配合,不能有思想上的依赖。内容1概述2静态测试3动态测试4单元测试5集成测试6系统测试

7验收测试

6系统测试测试实施方法:一般采用黑盒法系统测试的内容:-功能测试、-性能测试-兼容性测试-压力测试-。。。系统测试有的场合下会借助测试工具来进行测试。例如:Winrunner,LoadRunner等内容1概述2静态测试3动态测试4单元测试5集成测试6系统测试7验收测试

7验收测试验收测试实施者:一般由用户,特定的第三方测试机构或者软件公司的QA部门验收测试实施方法:一般采用黑盒法验收测试的内容:功能、安全可靠性、易用性、可扩充性、兼容性、性能、资源占用率、用户文档等方面。

α测试和β测试是什么?三过渡与评价

3.1系统过渡

系统过渡是由新信息系统代替旧系统的过程。此阶段一般要完成两项任务:一是整理并输入真实数据,二是完成系统的切换。

1.数据的整理和输入

数据整理是按照新建立的信息系统对数据的格式和内容的要求,统一进行数据的收集、分类和编码。之后,把整理的数据输入到系统之中。

2.系统切换

1)直接式

直接式是当确定新系统能正常运行后,在某一确定时间,停止旧系统的运行,立即启用新的信息系统。

优点:简单、节省费用和人力。

缺点:风险较大。因为新系统没有真正担负过实际工作,运行中难免出现预想不到的问题。这种方法仅适用于系统规模小、业务简单、数据不很重要的应用场合。重要系统不宜采用此种方法。老系统新系统切换(a)直接式

2)并行式

并行式是针对直接式存在的问题,采用并行切换方法,即使新旧信息系统同时运行一段时间,经过一段时间的考验,对比结果没有问题后,便可用新系统正式代替旧系统。并行时间一般为3~5个月。这种方法虽没有多大风险,但费用高、工作量大。

老系统新系统并行(b)并行式3)分段式

分段式是对上面两种方法的综合,它的特点是分阶段、分部分进行新旧替换,这样既避免了直接式的风险,又减轻了并行式费用和人力资源的浪费。老系统新系统分段切换(c)分段式

3.2系统移交

当新系统完全取代了旧系统而投入正常运行后,就应该着手准备系统的移交工作,由开发方正式把信息系统的管理权移交给用户。除了移交信息系统之外,还需同时移交合同规定的信息系统开发的所有技术文档。

3.3系统评价

1.系统评价的目的

在信息系统正式投入稳定运行之后,就可对所开发的信息系统从技术性能及达到的经济效益等方面做出总体评价,以检查信息系统是否达到了预期的目标,并指出系统的优点和不足,提出改进意见。最后据此写出评价报告,为系统的改进和扩充指出方向。

2.系统评价的内容

1)技术性能评价

技术性能评价的主要内容有以下几方面:

(1)系统的总体技术水平。主要包括系统的技术先进性、实用性,系统的开放性与集成程度等。

(2)系统功能覆盖范围。主要包括对各个管理层次及各业务部门业务的支持程度,用户要求满意程度等。

(3)信息资源开发与利用的范围与深度。主要包括是否通过了信息的集成及功能的集成是否实现了业务流程的优化,人、财、物等资源的合理使用,对市场、客户等信息的利用率等。

(4)系统本身的质量。如系统的可使用性、正确性、适用性、可维护性、通用性、可靠性等。

(5)系统的安全性与保密性。主要包括业务数据是否会被破坏或被修改,数据使用权限是否得到保障,防攻击、防侵入的能力等。

(6)系统文档的完备性。

2)系统效益评价

系统效益评价可分为直接经济效益评价和间接经济效益评价。

直接经济效益评价:包括系统的投资额,运行费用,系统新增效益,投资回收期等。

间接经济效益评价:包括企业形象,对员工素质提高所起的作用,管理水平的提高,业务重组及管理流程优化,资源的合理利用,提高决策成功率等。系统评价一般需要在系统稳定运行一个时期,例如三个月或半年

温馨提示

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

评论

0/150

提交评论