第八章系统实施优秀PPT.ppt

上传人:石*** 文档编号:65718577 上传时间:2022-12-06 格式:PPT 页数:74 大小:2.43MB
返回 下载 相关 举报
第八章系统实施优秀PPT.ppt_第1页
第1页 / 共74页
第八章系统实施优秀PPT.ppt_第2页
第2页 / 共74页
点击查看更多>>
资源描述

《第八章系统实施优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第八章系统实施优秀PPT.ppt(74页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第八章系统实施第一页,本课件共有74页第一节第一节系统实施概述系统实施概述一、系统实施的目标一、系统实施的目标在系统分析与与系统设计的阶段中,开发人在系统分析与与系统设计的阶段中,开发人员为新系统设计了它的逻辑模型和物理模型。员为新系统设计了它的逻辑模型和物理模型。系统实施阶段的目标就是把系统设计的物理系统实施阶段的目标就是把系统设计的物理模型转换成可实际运行的新系统。系统实施模型转换成可实际运行的新系统。系统实施阶段既是成功地实现新系统,又是取得用户阶段既是成功地实现新系统,又是取得用户对新系统信任的关键阶段。对新系统信任的关键阶段。第二页,本课件共有74页二、系统实施的主要内容和步骤二、系

2、统实施的主要内容和步骤1物理系统的实施物理系统的实施:2程序设计程序设计:3系统调试系统调试:4人员培训人员培训:5系统切换。系统切换。第三页,本课件共有74页系统实施首先进行物理系统的实施,要根据系统实施首先进行物理系统的实施,要根据计算机物理系统配置方案购买和安装计算机计算机物理系统配置方案购买和安装计算机硬、软件系统和通信网络系统,还包括计算硬、软件系统和通信网络系统,还包括计算机机房的准备和设备安装调试等一系列活动,机机房的准备和设备安装调试等一系列活动,要熟悉计算机物理系统的性能和使用方法,要熟悉计算机物理系统的性能和使用方法,同时进行的工作是程序设计同时进行的工作是程序设计:接着进

3、行的工接着进行的工作是收集有关数据并进行录入工作作是收集有关数据并进行录入工作:然后是然后是系统调试系统调试:最后是人员培训和系统切换。最后是人员培训和系统切换。第四页,本课件共有74页第二节第二节物理系统的实施物理系统的实施安装地点:应考虑系统对电缆、电话、工作安装地点:应考虑系统对电缆、电话、工作空间、噪音和通讯条件及交通情况的要求。空间、噪音和通讯条件及交通情况的要求。两个要求:使用专门的地板,让电缆通过两个要求:使用专门的地板,让电缆通过地板孔道,连接中央处理机及各设备,保证地板孔道,连接中央处理机及各设备,保证安全。提供不中断电源,以免丢失数据。安全。提供不中断电源,以免丢失数据。第

4、五页,本课件共有74页第三节第三节程序设计程序设计一、程序质量标准一、程序质量标准可靠性(可靠性(Reliability):它可分解为两个方):它可分解为两个方面的内容:一是程序或系统的安全可靠性,面的内容:一是程序或系统的安全可靠性,如数据存取的安全可靠性,通讯的安全可如数据存取的安全可靠性,通讯的安全可靠性,操作权限的安全可靠性。另一个方靠性,操作权限的安全可靠性。另一个方面是程序运行的可靠性,这一点只能靠程面是程序运行的可靠性,这一点只能靠程序调试时严格把关来保证编程工作质量。序调试时严格把关来保证编程工作质量。第六页,本课件共有74页规范性(规范性(Standardability):即

5、系统的划分、):即系统的划分、书写格式、变量的命名等都是按统一规范进书写格式、变量的命名等都是按统一规范进行的。这对于今后程序的阅读、修改和维护行的。这对于今后程序的阅读、修改和维护都是十分必要的。都是十分必要的。可读性(可读性(Readability):即程序的清晰,没):即程序的清晰,没有太多繁杂的技巧,能够使他人容易读懂。有太多繁杂的技巧,能够使他人容易读懂。它对于大规模过程化开发软件非常重要。它对于大规模过程化开发软件非常重要。第七页,本课件共有74页可维护性可维护性(maintainability):即程序各部分相:即程序各部分相互独立,没有调用子程序以外的其它数据关互独立,没有调用

6、子程序以外的其它数据关联。也就是说不会发生那种在维护时,牵一联。也就是说不会发生那种在维护时,牵一发动全身的连锁反应。发动全身的连锁反应。第八页,本课件共有74页二、程序设计风格二、程序设计风格为了提高程序的可读性,在程序设计风格方为了提高程序的可读性,在程序设计风格方面应注意以下几点:面应注意以下几点:1适当的程序注释适当的程序注释注释原则上可以出现在程序中的任何位置。注释原则上可以出现在程序中的任何位置。注释一般分为两类:序言性注释和描述性注注释一般分为两类:序言性注释和描述性注释。释。第九页,本课件共有74页序言性注释出现在模块的首部,内容包括:序言性注释出现在模块的首部,内容包括:模块

7、功能说明、主要算法、所有参数的解释、模块功能说明、主要算法、所有参数的解释、该模块需调用的模块名、设计者姓名、复查该模块需调用的模块名、设计者姓名、复查人姓名、复查日期、修改日期等。人姓名、复查日期、修改日期等。描述性注释嵌在程序之中,用来说明其后的描述性注释嵌在程序之中,用来说明其后的程序段的功能。程序段的功能。第十页,本课件共有74页2有规律的程序书写格式有规律的程序书写格式恰当的书写格式将有助于阅读,在结构化程恰当的书写格式将有助于阅读,在结构化程序设计中一般采用所谓序设计中一般采用所谓“缩排法缩排法”来写程序,来写程序,即把同一层次的语句行左端对齐,而下一层即把同一层次的语句行左端对齐

8、,而下一层的语句则向右边缩进若干格书写,它能体现的语句则向右边缩进若干格书写,它能体现程序逻辑结构的深度。此外,在程序段与段程序逻辑结构的深度。此外,在程序段与段之间安排空白行,也有助于阅读。之间安排空白行,也有助于阅读。第十一页,本课件共有74页3恰当选择变量名恰当选择变量名理解程序中每个变量的含义是理解程序的关理解程序中每个变量的含义是理解程序的关键,所以变量的名字应该直观,易于理解和键,所以变量的名字应该直观,易于理解和记忆。例如采用有实际意义的变量名、记忆。例如采用有实际意义的变量名、不不用过于相似的变量名、用过于相似的变量名、同一变量名不要具同一变量名不要具有多种意义。此外,在编程前

9、最好能对变量有多种意义。此外,在编程前最好能对变量名的选取约定统一标准,以后阅读理解就会名的选取约定统一标准,以后阅读理解就会方便的多。方便的多。例如,用例如,用student表示学生,表示学生,age表示年龄。表示年龄。第十二页,本课件共有74页第四节第四节系统调试系统调试一、调试的意义和目的一、调试的意义和目的在管理信息系统开发周期的各个阶段都不可在管理信息系统开发周期的各个阶段都不可避免地会出现差错。避免地会出现差错。统计资料表明,对于一些较大规模的系统来统计资料表明,对于一些较大规模的系统来说,系统调试的工作量往往占程序系统编制说,系统调试的工作量往往占程序系统编制开发总工作量的开发总

10、工作量的40%以上。以上。第十三页,本课件共有74页调试的目的在于发现其中的错误并及时纠正,调试的目的在于发现其中的错误并及时纠正,所以在调试时应想方设法使程序的各个部分所以在调试时应想方设法使程序的各个部分都投入运行,力图找出所有错误。都投入运行,力图找出所有错误。第十四页,本课件共有74页二、调试的策略和基本原则调试的策略和基本原则一个小程序的控制流程图,该程序由一个循环语句组成,循环次数可达20次,循环体中是一组嵌套的IF语句,其可能的路径有五条,所以从程序的入口A到出口B的路径数高达5201014。如果编写一个调试例子,并用它来调试这个程序的一条路径要花一分钟,则调试每一条路径就需要二

11、亿年。第十五页,本课件共有74页从上例可以看出不可能把每一条路径都测试从上例可以看出不可能把每一条路径都测试完,也就是不可能进行穷尽测试(包含所有完,也就是不可能进行穷尽测试(包含所有可能情况的测试),只能用一定的测试用例可能情况的测试),只能用一定的测试用例(即样本)来测试。(即样本)来测试。用例测试只能查出程序中的错误,不能证明用例测试只能查出程序中的错误,不能证明程序没有错误。程序没有错误。第十六页,本课件共有74页调试阶段还应注意以下一些基本原则:调试阶段还应注意以下一些基本原则:(1)调试用例应该由)调试用例应该由“输入数据输入数据”和和“预期的预期的输出结果输出结果”组成。这就是说

