第一篇:软件测试期末复习知识点总结大全
1.软件测试:是由“验证(verrificatione)”和“有效性确认(validation)”活动构成的整体: “验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。验证过程提供证据表明软件相关产品与所有生命周期活动的要求(如正确性、完整性、一致性、准确性等)相一致。相当于以软件产品设计规格说明书为标准进行软件测试的活动。
“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。一切从客户出发,理解客户的需求,对软件需求定义、设计的怀疑,发现需求定义和产品设计中的问题。这主要通过各种软件评审活动来实现,包括让客户参加评审、测试活动。
软件测试过程:(1)测试组织和管理(2)测试计划(3)测试用例实际(4)测试实施(5)测试结果分析(6)测试评审与报告 软件测试方法:白盒测试方法、黑盒测试方法、静态测试与动态测试、主动测试与被动测试、形式化测试方法、基于风险的测试、模糊测试方法、ALAC测试和随机测试方法
2.单元测试:是对软件基本组成单元进行的测试,而且软件单元是在与程序的其他部分相隔离的情况下进行独立的测试。
静态测试就是静态分析,对模块的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和仿真运行。
动态测试是通过真正运行程序发现错误,通过观察代码运行过程,来获取系统行为、变量实时结果、内存、堆栈、线程以及测试覆盖度等各方面的信息,来判断系统是否存在问题,或者通过有效的测试用例,对于的输入输出关系来分析被测程序的运行情况,来发现缺陷。静态测试、动态测试的区别:1.静态测试用于预防,动态测试用于矫正;2.多次的静态测试比动态测试的效率高;3,静态测试综合测试程序代码;4.在相当短的时间里,测试的覆盖率能达到100%,而动态测试经常只能达到50%测试左右;5.动态测试比静态测试更花时间; 6.静态测试比动态测试更能发现bug;7.静态测试的执行可以在程序编码编译前,动态是中能在编译后才能执行。
3.功能测试:一般须在完成集成测试后进行,而且是针对应用系统进行测试是根据产品规格说明书,来检验被测试的系统是否满足各方面功能的使用要求。
集成测试:也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试,其主要目的是检查软件单位之间的接口是否正确。集成测试包括非增量测试和增量测试两种方式,集成测试的策略主要有自顶向下和自底向上两种。
功能测试、集成测试区别:
4.回归测试:目的是在程序有修改的情况下,保证原有功能正常的一种测试策略和方法。程序在发现严重软件缺陷要进行修改或版本升级要新增功能,这时需要对软件进行修改,修改后的程序要进行测试,这时要检验软件所进行的修改是否正确,保证改动不会带来新的严重错误。
5.桩程序(Stub),也称桩模块:用以模拟被测模块工作过程中所调用的下层模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口。驱动程序(Driver),也称驱动模块:用以模拟被测模块的上级模块,能够调用被测模块。在测试过程中,驱动模块接受测试数据,调用被测模块并把相关的数据传送给被测模块。
软件缺陷:软件缺陷是指计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵,其结果会导致软件产品在某种程度上不能满足用户的需求。标准定义,从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
软件测试步骤: 即单元测试、集成测试、确认测试和系统测试。
1.开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。2.集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。3.确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。4.系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。
软件测试流程:需求分析和定义、系统设计、详细功能设计、编码、单元测试、功能测试、系统测试、验收测试
软件测试涉及的关键问题:1.测试过程和开发过程是同时开始,同时结束的,两者保持同步的关系;2.测试过程是对开发过程中阶段性成果和最终产品进行验证的过程,所以两者相互依赖;3.测试过程中的工作重点和开发工作的重点可能不一样,两者有各自的特点
黑盒测试的特点:1.不基于对系统内部的设计和实现。2.用例设计基于功能的定义和需求说明书。3.关注于测试数据的选择和测试结果的分析。
测试方法有:等价类划分、边界值分析法、判定表方法、因果图法、正交实验法、功能图法、错误推测法
黑盒测试缺点:1.对用例设计人员的经验要求较高,包括数据的选择,对潜在错误的敏感性;2.对于内部实现的bug不容易发现;3.不能提供直观的测试覆盖率。
白盒测试的特点:1.需要了解系统的整体设计和实现;2.对源代码进行审查;3.在单元测试阶段发现大量的缺陷;4.关注于系统的控制流和数据流;
测试方法有:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖、基本路径测试法
白盒测试缺点:1.不能确保系统是否完全符合需求说明书;2.白盒测试的代价会大于黑盒测试;3.需要源代码首先完成才能进行测试;
集成测试中自顶向下和自底向上方法
自顶向下法:从主控模块(主程序)开始,沿着软件的控制层次向下移动,从而逐渐把各个模块结合起来。具体步骤是:1.对主控模块进行测试,测试时用桩程序代替所有直接附属于主控模块的模块;2.根据选定的结合策略,每次用一个实际模块代替一个桩程序;3.在结合下一个模块的同时进行测试;4.为了保证加入模块没有引进新的错误,可能需要进行回归测试。优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误。缺点:需要桩程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力
自底向上法:从“原子”模块(即在软件结构最底层的模块)开始集成以进行测试,具体策略是:1.把底层模块组合成实现某个特定的软件子功能的族;2.写一个驱动程序,协调测试数据的输入输出;3.对由模块组成的子功能族进行测试;4.去掉驱动程序,沿软件结构自下向上移动,把子功能族组合起来形成更大的子功能族。优缺点:刚好和自顶向上相反
简述增量式集成测试的自顶向下和自底向上两种测试方法:自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。它的主要缺点是
需要提供被调用模拟子模块,被调用模拟子模块可能不能反映真实情况,因此测试有可能不充分。自底向上测试的优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也没有困难。它的缺点在于,直到最后一个模块被加入进去之后才能看到整个程序(系统)的框架
集成测试自底向上和自顶向下集成方法优缺点是什么?
自底向上集成方法尽早的对底层实用历程进行测试,可以避免编写众多的桩模块,使得系统底层的众多问题及早得到解决。缺点是在一些顶层构件非常重要的情况下,却将其放到了最后集成。
自顶向下集成方法则尽早进行了顶层控制模块的测试和集成,使得系统整体上得到验证,但却将底层实用历程的测试放到了最后。某些具有关键性能或作用的底层模块的问题将在最后才可能被发现。
简述系统测试过程的主要步骤及每个步骤的测试依据。
功能测试:测试依据是系统功能需求;
性能测试:测试依据是其他软件需求;
验收测试:测试依据是客户需求规格说明书;
安装测试:测试依据是用户环境
第二篇:软件测试期末复习
一、单项选择题:共20小题,每小题2 分,满分40分。
1.软件测试按照测试层次可以分为(C)A.黑盒测试、白盒测试//测试方式 B.功能性测试和结构性测试//测试目的 C.单元测试、集成测试和系统测试
D、动态测试和静态测试//测试方式
2、软件测试是采用(测试用例)执行软件的活动。
A.测试用例 B.输入数据 C.测试环境 D.输入条件
3.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:(D)
1预防软件发生错误 2发现程序错误 3提供诊断错误信息 A.只有1 B.只有2 C.只有3 D.都是
4、导致软件缺陷的最大原因是:(A)
A.软件需求说明书
B.设计方案 C.编码
D.维护
5、测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括(A)
A、测试输入、执行条件和预期的结果。
B、测试目标、测试工具 C、测试环境
D、测试配置
6、对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于(B)
A.测试
B.调试 C.回归测试
D.单元测试
软件测试是软件测试人员和程序员都参与的一项工作,是贯穿整个生命周期的,只需要发现软件的错误,而软件调试主要是程序员自己参与,对程序(设计、编码)进行修改、排除错误,主要是在开发阶段。
7、软件缺陷修复的代价最高的阶段为(A)
A、发布阶段
B、需求阶段 C、设计阶段
D、编码阶段
8、下列(B)是关于软件缺陷的描述。
A.导致软件包含故障的人的行为//软件错误 B.产品的异常情况
C.引起一个功能部件不能完成所要求的功能的一种意外情况 D.功能部件执行其规定功能的能
软件错误是指在软件生存期内的不希望出现或不可接收的人为错误,软件错误导致软件缺陷的产生。
软件缺陷是存在于软件(文档,数据,程序)之中不希望出现或不可接收的偏差;软件缺陷导致软件在运行某一特定条件时出现软件故障;这时软件缺陷被激活。
软件故障是指软件在运行过程中产生的不希望出现或不可接收的内部状态,对软件故障若无适当措施加以及时处理,就会是软件失效。
软件失效是指软件在运行时产生的不希望出现或不可接受的外部行为结果。
9、可作为测试停止的标准是(D)
A.当时间用光时
B.执行了所有的测试用例,但没有发现故障 C.当所有缺陷都已经清除时 D.当达到所要求的覆盖时
10、下列描述错误的是(A)
A.软件发布后如果发现质量问题,那是软件测试人员的错 B.穷尽测试实际上在一般情况下是不可行的 C.软件测试自动化不是万能的
D.测试能由非开发人员进行,调试必须由开发人员进行。
11、如下图所示的N-S图,至少需要(B)个测试用例完成逻辑覆盖。
A.15 B.16 C.17 D.18
12、下列(C)方法设计出的测试用例发现程序错误的能力最强。
A.等价类划分法 B.场景法
C.边界值分析法 D.决策表法
13、功能性测试是根据(A)来设计测试用例。
A、软件的规格说明 B、设计文档
C、程序的内部逻辑 D、维护手册
14、在软件修改之后,再次运行以前为发现错误而执行程序曾用过的测试用例,这种测试称之为(C)
A.单元测试 B.集成测试 C.回归测试 D.验收测试
15、(C)方法是根据输出对输入的依赖关系来设计测试用例的。
A.边界值分析 B.等价类 C.因果图法 D.错误推测法
16、测试工程师的工作范围会包括检视代码、评审开发文档,这属于(B)
A.动态测试
B.静态测试 C.黑盒测试
D.白盒测试
17、下列(B)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。
A.DD-路径图
B. 控制流图 C.MM-路径图
D. 模块调用图
18、自底向上增量式集成测试中,下面(C)描述是正确的。
A.测试由桩模块控制
B.最上面的模块最先测试
C.父单元用测试过的子单元测试
D.包含树的深度优先或广度优先遍历过程
19、以下关于测试用例特征的描述错误的是(C)A.最有可能抓住错误的; B.一定会有重复的、多余的; C.一组相似测试用例中最有效的; D.既不是太简单,也不是太复杂。20、(D)是一种关注变量定义赋值点(语句)和引用或使用这些值的点(语句)的结构性测试,主要用作路径测试的真实性检查。
A、基本路径测试
B、逻辑覆盖 C、决策表
D、数据流测试
二、判断题:共20小题,每题1分,满分20分)
1.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(T)2.软件质量保证和软件测试是同一层次的概念。(F)
3.我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没有缺陷。(F)
4.程序员兼任测试员可以提高工作效率。(F)
5.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(T)6.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。(T)7.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。T 8.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(T)9.调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的条件开始,结束的过程不可预计。(F)
10.白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(F)11.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试方法。(∨)12.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(∨)13.测试用例的数目越多,测试的效果越好。(x)
14.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。(x)15.单元测试属于动态测试。(∨)16.验收测试是以最终用户为主的测试。(∨)17.没有发现错误的测试是没有价值的。(∨)18.可以把不合格的开发人员安排做测试。(x)19.每一个软件项目都有一个最优的测试量。(∨)
20.黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(∨)
三、简答题:共4小题,每题5分,满分20分。
1、简单描述一下软件测试工程师一般会承担的一些具体工作。1:检视代码,评审开发文档(静态测试方法)
2:进行测试设计,写作测试文档(测试计划,测试方案,测试用例等)3:执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正。4:通过测试度量软件的质量。
2、黑盒测试与白盒测试各有哪些优缺点?
黑盒测试与软件如何实现无关,测试用例开发可以实现并行进行,因此可以压缩总的项目开发时间,缺点:测试用例可以之间可能存在严重的冗余。还会有未测试的软件漏洞。白盒测试局限于已经完成的代码行为当中,离代码太近,如果黑盒测试结合白盒测试的覆盖率指标执行,冗余和漏洞问题会被发现并解决。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷。
3、画图描述测试层次与传统开发V型瀑布模型的对应
4、有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。请写出该函数采用基本边界值分析法设计的测试用例。
(2000,6,1),(2000,6,2),(2000,6,30),(2000,6,31),(2000,1,15),(2000,2,15)(2000,13,15),(2000,12,15),(1900,6,15),(1901,6,15),(1999,6,15),(2100,6,15)(2000,6,15)
测试用例来自等价类的边界;正好等于;刚刚大于;刚刚小于边界的值
四、综合题:共1小题,每题20分,满分20分。
1、使用基本路径测试方法,为以下程序段设计测试用例。(1)画出程序的控制流图。
(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。
(3)导出基本路径集,确定程序的独立路径。
(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。
void Do(int X,int A,int B){ 1 if((A>1)&&(B=0))2 X = X/A;3 if((A=2)||(X>1))4 X = X+1;5 }
由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。1: A>1; 2: B=0 ; 3: X = X/A ; 4: A=2 ; 5:X>1 ; 6: X = X+1; 7: }
第三篇:软件测试期末总结
1.下列关于软件测试的叙述错误的是(D)。
A.软件测试可以作为度量软件与用户需求间差距的手段 B.没有发现错误的测试也是有价值的
C.软件测试的根本目的是尽可能多地发现软件中存在的问题,最终把一个高质量的软件系统交给用户使用
D.软件测试的主要工作内容包括发现软件中存在的错误并解决存在的问题
2.软件测试技术可以分为静态测试和动态测试,下列说法中错误的是(D)A.静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。B.动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。C.动态测试包括黑盒测试和白盒测试。
D.白盒测试是静态测试,黑盒测试是动态测试。
3.月收入<=800元者免税,现用输入数800元和801元测试程序,则采用的是(A)方法。A.边界值分析 B.条件覆盖 C.错误推测 D.逻辑覆盖
4.等价类划分法的关键是(C)。A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类
D.确定系统中相同和不同的部分
5.某教学设备销售部门制定一项销售优惠政策,一次购买100台或100台以上者按八五折优惠,购买者是教师、学生按九折优惠。设C1表示购买的台数,C2为1、2、0分别表示教师、学生和其他人员,则符合九折优惠判定条件为(A)。A.(C1<100)AND NOT(C2=0)B.(C1<100)AND NOT(C2>0)C.NOT(C1>100)AND(C2=0)D.NOT(C1<100)AND(C2>0)
6.(D)能够有效地检测输入条件的各种组合可能会引起的错误。A.等价类划分 B.边界值分析 C.错误推测 D.因果图
7.软件测试用例主要由输入数据和(C)两部分组成。A.测试计划 B.测试规则 C.预期输出结果
D.以往测试记录分析
8.在用白盒测试中的逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等,其中(A)是最弱的覆盖准则。A.语句覆盖 B.条件覆盖
C.判定-条件覆盖 D.条件组合覆盖 9.以下不属于白盒测试技术的是(D)A.逻辑覆盖 B.基本路径测试 C.循环覆盖测试 D.等价类划分
10.集成测试的策略一般分为:一次性集成和渐增式集成。下面哪一条真实地反映了前者与后者的不同?(A)。
A.后者比前者更适合大规模应用系统的集成测试
B.在集成测试中发现问题时,前者比后者更容易进行问题定位
C.前者需要开发驱动模块和桩模块,而后者不需要开发驱动模块和桩模块 D.前者不需要所有模块就绪,而后者需要所有模块就绪 11.集成测试又称为组装测试,其主要内容包括(C)。A.对整体的性能进行测试
B.用白盒法设计测试用例进行测试 C.确定组装策略和次序 D.对运行过程进行测试
12.全局数据结构的错误通常在(C)中检查。A.单元测试 B.有效性测试 C.集成测试 D.确认测试
13.软件开发公司组织内部人员,模拟各类用户行为对即将面市的软件产品进行的测试我们称之为(B)。A.系统测试
B.α测试 C.β测试 D.综合测试
14.对一个网站的连接速度测试属于(C)?
A.功能测试
B.客户端兼容性测试
C.性能测试 D.安全测试
15.软件测试管理是软件工程的保护性活动,其基本内容不包括(C)。A.测试组织管理 B.测试过程管理 C.效益管理
D.资源和配置管理
32.下面对软件测试流程的描述,哪个是正确的?(A)
A.制定测试计划->设计测试方案及测试用例->部署实施测试->执行测试->缺陷跟踪管理->测试总结报告
B.制定测试计划->部署实施测试->设计测试方案及测试用例->执行测试->缺陷跟踪管理->测试总结报告
C.部署实施测试->制定测试计划->设计测试方案及测试用例->执行测试->缺陷跟踪管理->测试总结报告 D.制定测试计划->设计测试方案及测试用例->执行测试->部署实施测试->缺陷跟踪管理->测试总结报告
15.与设计测试数据无关的是(D)A.该软件的设计人员 B.程序的复杂程度 C.源程序
D.项目开发计划
18.McCabe复杂性度量又称(B)。A.代码行度量 B.环路度量 C.程序量度量 D.功能性度量
1.(A)说明了软件测试与开发的并行关系,体现了测试贯穿于整个开发过程的思想。A.W模型 B.V模型 C.H模型 D.X模型
2.在下面几句中,判断哪一个是正确的。(D)。A.测试工作应在编码阶段结束后开始。
B.测试设计工作与软件开发活动是相互独立、相互无关的。
C.测试脚本是指一个测试包,它由一组逻辑相关的测试用例组成。D.过度测试会影响进度和增加成本。
3.以下哪种测试方法属于黑盒测试技术(C)。A.基本路径测试 B.循环覆盖测试 C.边界值分析测试 D.语句覆盖测试
4.程序功能说明中指出:由三个输入数据表示一个三角形的三条边长。根据黑盒法中的边界值分析法设计测试用例,应选(D)。A.a=3,b=4,c=5 B.a=1,b=2,c=4 C.上述A、B项目都应选上 D.a=1,b=2,c=3 5.某程序功能说明中列出“规定每个运动员参赛项目为1——3项”,应用黑盒法中的等价类划分法确定等价类是(D)。A.1<=项目数<=3 B.项目数<1 C.项目数>3 D.以上都是
6.如果某个程序的输入数据的可能值划分为n个合理等价类,m个不合理等价类,这些等价类均为数轴上的一个有限区间范围,则采用边界值测试方法至少需要(D)个测试用例。A.m+n B.2m+n C.2n+m D.2(m+n)7.在用白盒测试中的逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等,在下列覆盖中,(D)是最强的覆盖准则。A.语句覆盖 B.条件覆盖
C.判定-条件覆盖 D.条件组合覆盖 8.{ void SelectSort(datalist & list){ //对表list.V[0]到list.V[n-1]进行排序, n是表当前长度。
for(int i = 0;i < list.n-1;i++){ int k = i;
//在list.V[i].key到list.V[n-1].key中找具有最小关键码的对象 for(int j = i+1;j < list.n;j++)if(list.V[j].getKey()< list.V[k].getKey())k = j;
//当前具最小关键码的对象
if(k!= i)Swap(list.V[i], list.V[k]);//交换
} } 上面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey(),一是交换两数组元素内容的操作Swap():请问该程序段的McCabe环路复杂性为多少?(D)} A.2 B.3 C.4 D.5 9.对于传统软件来说,按集成粒度不同可以把集成测试分为(C)。①模块间集成测试 ②类内集成测试 ③类间集成测试 ④子系统内集成测试 ⑤ 子系统间集成测试 A.①②③ B.②③④ C.①④⑤ D.②③⑤
10.在有关集成测试的叙述中,(A)是正确的。A.测试底层模块时不需要桩模块 B.驱动模块的作用是模拟被调模块 C.自顶向下测试方法易于设计测试结果
D.自底向上测试方法有有利于提前预计测试结果 11.系统测试中主要用到的测试技术是(B)A.回归测试 B.黑盒测试 C.白盒测试 D.功能测试
12.不断执行同样的操作,如不停地启动或关闭程序、反复读写数据或者选择同一个操作。这种测试我们称之为(B)测试。A.强度 B.重复 C.压迫 D.重负
13.以下关于测试管理原则的描述中不正确的是(C)。A.实施全过程测试,有助于及时应对项目变化,降低测试风险。
B.软件应全面测试,不仅对所有产品进行测试,还要求开发人员和测试人员全面参与。C.不能将测试过程从开发过程中抽象出来,作为一个独立的过程进行管理。
D.尽早开展测试准备工作,能使测试人员较早了解测试难度、预测风险、提高效率。14.下面叙述中,哪一项不是测试项目管理者的职责?(B)。A.合理分配任务 B.负责建立测试环境 C.制订测试策略
D.将已有经验灵活应用到新项目中
15.下列所述的测试原则中,错误的是(D)。A.应设计非法输入的测试用例 B.测试用例要给出测试的预期结果 C.因维护修改程序后需回归测试 D.开发小组与测试小组合并
1.对于软件测试分类,下列各项都是按照不同阶段来进行的划分,除了(C)。A.单元测试 B.集成测试 C.黑盒测试 D.系统测试
2.在软件测试中,确认测试主要用于发现(B)阶段的错误。A.软件计划 B.需求分析 C.软件设计 D.编码
3.(C)方法根据输出对输入的依赖关系设计测试用例。A.路径测试 B.等价类 C.因果图
D.边界值分析
4.在功能测试中,假设求实数x的平方根,我们第1次输入“最小的负实数”进行测试,第2次输入“稍小于0”进行测试,第3次输入0进行测试,第4次输入“稍大于0”进行测试,第5次输入“最大的正实数”进行测试,那么这种测试属于(A)。A.边界值分析法 B.绝对值分析法 C.相对值分析法 D.等价类划分法
5.为了提高测试的效率,应该(D)。A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划
D.选择发现错误可能性大的数据作为测试数据
6.现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50。现从输入的角度考虑设计了一组测试用例:—100,100,0。设计这组测试用例的方法是(B)。A.条件覆盖法 B.等价类划分法 C.边界值分析法 D.错误推测法
7.实际的逻辑覆盖测试中,一般以(C)为主设计测试用例。A.条件覆盖 B.判定覆盖 C.条件组合覆盖 D.路径覆盖 8.{ PROCEDURE averagy i = 1;total.input = total.valid = 0;sum = 0;DO WHILE value[i] <>-999 AND total.input < 100 increment total.valid by 1;IF value[i] >= minimum AND value[i] <= maximum THEN increment total.valid[i];ELSE skip;ENDIF Increment i by 1;ENDDO IF total.valid > 0 THEN averagy = sum / total.valid;ELSE averagy =-999;ENDIF END averagy 上面是一个求平均值的程序,请问该程序段的McCabe环路复杂性为多少?(C)} A.4 B.5 C.6 D.7 9.测试人员在提交软件缺陷报告后,很可能发现开发人员对报告的缺陷存在异议。因此需要一个双方认同的准则,用于判定软件产品是否存在软件缺陷。在实际的软件项目工作中,我们通常采纳的判定准则是(B)。A.测试人员提供的这个软件缺陷的证据
B.软件产品的运行结果与需求规格说明书不一致 C.可以客观地描述这个软件缺陷 D.软件产品的运行结果与测试人员预期的不一致
10.从供选择的答案中选出同下列关于软件测试的各条叙述关系最密切的字句。
在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。此时,有必要用一些模块替代尚未测试过的下层模块。(A)A.桩 B.仿真器 C.模拟器 D.原型
11.集成测试时,能较早发现高层模块接口错误的测试方法为(A)。A.自顶向下渐增式测试 B.自底向上渐增式测试 C.非渐增式测试 D.系统测试
12.系统测试一般从客户角度考察和评价软件产品的质量,不考虑开发方关注的质量特性。那么,下面那一个质量特性一般不是系统测试的重点?(D)A.是否符合有关的国家和行业标准 B.产品版本升级是否容易
C.软件产品是否易于理解和使用 D.可复用的软件部件所占的比例
13.同时启动上百个模拟连接去请求服务器的服务,这种测试我们称之为(D)测试。A.安全 B.重复 C.容量 D.压力
14.在软件质量概念中,不属于测试要达到的目标为(D)A.确保建立了测试计划,并按照测试计划进行测试 B.确保测试计划覆盖了所有的系统规格定义和系统需求 C.确保经过测试和调试,软件仍旧符合系统规格和需求定义 D.确保设计变更被正确的跟踪、控制、文档化
15.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(B)A.功能测试 B.单元测试 C.结构测试 D.确认测试
1.提高测试的有效性十分重要,“高产”的测(C)。A.用适量的测试用例运行程序,证明被测程序正确无误
B.用适量的测试用例运行程序,证明被测程序符合相应的要求 C.用少量的测试用例运行程序,发现被测程序尽可能多的错误 D.用少量的测试用例运行程序,纠正被测程序尽可能多的错误 2.在一个软件项目中,开发人员主要承担哪项工(D)A.验收测试 B.系统测试 C.回归测试 D.单元测试
3.某信息管理系统中,允许用户输入8位数字的市话号码。如果使用等价类划分法来设计测试用例,从保证测试效果的角度看,你认为哪一组是最佳的选择(C)。A.63570007、80603805、100080、39103825 B.62570007、80603805 C.62570007、391038255、8252323、空值、h? D.39103825、8252323、@、*** 4.如果一个排序程序所设定的测试用例为:(1)表空
(2)表中只有一个元素
(3)表中均有相同的关键字值
(4)元素已排序,则此测试方法称为(D)。A.等价类划分法 B.边界值分析法 C.因果图法 D.错误推测法
5.软件测试方法中,黑盒、白盒测试法是常用的方法,其中黑盒测试主要用于测试(B)。A.结构合理性 B.软件的功能 C.程序正确性 D.程序内部逻辑
6.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(C)A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 7.{
int GetMax(int n, int datalist[ ])
{
intk=0;
for(int j=1;j if(datalist[j] > datalist[k])k=j; returnk; } 上面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。请问该程序段的McCabe环路复杂性为多少?(B)} A.2 B.3 C.4 D.5 8.使用程序设计的控制结构导出测试用例的测试方法是(B)A.黑盒测试 B.白盒测试 C.边界测试 D.系统测试 9.集成测试也叫做(A)。①单元测试 ②部件测试 ③组装测试 ④系统测试 ⑤确认测试 ⑥联合测试 A.③⑥ B.①② C.⑤⑥ D.③④ 10.渐增式集成测试是将模块一个一个地连入系统,每连入一个模块(C)。A.只需要对新连入的模块进行测试 B.都不需要再进行测试 C.要对新子系统进行测试 D.都要进行回归测试 11.软件开发公司组织各方面的典型用户在日常工作中对软件进行实际使用,并要求用户报告异常情况,这种测试我们称之为(C)。A.系统测试 B.α测试 C.β测试 D.综合测试 12.单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现(C)的错误。A.接口错误 B.编码错误 C.性能、质量不合要求 D.功能错误 13.在实际的软件项目工作中,测试人员运行测试用例,观察运行结果,当发现软件缺陷时提交软件缺陷报告。那么,测试人员判定一个运行结果中存在缺陷的准则是(C)。A.这个运行结果与测试人员预期的不一致 B.测试人员可以从中找到缺陷的证据 C.这个运行结果与测试用例中的预期结果不一致 D.开发人员承认这个运行结果中存在缺陷 14.软件测试计划开始于需求分析阶段,完成于(B)阶段。A.需求分析 B.软件设计 C.软件实现 D.软件测试 15.与设计测试用例无关的文档是(A)。A.项目开发计划 B.需求规格说明书 C.设计说明书 D.源程序 1.下面说法正确的是(C)。 A.经过测试没有发现错误说明程序正确 B.测试的目标是为了证明程序没有错误 C.成功的测试是发现了迄今尚未发现的错误的测试 D.成功的测试是没有发现错误的测试 2.不属于白盒测试的技术是(C)。A.语句覆盖 B.判定覆盖 C.边界值分析 D.基本路径测试 3.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(A)。A.系统功能 B.局部数据结构 C.重要的执行路径 D.错误处理 4.软件测试过程中的集成测试主要是为了发现(B)阶段的错误。A.需求分析 B.概要分析 C.详细设计 D.编码 5.软件测试不需要了解软件设计的(D)。 A.功能 B.内部结构 C.处理过程 D.条件 6.(C)方法根据输出对输入的依赖关系设计测试用例。A.路径测试 B.等价类 C.因果图 D.边界值分析 7.通常,在(D)的基础上,将所有模块按照设计要求组装成系统 A.组装测试 B.系统测试 C.验收测试 D.单元测试 9.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。 A.程序内部逻辑 B.程序的复杂度 C.使用说明书 D.程序的功能 10.与设计测试用例无关的文档是(A)。A.项目开发计划 B.需求规格说明书 C.设计说明书 D.源程序 1.负载测试是验证要检验的系统的能力最高能达到什么程度。错 2.健壮性测试的测试重点为当出现故障时,是否能够自动恢复或忽略故障继续运行。对 3.可用性测试是对于用户友好性的测试,是指在设计过程中被用来改善易用性的一系列方法。对 4.软件测试管理原则之一是全面测试,它的含义:一是对软件的所有产品进行全面的测试;二是测试人员应对测试的全过程进行全程的跟踪。错 5.程序代码编写完成之后,软件测试工作开始。错 6.软件测试是测试人员的事,与开发人员无关。错 7.软件的Bug就是指程序运行时出现的故障。错 8.在n个变量的程序中,用边界值分析法设计测试用例,测试用例的个数为4n+1。对 9.缺陷状态为“已解决”表示该缺陷已经被测试人员回归测试完毕,准备归档移除。错 10.处于“已解决”状态的缺陷,下一步状态只能是“重新提交”或者“已关闭”。对 1.在进行负载测试的同时进行安全性测试是不合情理的。错 2.在性能测试中,如果发现SQLServer资源监控中的一个指标缓存点击率偏高,这说明系统运行效率较高。对 3.在程序有修改的情况下保证原有功能正常的一种测试方法是回归测试。对 4.所有测试的标准都是建立在用户需求之上。对 5.黑盒测试用例在软件编码完成后才可以设计。错 6.软件测试技术要求不高,至少比编程容易多了。错 7.设计-实现-测试,软件测试是开发后期的一个阶段。错 8.在n个变量的程序中,采用健壮性边界值分析法设计测试用例,测试用例的个数为6n+1。对 9.缺陷状态为“打开”表示该缺陷已被开发人员看到。对 10.缺陷状态为“已拒绝”表示该缺陷开发人员拒绝修改。对 1.系统测试的目标是要找出软件在与系统其他部分协调工作时出现的所有故障。错 2.压力测试是通过逐步增加系统负载来测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,以此来获得系统性能提供的最大服务级别的测试。对 3.安全性测试最终证明应用程序是安全的。错 4.软件开发是一个渐进的过程,测试计划需要根据需求变更及时调整。对 5.项目立项前测试人员不需要提交任何工件。对 6.软件测试随便找一个能力差的人就能做。错 7.永远也不可能完成软件测试,这个重担将从开发方转移到客户/用户的身上,用户的每一次使用就是一次测试。对 8.当被测软件仍存在严重影响系统功能实现的缺陷,但存在合理的更正办法时,该软件可以发布。错 9.缺陷状态为“打开”表示该缺陷刚提交,开发人员还未看到该缺陷。错 10.处于“已拒绝”状态的缺陷,下一步状态只能是“重新提交”或者“已关闭”。对 1.性能测试的重点在于前期数据的设计与后期数据的分析。对 2.通常使用平均无故障时间MTBF来衡量系统的可靠性。对 3.先对每个模块分别测试,然后统一组装成软件系统的方法称为渐增式测试。错 4.测试计划是做好测试工作的前提。对 5.如果发布出去的软件有质量问题,那是软件测试人员的错。错 6.有时间就多测试一些,来不及就少测试一些。错 7.当用于软件测试的时间或资金不够用时,就完成了软件测试。错 8.当被测软件仍存在严重影响系统功能实现的缺陷,但不存在合理的更正办法时,该软件可以发布。错 9.缺陷状态为“已解决”表示该缺陷已经被开发人员修改好,但是测试人员还未进行回归测试。对 10.处于“打开”状态的缺陷,下一步状态只能是“已解决”或者“已拒绝”。对 一、方法论模型。 1、BOOCH、OMT、OOSE、Coad-Yourdon(前三者组成UML) 2、UML包括9种图,分别为用例图、静态图(包图、类图、对象图)、实现图(构件图、部署图)、行为图(活动图、状态图、交互图(顺序图、协作图))基本规范,泛化关联,包含关联,扩展关联 3、基本模型——类图、需求模型——用例图、辅助模型——其他各种图 4、两大工具:Rose、PowerDesigner 5、方法三要素:模型、工具和过程 6、结构化分析三视图模型E-R、DFD、STD 7、OMT方法的三大模型:对象模型、功能模型、动态模型 8、Coad/Yourdon方法的五大层次:对象-类、结构、主题、属性、服务 二、基本建模(类图与对象图) 1、类之间的关系:关联关系、依赖关系、泛化关系。 2、抽象类与接口:抽象类有些方法可以提供实现代码,接口所有的方法都没有提供实现代码。抽象类只能被继承,接口只能被实现。 3、类的版型:实体类(数据库、文件等)、边界类(如窗体、对话框)、控制类(协调交互) 三、需求建模(用例图) 1、参与者指系统以外的、需要使用系统或与系统交互的外部实体。可以分为:人、外部设备、外部系统。 2、参与者之间的关系:泛化关系,参与者与用例之间的关系:关联关系。用例之间的关系:泛化关系,包含关系,扩展关系。包含关系和扩展关系都是依赖关系的特例。 3、用例是对一个参与者使用系统的一项功能时所进行的交互过程的一个文字描述序列。是参与者可以感受到的系统服务或功能单元。 4、用例描述是一个关于参与者与系统如何交互的规范说明(包含用例用例名称、用例描述、基本事件流、参与者、前置后置条件等) 5、用例的进一步描述:活动图、顺序图(通信图) 四、行为建模(状态图与活动图) 1、行为模型包括:状态模型(状态图,单对象)、活动模型(活动图,多对象)、交互模型(顺序图,多对象)。 2、调用事件表示的是对操作的调用,变化事件一个布尔表达式变量的值发生变化。时间事件满足某一时间表达式的情况的出现。信号事件就是由一个对象异步地发送、并由另一个对象(即状态图所对应的对象)接收的已命名的实体。调用事件状态图内对象和外部对象都能发起,信号事件只能由外部发起。 3、对象处于不同的状态,导致后续要执行不同的操作。这些操作可能归属于不同的用例。一个用例的执行对应一个顺序图。顺序图刻画了多个对象之间的消息发送关系。需要多个用例的顺序图,来融合地描述一个对象的完整状态图。 4、活动表示的是某流程中的任务的执行,它可以表示某算法过程中语句的执行。 5、分叉表示的是一个控制流被两个或多个控制流代替,经过分叉后,这些控制流是并发进行的。汇合正好与分叉相反,表示两个或多个控制流被一个控制流代替。 6、泳道(swimlane)是活动图中的区域划分,根据每个活动的职责对所有活动进行划分,每个泳道代表一个责任区。关心的是其所代表的职责。 7、活动图用途:对业务过程进行建模。对某个方法具体过程建模。 8、状态与活动的区别:状态是一个对象所处的境况。通常是执行了一个(或多个)活动后的结局。活动是一段程序代码的执行,对应于若干个步骤的集成。不同的状态会导致不同的功能(对应于若干个活动)的执行。一个方法可能需要多个(也可以是一个)活动来完成。一个活动只能属于一个方法。一个用例对应于若干个活动。 五、交互建模(顺序图和协作图) 1、静态结构使用类图,动态结构使用顺序图、协作图、状态图、活动图。 2、对象:同类图中的对象,是类的实例 生命线:从对象图标向下延伸的一条虚线,表示对象存在的生命期 控制焦点(激活期):对象执行一个动作的时间段 消息:对象间的一次通信 调用消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息接收者放弃或返回控制。调用消息可以用来表示同步的意义。 3、顺序图一般对应一个用例。一个类中的职责对应该对象执行一个动作。 4、对象:同类图中的对象,是类的实例 ;链:对象之间的连接关系;消息:对象间的一次通信;对象生命周期:对象名称之后标以{new}约束表示创建对象,标以{destroy}约束表示销毁对象 5、协作图的建模同顺序图的建模,或者:可以从顺序图直接变换过来,或者:根据类图,画出对应的对象图。在链上附着消息。 6、顺序图和协作图的联系:都用于描述系统中对象之间的交互协作完成一项功能,彼此可以相互转换。区别:顺序图强调的是消息的时间顺序;协作图强调的是对象的空间位置关系。顺序图中有对象生命线和控制焦点;协作图中有路径,消息必须要有消息顺序号。顺序图可以表示生命线的分叉;协作图可以表示多对象、主动对象。 西南交通大学软件项目管理期末复习 第一章、第二章(略)第三章 1、软件过程模型的特征: 原型模型:创新性项目;技术攻关;快速验证。线性模型:一般性的软件开发过程(可定量管理)增量模型:软件产品。(可定量管理) 2、软件过程的选择依据 软件需求的确定性程度 似软件项目的开发经验 软件项目的性质(项目类型/产品类型) 客户的时间要求。 3、软件管理与工程的区别 工程:专注于事,专注于过程,专注于实施 管理:专注于人,专注于结果,专注于协调 4、软件管理要解决的问题 目标问题 范围问题 资源问题 组织问题 计划问题 实施控制 第四章 1、管理的地位 低于决策层而高于执行层 2、管理的基本职能 领导、组织、计划、指挥(控制)、协调 3、管理的过程 分析、计划、实施控制、总结检查 戴明环:计划、执行、检查、改进 第五章 组织+流程=业务 项目是一种旨在创造某种独特产品或服务的临时性努力。2 项目的内容 • 项目目标 • 项目范围 • 项目时间 • 项目投入 • 项目质量 • 项目风险 项目管理:是通过项目经理和项目组织的努力,运用系统 理论和方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法体系。4 项目管理的内容 • 定义项目 • 制定项目计划 • 项目组织实施 • 项目控制 • 项目的结束 5 项目管理的特点 • 项目管理是一项复杂的工作。• 项目管理具有创造性。• 项目管理需要集权领导和建立专门的项 目组织。• 项目负责人在项目管理中起着非常重要 的作用。6 项目管理的理解 • 项目管理是一种管理方法体系。 • 项目管理对象是项目,目的是更好地实现项目目标。• 项目管理的任务、职能:对资源进行计划、组织与控制。 • 项目管理职能主要是由项目经理执行的。 第六章 1 项目管理的核心内容 项目范围管理 项目时间管理 项目成本管理 2 项目的基本目标 – 技术目标(内容、质量)– 经济目标(成本、利润) – 时间目标(完成时间、交付时间)3 项目目标的概括 • 项目的基本目标:在规定的时间内,在规定的经费预算内,保证项目 任务符合质量地完成。 • 项目 基本目标中,包括了范围、时间与经费的要求。对应这三项基本 目标三大管理领域:项目范围管理、项目时间管理、项目成本管理。 第七章项目的启动与组织 1、立项申请。 2、组建项目组 2.1组织设计原理 • 组织设计的目的是解决劳动分工的问题。 • 组织设计的任务是提供组织结构图和编制职务说明书。 • 组织设计要点: – 职务设计与分析 – 部门划分 – 结构的调整与平衡 • 组织设计的原则 – 因事设职与因人设职相结合 – 权责对等的原则 – 命令统一的原则 2.2项目的组织模式 职能式、项目式、矩阵式、混合式 软件项目组的角色 – 项目经理 – 架构设计师(总工/技术负责人)– 设计人员 – 程序员 – 配置人员 – 测试人员 2.3项目经理应具备的素质 领导能力 沟通能力 谈判能力 问题解决能力 影响组织能力 3、策划/制作任务书 项目任务书:描述、里程碑、评价标准、假设与约束条件、利益干系人 4、项目开工会 第八章 范围管理 1、范围管理的三大工作:项目范围的识别、安排、控制 2、一个思维——自顶向下,逐步细化 一个分析工具——层次方框图 3、软件生命周期与项目生命周期的区别 4、软件产品的结构 • 软件产品结构是用户需求的概览; • 需求分析是软件产品范 围核定的主要方法,由 需求规格说明书进行描述。• 需求规格书的主要内容: – 功能要求 – 性能要求 – 运行环境要求 • 需求规格决定了产品范围 5、软件项目的工作结构——WBS • 软件生命周期、项目生命 周期决定了软件的工作结构;工作结构决定了项目 范围。 • 项目范围是指交付具有规定特征和功能的产品或服务所必须完成的工作。 • WBS的用途 – 项目范围控制 – 工作任务分配 – 资源分配 – 计划制定 – 费用估算 • WBS分解原则:可执行、全覆盖、80小时原则 6、项目范围的安排:项目计划 • 项目计划的内容:任务安排、时间安排、资源安排 • 任务的先后顺序及时间需求是项目时间、资源计划的基础。 • 注意可平行执行的任务与具有先后顺序的任务。 第九章 时间管理 1、三大工作:项目活动的时间分析、项目时间的计划、项目进度的控制 2、时间管理的五个主要过程 2.1活动定义 --确定为完成各种项目可交付成果所必须进行的诸项具体活动 2.2活动顺序 --确定活动之间的依赖关系,并形成文档; 2.3活动时间估算 --估算完成单项活动所需要的工作时段数; 2.4制定进度计划 --分析活动顺序、活动历时和资源需求,编制进度 计划; 2.5进度计划控制 --控制项目进度计划的变化。 3、项目活动图 项目活动图是项目活动及其逻辑关系(依赖关系)的图解表示。 3.1箭头图 基本符号: 活动(任务),箭线表示,箭尾i表示作业开始,箭头表示作业结束。事件,用 “○”表示,“○”是两条或两条以上箭线的交结点,又称为结点。 路径,自活动始点开始,顺着箭线的方向,经过一系列连续不断的作业和事件直至网络终点的通道。 一条路线上各项作业的时间之和是该路线的总长度(路长)。 关键路径,在一个网络图中有很多条路线,其中总长度最长的路线称为“关键路线”,关键路线上的各事件为关键事件,关键时间的周期等于整个工程的总工期。 3.2前导图 •基本符号: 项目任务,由矩形节点表示。 箭头,代表任务之间的依赖关系。• 节点的描述 最早开始时间(ES) 最迟开始时间(LS) 最早结束时间(EF) 最迟结束时间(LF)。 浮动时间性是关于活动的机动性的术语,它是一个活动在不影响项目完成时间下可以延迟的时间量。 浮动时间的计算 PLOAT TIME=LS-ES=LF-EF 关键路径 是决定项目历时的一系列活动,是项目整个过程中最长的路径。浮动时间小于或等于某指定值(通常是0)的活动来确定关键路径,关健路径上的任何活动延迟,都会导致整个项目完成时间的延迟,代表可以完成项目的最短时间量。关健活动,关健路径上的任一个活动均是关健活动。 4、进度计划 4.1进度计划表 4.2进度计划图 5、资源分配 5.1资源是指人员、设备和材料 5.2 资源分配是向一个项目的活动指派资源 5.3资源表:将所需每种资源的多少量化。 5.4资源甘特图:类似于甘特图,确定一个活动所用资源的时间段。5.5 资源柱状图: 也称资源负荷图,用于表明所需资源的总数。 6、两类不同计划方法的项目:受资源约束的进度计划与受时间约束的进度计划 6.1 基于资源的方法(也称受资源约束的进度计划):将可利用的资源分 配到活动,根据所识别的资源的可利用性,允许改变网络进度计划,历时可能会延长。 6.2受时间约束的进度计划:网络进度是固定的。缺少活动所需的资源用 负的浮动时间表示,浮动时间可能会变成负值。 7、进度控制 7.1进度记载 基于网络计划的进度记载 1、各活动实际作业时间记载 2、各活动实际开始、结束日期记载 3、已完活动记载 4、绘制实际网络图 7.2计划检查 检查关键路径的情况; • 检查其它路径的情况,查看是否有新的关键路径; 7.3计划调整 • 调整方法 – 采取组织措施或技术措施缩短关键路径上的后继作业时间; – 重新安排活动次序,调整力量,重新编制网络计划。•历时压缩:如何缩短进度计划 赶工:采取措施压缩项目总历时,在成本与进度间权衡,向关键活动增加资源,赶工经常会增加成本。 快速跟进:通常按顺序进行的活动,如设计和施工,因为要压缩项目进度,而将其重叠安排。快速跟进常常要重新返工,通常会增加风险。 赶工与快速跟进,首先均是在关键路径上进行,一旦压缩了历时,就要重新检查关健路径。历时压缩后,可能出现新的关健路径。 •资源利用:如何提高资源使用率或生产率 加班工作:增加劳动力费用,可能会降低生产率。 倒班工作:提高设备使用率。 学习曲线:重复的工作可以提高生产率。 第十讲 成本管理 1、三大工作 项目成本分析与估算、项目成本计划(财务预算)、项目成本控制 2、成本管理与范围界定 项目范围是项目成本估算的依据,项目成本估算反作用于项目范围,如根据估算结果更改项目范围。 3、项目成本估算过程 3.1估算依据 • WBS • 资源需求 • 活动工期 • 估算资料 • 历史信息 • 成本会计科目 • 已识别风险 3.2 成本估算 • 类比估算法 以过去类似活动的参数值或规模指标为基础,估算未来活动。 • 参数估算法 利用历史数据(如软件的代码行数)之间的统计关系来估算范围、成本,计划工作量ⅹ历史单位成本=活动成本 • 自下而上估算法 对工作组成部分进行估算,最后汇总得到整个工作的总投入。 • 三点估算法 •最可能的时间(Tm)、最乐观时间(To)、最悲观时间(Tp),按公式(To+4Tm+Tp)/6 3.3成本计划 •成本管理计划(财务预算) 4、财务管理工具 4.1资产负债表 4.2现金流量表 4.3利润表 4.4会计科目 5、项目融资 股权融资+债券融资= 项目融资 6、项目成本控制 6.1项目成本控制涉及对于各种能够引起项目成本变化因素的控制(事前控制),项目实施过程的成本控制(事中控制)和项目实际成本变动的控制(事后控制)三个方面。6.2控制依据: 项目成本基线; 项目的成本管理绩效报告; 项目的变更请求; 项目成本管理计划。 6.3项目成本控制的关键是项目不确定性成本的控制。项目不确定性成本控制的根本任务是识别和消除不确定性事件,从而避免不确定性成本发生。6.4项目不确定性成本的成因: 项目具体活动本身的不确定性(可发生或不发生); 活动规模及其所耗资源数量的不确定性; 项目活动所耗资源价格的不确定性(价格可高可低)。 第十一章 软件项目计划管理 1、计划阶段任务 工作分解结构-活动排序-资源工期成本估算-进度计划-风险沟通计划-项目计划 2、工作分解结构 2.1分解原则 完全穷尽,彼此独立 2.2最底层的特征 一个清晰的任务完成,一个清晰的责任人,能够估算工作量和工期,长度小于80小时 2.3 WBS与责任落实 3、活动排序 3.1 方法 按照客观规律排序、按照目标要求排序、按照轻重缓急排序、按照项目内在关系。3.2技巧 利用WBS,由低到高 3.3工期 4、前导图(PDM)资源、工期和成本估算 4.1资源类型:人员、物资、技术 4.2 考虑因素:我需要什么?什么时候需要?需要多少?由谁拍板? 4.3 估算方法: 参照第十章3.2+专家判断法 5、进度计划 5.1 进度计划:根据WBS、活动排序、工期估算和所需资源的结果进行分析,制定出项目计划。5.2 工具 甘特图法与关键路径法(参照第九章3.1) 6、风险沟通计划 6.1识别风险 头脑风暴法 6.2评估风险等级 用高、中、低评价考虑发生的可能性、对项目产生的影响。6.3制定风险响应计划 规避、转移、减轻、接受 6.4沟通计划 “四个适当”—适当时间将适当信息通过适当的渠道发送给适当的利益干系人。沟通原则:及时准确,信息量恰到好处 7、项目计划 7.1关键点: 明确项目范围、全面的风险识别、各关键干系人的识别和沟通计划 7.2常见问题: 对任务的分解不充分 风险防范意识不强和没有沟通计划 计划通常由个人制定,没有达到团队共识 第十二章 质量管理1、2、三个过程:质量计划编制-质量保证-质量控制 PDCA循环(By戴明) 计划(Plan)→实施(Do)→检查(Chick)→行动(Act)→计划(Plan) 3、质量计划编制 3.1 输入:关于质量的组织政策、特定的项目范围 说明书、产品描述、相关标准和准则。 3.2 输出:质量管理计划和为确保整个项目生命周期质量的各种检查表 3.3 IT项目中影响质量的范围部分包括 – 功能性 – 特色 – 系统输出 – 性能 – 可靠性 – 可维护性 4、质量保证 4.1 质量保证包括与满足一个项目相关的质量标准有关的所有资源与活动。4.2 工具 • 实验设计:也可以用来帮助保证和提高产品质量 • 基准比较分析法:是用于质量改进的技术,它是将具体项目时间或产品特性与那些在项目执行组织内部或外部的其他项目或产品的相应特性进行比较,从而产生质量改进的思想。 • 质量审计:是对特定质量管理活动的结构化审查,找出教训,改进现在或将来项目的执行。 5、质量控制 5.1质量控制:指监视项目的具体结果,确定其是否符合相关 的质量标准,并判断如何杜绝造成不合格结果的根源。质量控制应贯穿于项目的始终。5.2输入:接受决策、返工和过程调整。 – 接受决策:作为项目一部分而生产的产品或服务是否被接受或拒 绝。– 返工:指采取行动,是拒收事项达到和满足产品需求或规范或干 系人的其他期望。返工非常昂贵,要尽量避免。– 过程调整:是指在质量控制度量的基础上,纠正或防止进一步质 量问题的发生。 5.3 质量控制工具 5.3.1帕累托图: 5.3.2 6σ标准: 标准差在质量控制上很重要,因为它是一个决 定有缺陷个体的可接收数据的关键因素。6σ很常用。 5.3.3 测试 – 单元测试 – 综合测试 – 系统测试 – 用户验收测试 6、CMM/CMMI 6.1 CMM:软件能力成熟度模型 CMMI:综合能力成熟度模型 6.2基本原理 CMM强调连续的软件过程改进。该连续的改进基于多个演化步骤。CMM将这些演化步骤划分成五个级别。这种分级结构的理论依据是软件质量原理。每一级别都包括若干目标。当满足某一目标后,软件过程的相应部分便确定下来。五级成熟度定义了一个标准,用以度量机构的软件过程成熟度和评价其软件过程能力。 6.3基本内容 • 机构和资源的管理:涉及机构本身的责任,人员和其它资源设施。 • 软件工程过程及其管理:涉及软件工程过 程,即软件过程的深度、范围和完整性以 及如何度量、管理和改进这样的过程。 • 工具和技术:软件工程过程中使用的开发 工具和技术。 6.4CMM的五个成熟度级别 • 初始级 : 混沌 • 可重复级:有规章、经过训练的过程 • 定义级:标准化、一致的过程 • 管理级:可预测过程 • 优化级:可持续改进的过程 6.5关键实施KP • 关键过程域KPA(Key Process Areas) 一组相关联的活动;通过执行这些活动可以实现既定的过程能力。 • 关键实施KP(Key Practices) 使关键过程域得以有效实现和制度化的最大的基础设施和活动。 除第一级外,SW-CMM的每一级都是按完全相同的结构组 成的。每一级包含了实现这一级目标的若干关键过程域(KPA),每个KPA进一步包含若干关键实施活动(KP),无论 哪个KPA,它们的实施活动都统一按五个公共属性进行组织。 1、目标 每一个KPA都确定了一组目标,若这组目标在每一个项目都能实现,则 说明企业满足了该KPA的要求。若满足了一个级别的所有KPA要求,则表明达到了这个级别 所要求的能力。 2、实施能力 实施能力一般包括资源保证、人员培训等内容。它是企业实施KPA的前提条件。企业必须采取措施,在满足了这些条件后,才有可能执行KPA的活动。 3、执行活动 执行过程描述了执行KPA所需求的必要角色和步骤,一般包括计划、执行的任务、任务执行的跟踪等。在五个公共属性中,执行活动是唯一与项目执行相关的属性,其余四个属性则涉及企业CMM能力基础设施的建立。 4、度量分析 描述了过程的度量和度量分析要求。典型的度量和度量分析的要求是确定执行活动的状态和执行活动的有效性。 5、实施验证 验证执行活动是否与建立的过程一致。实施验证涉及到管理的评审和审计以及质量保证活动 6.6 五个公共属性 第十三章 软件项目的实施、监控与收尾 1、实施、监控阶段任务 沟通--项目监控--变更管理 2、沟通 2.1组内沟通 沟通需求:职责、授权、协调、状态。 会议:项目开工会、成员进度汇报、项目进展回(及时公开恰到好处)2.2 与高层、客户沟通 谁?为什么需要信息?需要什么样的信息?何种详尽程度?频度如何?你的目标?什么样的方法? 2.3 项目沟通要点 全体成员达成共识、沟通项目计划、规则,互相尊重,主动倾听,双赢。 3、项目监控 3.1 监控要点--高风险的任务 --与项目里程碑有关的进展--使用的资源和费用--人员的表现 3.2监控的方法和工具 项目进度计划表、会议、观察检查、跟踪行动计划、定期反馈及报告 4、变更管理 4.1变更源头 委托人:新的想法和欲望 团队:冲突 优先级:市场、其他项目影响 其他:法规、环境、企业变革等 4.2变更过程 提交变更申请-申请影响分析-评审分析结果-批准-实施变更,跟踪及发布动态 5、项目收尾 5.1评估与验收 财务、时间、质量、人力资源、环境、项目计划、项目控制 5.2 项目总结 5.3文件归档 第十四讲 企业人才类型与素质结构 高级技术人才:预备程序员-初级程序员-中级程序员-高级程序员-设计员-分析员-架构师 高级管理人才:预备程序员-配置经理-SQA经理-产品经理-研发部经理 高级综合人才:预备程序员-项目组长-项目负责人-项目经理-项目总监-技术总监第四篇:《软件系统分析与设计》期末复习知识点总结
第五篇:《软件项目管理》期末复习知识点总结