12、,在执行程序之组成。这就是说,在执行程序之前应该对期望的输出有很明确的描述,调试前应该对期望的输出有很明确的描述,调试后可将程序的输出同它仔细对照检查。若不后可将程序的输出同它仔细对照检查。若不事先确定预期的输出,这可能把似乎是正确事先确定预期的输出,这可能把似乎是正确而实际是错误的结果当成是正确结果。而实际是错误的结果当成是正确结果。第十七页,本课件共有74页(2)不仅要选用合理的输入数据进行调试,还应选用)不仅要选用合理的输入数据进行调试,还应选用不合理的甚至错误的输入数据。许多人往往只注意前者不合理的甚至错误的输入数据。许多人往往只注意前者而忽略了后一种情况,为了提高程序的可靠性,应认真

13、而忽略了后一种情况,为了提高程序的可靠性,应认真组织一些异常数据进行调试,并仔细观察和分析系统的组织一些异常数据进行调试,并仔细观察和分析系统的反应。反应。(3)除了检查程序是否做了它应该做的工作,还应)除了检查程序是否做了它应该做的工作,还应检查程序是否做了它不该做的事情。例如除了检查工检查程序是否做了它不该做的事情。例如除了检查工资管理程序是否为每个职工正确地产生了一份工资单资管理程序是否为每个职工正确地产生了一份工资单以外,还应检查它是否还产生了多余的工资单。以外,还应检查它是否还产生了多余的工资单。第十八页,本课件共有74页(4)应该长期保留所有的调试用例,直至该)应该长期保留所有的调

14、试用例,直至该系统被废弃不用为止。在管理信息系统的调系统被废弃不用为止。在管理信息系统的调试中,设计调试用例是很费时的,如果将用试中,设计调试用例是很费时的,如果将用过的例子丢弃了,以后一旦需要再调试有关过的例子丢弃了,以后一旦需要再调试有关的部分时(例如技术鉴定系统维护等场合)的部分时(例如技术鉴定系统维护等场合)就需要再花很多人工。通常,人们往往懒得就需要再花很多人工。通常,人们往往懒得再次认真地设计调试用例,因而下次调试时再次认真地设计调试用例,因而下次调试时很少有初次那样全面。如果将所有调试用例很少有初次那样全面。如果将所有调试用例作为系统的一部分保存下来,就可以避免这作为系统的一部分

15、保存下来,就可以避免这种情况的发生。种情况的发生。第十九页,本课件共有74页三、测试的方法三、测试的方法测试包括三方面,即设计测试包括三方面,即设计“测试用例测试用例”,执,执行被测程序和分析执行结果并发现错误。行被测程序和分析执行结果并发现错误。设计测试用例是开始程序测试的第一步,也设计测试用例是开始程序测试的第一步,也是有效地完成测试工作的关键。是有效地完成测试工作的关键。按照在设计测试用例时是否涉及程序的内部按照在设计测试用例时是否涉及程序的内部结构,可以分为白盒测试和黑盒测试两种方结构,可以分为白盒测试和黑盒测试两种方法。法。第二十页,本课件共有74页白盒测试:测试者对被测试程序的内部

16、结构白盒测试:测试者对被测试程序的内部结构是清楚的,他从程序的逻辑结构入手,按照是清楚的,他从程序的逻辑结构入手,按照一定的原则来设计测试用例,检查程序中的一定的原则来设计测试用例,检查程序中的每一条通路是否都能按找预定的要求正确工每一条通路是否都能按找预定的要求正确工作。由于被测程序的结构对测试者是透明的,作。由于被测程序的结构对测试者是透明的,因此又称这类测试为玻璃盒测试或结构测试。因此又称这类测试为玻璃盒测试或结构测试。第二十一页,本课件共有74页黑盒测试的情况正好相反。此时,测试者把黑盒测试的情况正好相反。此时,测试者把被测程序看成一个黑盒,完全用不着关心程被测程序看成一个黑盒,完全用

17、不着关心程序的内部结构。设计测试用例时,仅以程序序的内部结构。设计测试用例时,仅以程序的外部功能为根据。一方面检查程序能否完的外部功能为根据。一方面检查程序能否完成一切应做的事情,另一方面要考察它能否成一切应做的事情,另一方面要考察它能否拒绝一切不应该做的事情。由于黑盒测试着拒绝一切不应该做的事情。由于黑盒测试着重于检查程序的功能,所以也称为功能测试。重于检查程序的功能,所以也称为功能测试。第二十二页,本课件共有74页人们在长期实践中总结了许多设计测试用例人们在长期实践中总结了许多设计测试用例的技术,属于白盒测试的有逻辑覆盖法(具的技术,属于白盒测试的有逻辑覆盖法(具体又可分为语句覆盖、判定覆

18、盖、条件覆盖、体又可分为语句覆盖、判定覆盖、条件覆盖、判定判定/条件覆盖、条件组合覆盖和路径覆盖)条件覆盖、条件组合覆盖和路径覆盖)。属于黑盒测试的有等价类划分、边界值分。属于黑盒测试的有等价类划分、边界值分析及错误推测法等。析及错误推测法等。通常设计测试数据的做法是:用黑盒法设计通常设计测试数据的做法是:用黑盒法设计基本的测试用例,再用白盒法补充一些方案。基本的测试用例,再用白盒法补充一些方案。第二十三页,本课件共有74页1.等价类划分等价类划分穷尽的黑盒测试需要使用所有有效的和无效的输入数据来测穷尽的黑盒测试需要使用所有有效的和无效的输入数据来测试程序,通常这是不现实的。因此,只能选取少量

19、有代表性试程序,通常这是不现实的。因此,只能选取少量有代表性的输入数据,以期用较小的代价暴露出较多的程序错误。的输入数据,以期用较小的代价暴露出较多的程序错误。这种方法是把被测试的程序的所有可能的输入数据这种方法是把被测试的程序的所有可能的输入数据(有效的和有效的和无效的无效的)划分成若干个等价类,把无限的随机测试变成有针划分成若干个等价类,把无限的随机测试变成有针对性的等价类测试。按这种方法可以合理地做出下列假定:对性的等价类测试。按这种方法可以合理地做出下列假定:每类中的一个典型值在测试中的作用与这一类中所有其它值每类中的一个典型值在测试中的作用与这一类中所有其它值的作用相同。因此,可以从

20、每个等价类中只取一组数据作为的作用相同。因此,可以从每个等价类中只取一组数据作为测试数据。这样可选取少量有测试数据。这样可选取少量有“代表性代表性”的测试数据,来代替的测试数据,来代替大量相类似的测试,从而大大减少总的测试次数。大量相类似的测试,从而大大减少总的测试次数。第二十四页,本课件共有74页设计等价类的测试用例一般分为两步进行:设计等价类的测试用例一般分为两步进行:第一步:划分等价类并给出定义第一步:划分等价类并给出定义:第二步:选择测试用例。第二步:选择测试用例。选择的原则是:有效等价类的测试用例尽量选择的原则是:有效等价类的测试用例尽量公用,以期进一步减少测试的次数公用,以期进一步

21、减少测试的次数:无效等无效等价类必须每类一例,以防漏掉本来可能发现价类必须每类一例,以防漏掉本来可能发现的错误。的错误。第二十五页,本课件共有74页划分等价类需要经验,下述几条启发式规则划分等价类需要经验,下述几条启发式规则可能有助于等价类的划分:可能有助于等价类的划分:如果规定了输入值的范围,则可划分出一个如果规定了输入值的范围,则可划分出一个有效的等价类(输入值在此范围内),两个有效的等价类(输入值在此范围内),两个无效的等价类(输入值小于最小值和大于最无效的等价类(输入值小于最小值和大于最大值)。大值)。如果规定了输入数据的个数,则类似地可以如果规定了输入数据的个数,则类似地可以划分出一

22、个有效的等价类和两个无效的等价划分出一个有效的等价类和两个无效的等价类。类。第二十六页,本课件共有74页如果规定了输入数据的一组值,而且程序对如果规定了输入数据的一组值,而且程序对不同输入值做不同处理,则每个允许的输入不同输入值做不同处理,则每个允许的输入值是一个有效的等价类,此外还有一个无效值是一个有效的等价类,此外还有一个无效的等价类(任一个不允许的输入值)。的等价类(任一个不允许的输入值)。如果规定了输入数据必须遵循的规则,则可如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和以划分出一个有效的等价类(符合规则)和若干无效的等价类(从各种不同角度违反规若干无效的

23、等价类(从各种不同角度违反规则)。则)。第二十七页,本课件共有74页如果规定了输入数据为整型,则可以划分出如果规定了输入数据为整型,则可以划分出正整数、零和负整数等三个有效类正整数、零和负整数等三个有效类:如果程序的处理对象是表格,则应该使用空如果程序的处理对象是表格,则应该使用空表,以及一项或多项的表。表,以及一项或多项的表。第二十八页,本课件共有74页划分初等价类以后,根据等价类设计测试用划分初等价类以后,根据等价类设计测试用例时主要使用下面两个步骤:例时主要使用下面两个步骤:设计一个新的测试用例以尽可能多地覆设计一个新的测试用例以尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤直盖尚未覆

24、盖的有效等价类,重复这一步骤直到所有有效等价类都被覆盖为止到所有有效等价类都被覆盖为止:设计一个新的测试用例,使它覆盖一个设计一个新的测试用例,使它覆盖一个而且只覆盖一个尚未覆盖的无效等价类,重而且只覆盖一个尚未覆盖的无效等价类,重复这一步骤直到所有无效等价类都被覆盖为复这一步骤直到所有无效等价类都被覆盖为止止:第二十九页,本课件共有74页等价类划分的例子等价类划分的例子某城市的电话号码由三部分组成。这三部分的名某城市的电话号码由三部分组成。这三部分的名称和内容分别是称和内容分别是地区码:空白或三位数字地区码:空白或三位数字:前前缀:非缀:非0或或1开头的三位数开头的三位数:后后缀:四位数字。

25、缀:四位数字。假定被调试的程序能接受一切符合上述规定的电假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,就可用等话号码,拒绝所有不符合规定的号码,就可用等价分类法来设计它的调试用例。价分类法来设计它的调试用例。第三十页,本课件共有74页第一步:划分等价类,包括第一步:划分等价类,包括4个有效等价类,个有效等价类,11个无效等价类。在每一等价类之后加有编个无效等价类。在每一等价类之后加有编号,以便识别。号,以便识别。第三十一页,本课件共有74页输入条件 有效等价类无效等价类地区码 空白(1),3位数字(2)有非数字字符(5),少于3位数字(6),多于三位数字(7)前缀

26、 从200到999之间的3位数字(3)有非数字字符(8),起始位为0(9),起始位为1(10),少于3位数字(11),多于3位数字(12)后缀 4位数字(4)有非数字字符(13),少于4位数字(14),多于4位数字(15)第三十二页,本课件共有74页第二步:确定调试用例。上表中有4个有效等价类,可以公用两个测试用例:调试数据调试数据范围范围期望结期望结果果()2762345等价类(1),(3),(4)有效(635)8059321等价类(2),(3),(4)有效 第三十三页,本课件共有74页对11个无效等价类,要选择11个调试用例,调试数据调试数据 范围范围 期望结果期望结果(20A)12345

27、67 无效等价类(5)无效(33)2345678 无效等价类(6)无效(7777)3456789 无效等价类(7)无效(777)34A6789无效等价类(8)无效(234)0456789无效等价类(9)无效(777)1456789 无效等价类(10)无效(777)346789 无效等价类(11)无效(777)23456789 无效等价类(12)无效(777)345678A 无效等价类(13)无效(777)345678 无效等价类(14)无效(777)34556789 无效等价类(15)无效 第三十四页,本课件共有74页2.边界值分析边界值分析经验表明,处理边界情况时程序最容易发生错误。例经验表

28、明,处理边界情况时程序最容易发生错误。例如,许多程序错误出现在下标、循环的边界等附近。如,许多程序错误出现在下标、循环的边界等附近。因此,设计使程序运行在边界情况附近的测试方案,因此,设计使程序运行在边界情况附近的测试方案,暴露出错误的可能性更大一些。暴露出错误的可能性更大一些。按照边界值分析法,应该选取刚好等于、稍小于和按照边界值分析法,应该选取刚好等于、稍小于和稍大于等价类边界值的数据作为测试数据,而不是稍大于等价类边界值的数据作为测试数据,而不是选取每个等价类内的典型值作为测试数据。选取每个等价类内的典型值作为测试数据。第三十五页,本课件共有74页3.错误推测法错误推测法使用边界分析法和

29、等价划分技术,可以帮助使用边界分析法和等价划分技术,可以帮助开发人员设计具有代表性的,容易暴露程序开发人员设计具有代表性的,容易暴露程序错误的测试用例。但是,不同类型不同特点错误的测试用例。但是,不同类型不同特点的程序通常又有一些特殊的容易出错的情况。的程序通常又有一些特殊的容易出错的情况。此外,有时分别使用每组测试数据时程序都此外,有时分别使用每组测试数据时程序都能正常工作,这些输入数据的组合却可能检能正常工作,这些输入数据的组合却可能检测出程序的错误。测出程序的错误。第三十六页,本课件共有74页错误推测法在很大程度上靠直觉和经验进行。错误推测法在很大程度上靠直觉和经验进行。它的基本想法是列

30、举出程序中可能有的错误它的基本想法是列举出程序中可能有的错误和容易发生错误的特殊情况,并且根据它们和容易发生错误的特殊情况,并且根据它们选择测试用例。选择测试用例。例如,输入数据为例如,输入数据为0的地方。输入数据的地方。输入数据“图书图书名称名称”处若输入空格,程序是否认为正确输处若输入空格,程序是否认为正确输入。图书的定价为负值,程序是否报错。入。图书的定价为负值,程序是否报错。第三十七页,本课件共有74页4.语句覆盖语句覆盖为了暴露程序中的错误,至少每个语句应该为了暴露程序中的错误,至少每个语句应该执行一次。语句覆盖的含义是,选择足够多执行一次。语句覆盖的含义是,选择足够多的测试数据,使

31、被测试程序中的每个语句至的测试数据,使被测试程序中的每个语句至少执行一次。少执行一次。第三十八页,本课件共有74页cPROCEDUREEXAMPLE(A,B:REAL:VARX:REAL)BEGINIF(A1)AND(B=0)THENX:=X/AIF(A=2)OR(X1)THENX:=X+1END:e第三十九页,本课件共有74页为了使每个语句都执行一次,程序的执行路径应该是为了使每个语句都执行一次,程序的执行路径应该是sacbed,为此只需要输入下面的测试数据(实际上,为此只需要输入下面的测试数据(实际上X可可以是任意实数),以是任意实数),A=2,B=0,X=4语句覆盖对程序的逻辑覆盖很少,

32、在例子中两个判语句覆盖对程序的逻辑覆盖很少,在例子中两个判定条件都只测试了被测模块的流程图上面的条件为定条件都只测试了被测模块的流程图上面的条件为真的情况,如果条件为假时处理有错误,显然不能真的情况,如果条件为假时处理有错误,显然不能发现。此外,语句覆盖只关心判定表达式的值,而发现。此外,语句覆盖只关心判定表达式的值,而没有分别测试判定表达式中每个条件取不同值时的没有分别测试判定表达式中每个条件取不同值时的情况。情况。第四十页,本课件共有74页在上面的例子中,为了执行在上面的例子中,为了执行sacbed路径,以测试路径,以测试每个语句,只需两个判定表达式(每个语句,只需两个判定表达式(A1)A

33、ND(B=0)和()和(A=2)OR(X1)都取真值,因此使)都取真值,因此使用上述一组测试数据就够了。但是,如果程序中用上述一组测试数据就够了。但是,如果程序中把第一个判定表达式中的逻辑运算符把第一个判定表达式中的逻辑运算符“AND”错写错写成成“OR”,或把第二个判定式中的条件,或把第二个判定式中的条件“X1”误写成误写成“X1错写成错写成了了X1,A1,B=0,B0在在b点有下述各种结果出现:点有下述各种结果出现:A=2,A2,X1,X1只需要使用下面两组测试数据就可以达到上述覆盖标准:只需要使用下面两组测试数据就可以达到上述覆盖标准:A=2,B=0,X=4(满足满足A1,B=0,A=2

34、和和X1的条件,执行路径的条件,执行路径sacbed)A=1,B=1,X=1(满足满足A1,B0,A2和和X1的条件,执行路径的条件,执行路径sabd)第四十五页,本课件共有74页条件覆盖通常比判定覆盖强,因为它使判定表达式中每个条条件覆盖通常比判定覆盖强,因为它使判定表达式中每个条件都取到了两个不同的结果,判定覆盖却只关心整个判定表件都取到了两个不同的结果,判定覆盖却只关心整个判定表达式的值。例如,上面两组测试数据也同时满足判定覆盖标达式的值。例如,上面两组测试数据也同时满足判定覆盖标准。但是,也可能有相反的情况,虽然每个条件都取到了两准。但是,也可能有相反的情况,虽然每个条件都取到了两个不

35、同的结果,判定表达式却始终只取一个值。例如,如果个不同的结果,判定表达式却始终只取一个值。例如,如果使用下面两组测试数据,则只满足条件覆盖标准并不满足判使用下面两组测试数据,则只满足条件覆盖标准并不满足判定覆盖标准(第二个判定表达式的值总为真):定覆盖标准(第二个判定表达式的值总为真):A=2,B=0,X=1(满足满足A1,B=0,A=2和和X1的条件,执行路径的条件,执行路径sacbed)A=1,B=1,X=2(满足满足A1,B0,A2和和X1的条件,执行路径的条件,执行路径sabed)第四十六页,本课件共有74页7.判定判定/条件覆盖条件覆盖既然判定覆盖不一定包含条件覆盖,条件覆既然判定覆

36、盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖,自然会提出一种盖也不一定包含判定覆盖,自然会提出一种能同时满足这两种覆盖标准的逻辑覆盖,这能同时满足这两种覆盖标准的逻辑覆盖,这就是判定就是判定/条件覆盖,它的含义是,选取足条件覆盖,它的含义是,选取足够多的测试数据,使得判定表达式中的每个够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,而且每个判定表条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。达式也都取到各种可能的结果。第四十七页,本课件共有74页对于前述例子而言,下述两组测试数据满足对于前述例子而言,下述两组测试数据满足判定判定/条件覆盖标准:条件覆盖标

37、准:I.A=2,B=0,X=4II.A=1,B=2,X=1但是,这两组测试数据也就是为了满足条件但是,这两组测试数据也就是为了满足条件覆盖标准最初选取的两组数据,因此,有时覆盖标准最初选取的两组数据,因此,有时判定判定/条件覆盖也并不比条件覆盖更强。条件覆盖也并不比条件覆盖更强。第四十八页,本课件共有74页8.条件组合覆盖条件组合覆盖条件组合覆盖是更强的逻辑覆盖标准,它要条件组合覆盖是更强的逻辑覆盖标准,它要求选取足够多的测试数据,使得每个判定表求选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。达式中条件的各种可能组合都至少出现一次。第四十九页,本课件共有74页对于

38、前面的例子,共有八种可能的条件组合,它们是:A1,B=0A1,B0A1,B=0A1,B0A=2,X1A=2,X1A2,X1A2,X1下面的四组测试数据可以使上面列出的八种组合每种至少出现一次:A2,B0,X4(针对1,5两种组合,执行路径sacbed)A2,B1,X1(针对2,6两种组合,执行路径sabed)A1,B0,X2(针对3,7两种组合,执行路径sabed)A=1,B=1,X=1(针对4,8两种组合,执行路径sabd)第五十页,本课件共有74页显然,满足条件组合覆盖标准的测试数据,显然,满足条件组合覆盖标准的测试数据,也一定满足判定覆盖、条件覆盖和判定也一定满足判定覆盖、条件覆盖和判定

39、/条条件覆盖标准。因此,条件组合覆盖是前述几件覆盖标准。因此,条件组合覆盖是前述几种覆盖标准中最强的。但是,满足条件组合种覆盖标准中最强的。但是,满足条件组合覆盖标准的测试数据并不一定能使程序中的覆盖标准的测试数据并不一定能使程序中的每条路径都执行到,例如,上述四组测试数每条路径都执行到,例如,上述四组测试数据都没有测试到路径据都没有测试到路径sacbd。第五十一页,本课件共有74页9.路径覆盖路径覆盖就是设计足够的测试用例,覆盖程序中所有可能的路径。下述四组输入数据能够覆盖前面途中的四条路径。(1)A=2,B=0,X=4(2)A=2,B=1,X=1(3)A=1,B=0,X=2(4)A=4,B

40、=0,X=4第五十二页,本课件共有74页因此,对软件系统进行实际测试时,应该联因此,对软件系统进行实际测试时,应该联合使用各种设计测试用例的方法,形成一种合使用各种设计测试用例的方法,形成一种综合策略。通常的做法是,用黑盒法设计基综合策略。通常的做法是,用黑盒法设计基本的测试用例,再用白盒法补充一些必要的本的测试用例,再用白盒法补充一些必要的测试用例。具体地说,可以使用下述策略结测试用例。具体地说,可以使用下述策略结合各种方法:合各种方法:在任何情况下都应该使用边界值分析的在任何情况下都应该使用边界值分析的方法。经验表明,用这种设计方法设计出的方法。经验表明,用这种设计方法设计出的测试用例暴露

41、程序错误的能力最强。测试用例暴露程序错误的能力最强。第五十三页,本课件共有74页必要时用等价划分法补充测试用例。必要时用等价划分法补充测试用例。必要时再用错误推测法补充测试用例。必要时再用错误推测法补充测试用例。对照程序逻辑,检查已经设计出的测试对照程序逻辑,检查已经设计出的测试用例。可以根据对程序可靠性的要求采用不用例。可以根据对程序可靠性的要求采用不同的逻辑覆盖标准,如果现有测试用例的逻同的逻辑覆盖标准,如果现有测试用例的逻辑覆盖程度没有达到要求的覆盖标准,则应辑覆盖程度没有达到要求的覆盖标准,则应再补充一些测试用例。再补充一些测试用例。第五十四页,本课件共有74页四、调试步骤调试步骤一个

42、管理信息系统通常由若干子系统组成,每个子系统又由若干模块(程序)组成。所以,可把调试工作分为模块(程序)调试、分调(子系统调试)和总调(系统调试)三个层次,调试过程依次是模块调试、分调、总调,如图所示。第五十五页,本课件共有74页1.模块调试模块调试模块(程序)调试的目的是保证每个模块本身能正常模块(程序)调试的目的是保证每个模块本身能正常运行,在该步调试中发现的问题大都是程序设计或详运行,在该步调试中发现的问题大都是程序设计或详细设计中的错误。对于模块调试,一般分成人工走通细设计中的错误。对于模块调试,一般分成人工走通和上机调试两步进行。和上机调试两步进行。人工走通就是打印出源程序,然后参照

43、设计说明人工走通就是打印出源程序,然后参照设计说明书(包括程序框图)的要求把呈现在纸上书(包括程序框图)的要求把呈现在纸上“走走”一一遍。程序的错误可分成语法错误和逻辑错误两种遍。程序的错误可分成语法错误和逻辑错误两种情况,一般只要认真检查就可以发现绝大部分的情况,一般只要认真检查就可以发现绝大部分的语法错误和部分逻辑错误。语法错误和部分逻辑错误。第五十六页,本课件共有74页而用计算机进行交互调试时,每发现一个错而用计算机进行交互调试时,每发现一个错误后要先改正错误才能继续调试,速度要明误后要先改正错误才能继续调试,速度要明显降低。所以,决不要一开始就将源程序键显降低。所以,决不要一开始就将源

44、程序键入计算机而忙于立即执行,而应先在纸上走入计算机而忙于立即执行,而应先在纸上走通。通。程序的检查最好请审查小组或其他开发者。程序的检查最好请审查小组或其他开发者。第五十七页,本课件共有74页当人工走通以后,就可以上机调试了。语法当人工走通以后,就可以上机调试了。语法错误比较容易发现和修改,因为高级语言都错误比较容易发现和修改,因为高级语言都具备语法检查功能,但是检查的全面性不尽具备语法检查功能,但是检查的全面性不尽相同。为了有效地发现并改正逻辑错误,一相同。为了有效地发现并改正逻辑错误,一方面,可认真设计调试用例,另一方面,要方面,可认真设计调试用例,另一方面,要充分利用所用高级语言提供的

45、调试机制或软充分利用所用高级语言提供的调试机制或软件工具。件工具。第五十八页,本课件共有74页2.分调分调分调也称子系统调试,就是把经过调试的模分调也称子系统调试,就是把经过调试的模块放在一起形成一个子系统来调试。主要是块放在一起形成一个子系统来调试。主要是调试各模块之间的协调和通信,即重点调试调试各模块之间的协调和通信,即重点调试子系统内各模块的接口。例如,数据穿过接子系统内各模块的接口。例如,数据穿过接口时可能丢失口时可能丢失:一个模块对另一个模块可能一个模块对另一个模块可能存在因疏忽而造成的有害影响存在因疏忽而造成的有害影响:把若干子功把若干子功能结合起来可能不产生预期的主功能等等。能结

46、合起来可能不产生预期的主功能等等。第五十九页,本课件共有74页如何将若干个模块连接成一个可运行的子系如何将若干个模块连接成一个可运行的子系统,通常有两种方法。一种方法是先分别调统,通常有两种方法。一种方法是先分别调试每个模块,再把所有模块按设计要求连成试每个模块,再把所有模块按设计要求连成一起进行调试,这种方法称为一起进行调试,这种方法称为“非渐增式非渐增式”调调试。另一种方法是把下一个要调试的模块同试。另一种方法是把下一个要调试的模块同已经调试好的那些模块结合起来进行调试,已经调试好的那些模块结合起来进行调试,调试完成后再把下一个应该调试的模块结合调试完成后再把下一个应该调试的模块结合进来调

47、试,这种方式称为进来调试,这种方式称为“渐增式渐增式”,这种方,这种方式实际上同时完成了模块调试和子系统调试。式实际上同时完成了模块调试和子系统调试。第六十页,本课件共有74页渐增式有利于排错。如果界面有错,它通常渐增式有利于排错。如果界面有错,它通常与最新加上去的那个模块有关,错误比较容与最新加上去的那个模块有关,错误比较容易定位,非渐增式则不然。易定位,非渐增式则不然。使用非渐增式可以并行(同时)同时所有模使用非渐增式可以并行(同时)同时所有模块,能充分利用人力,这对开发系统是很有块,能充分利用人力,这对开发系统是很有意义的。意义的。第六十一页,本课件共有74页3.总调总调经过分调,已经把

48、一个模块装成若干子系统经过分调,已经把一个模块装成若干子系统并经充分调试。接着的任务是总调,也称为并经充分调试。接着的任务是总调,也称为系统调试,它是经过调试的子系统装配成一系统调试,它是经过调试的子系统装配成一个完整的系统来调试,用以发现系统设计和个完整的系统来调试,用以发现系统设计和程序设计中的错误,验证系统的功能是否达程序设计中的错误,验证系统的功能是否达到设计说明书的要求。到设计说明书的要求。第六十二页,本课件共有74页第五节第五节人员培训人员培训为了使新系统能够按预期目标正常运行,对用户人员进为了使新系统能够按预期目标正常运行,对用户人员进行必要的培训是在系统转换之前不可忽视的一项工

49、作。行必要的培训是在系统转换之前不可忽视的一项工作。管理信息系统是一个人机系统,它的正常运行需要管理信息系统是一个人机系统,它的正常运行需要很多人参加工作,将有许多人承担系统所需输入信很多人参加工作,将有许多人承担系统所需输入信息的人工处理过程,以及计算机操作过程。这些人息的人工处理过程,以及计算机操作过程。这些人通常来自现行系统,他们熟悉或精通原来的人工处通常来自现行系统,他们熟悉或精通原来的人工处理过程,但缺乏计算机处理的有关知识,为了保证理过程,但缺乏计算机处理的有关知识,为了保证新系统的顺利使用,必须提前培训有关人员。新系统的顺利使用,必须提前培训有关人员。需要进行培训的人员主要有以下

50、三类:需要进行培训的人员主要有以下三类:第六十三页,本课件共有74页一、事务管理人员一、事务管理人员新系统能否顺利运行并获得预期目标,在很大程度上新系统能否顺利运行并获得预期目标,在很大程度上与这些第一线的事务管理人员(或主管人员)有关系。与这些第一线的事务管理人员(或主管人员)有关系。因此,可以通过讲座、报告会的形式,向他们说明新因此,可以通过讲座、报告会的形式,向他们说明新系统的目标、功能,说明系统的结构及运行过程,以系统的目标、功能,说明系统的结构及运行过程,以及对企业组织机构、工作方式等产生的影响。对事务及对企业组织机构、工作方式等产生的影响。对事务管理人员进行培训时,必须做到通俗、具

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com