按照文档在不同阶段的顺序,单元测试设计的文档文档由哪些类型

《计算机应用基础》复习题

1.一般認为世界上第一台电子数字计算机诞生于()。

2.时至今日计算机仍采用存储程序原理,原理的提出者是()

3.微机硬件系统分为主机和外部设备两大部分,其中主机包括()

A 运算器、存储器和控制器

C 输入设备、输出设备

4.2015年11月,国际超级计算机大会上中国“天河二号”以每秒33.86千万亿次的浮点运算速度第()次蝉联冠军。

5.要移动窗口可以将鼠标指针移动到窗口的()。

6.不可能在任务栏上的內容是()

B 正在执行的应用程序窗口图标

C 已打开文档窗口的图标

7.Esc键的功能是()

A 删除光标所在字符 B暂停正在执行的操作

C用于结束和退絀程序,也可以取消正在执行的命令

D光标移至屏幕尾或当前行末

8.在Windows 7中单击“开始”按钮,就可以打开()

A “资源管理器”程序

9.在控制面板中,使用“添加/删除程序”的作用是()

D 安装或卸载程序D 在当前情况下,这项选择是没有意义的选中它不会有任何反映

10.在 Windows 7Φ,打开一个窗口后通常在其顶部是一个()。

11.在Windows 7资源管理器中选定文件后,打开“文件属性”()

A 右击选定的文件→“属性”菜单项

B 单击“编辑”→“属性”菜单项

C 单击“查看”→“属性”菜单项

D 单击“工具”→“属性”菜单项12.在Windows中,要设置屏幕保护程序可鉯使用控制面板的()。

A 添加/删除程序命令

D 外观和主题命令13.在Windows 7中要安装一个应用程序,正确的操作应该是()

A 打开“资源管理器”窗口,使用鼠标拖动

B 打开“控制面板”窗口双击“添加\删除程序”

D 打开“开始”菜单,选中“运行”项在弹出的“运行”对话框中copy命囹

14. 在Word编辑状态下,若光标位于表格外右侧的行尾处按Enter(回车)

  使用人工或者自动手段来运荇或单元测试设计的文档某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.

  软件单元测试設计的文档并不等于程序单元测试设计的文档软件单元测试设计的文档应该贯穿整个软件定义与开发整个期间。因此、概要设计、详细設计以及程序编码等各阶段所得到的文档包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件单元测試设计的文档的对象

  在对需求理解与表达的正确性、设计与表达的正确性、实现的正确性以及运行的正确性的验证中,任何一个环節发生了问题都可能在软件单元测试设计的文档中表现出来 


四、软件单元测试设计的文档方法 
软件单元测试设计的文档的基本方法 

  軟件单元测试设计的文档的方法和技术是多种多样的。
  对于软件单元测试设计的文档技术可以从不同的角度加以分:

  从是否需偠执行被测软件的角度,可分为静态单元测试设计的文档和动态单元测试设计的文档
  从单元测试设计的文档是否针对系统的内部结構和具体实现算法的角度来看,可分为和;

  黑盒单元测试设计的文档也称或它是在已知产品所应具有的功能,通过单元测试设计的攵档来检测每个功能是否都能正常使用在单元测试设计的文档时,把程序看作一个不能打开的黑盆子在完全不考虑程序内部结构和内蔀特性的情况下,单元测试设计的文档者在程序接口进行单元测试设计的文档它只检查程序功能是否按照需求规格说明书的规定正常使鼡,程序是否能适当地接收输入数锯而产生正确的输出信息并且保持外部信息(如或)的完整性。黑盒单元测试设计的文档方法主要有等价类划分、边值分析、因果图、错误推测等主要用于软件确认单元测试设计的文档。 “黑盒”法着眼于程序外部结构、不考虑内部逻輯结构、针对软件界面和软件功能进行单元测试设计的文档“黑盒”法是穷举输入单元测试设计的文档,只有把所有可能的输入都作为單元测试设计的文档情况使用才能以这种方法查出程序中所有的错误。实际上单元测试设计的文档情况有无穷多个人们不仅要单元测試设计的文档所有合法的输入,而且还要对那些不合法但是可能的输入进行单元测试设计的文档

  白盒单元测试设计的文档也称或,咜是知道产品内部工作过程可通过单元测试设计的文档来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构單元测试设计的文档程序检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能白盒单元测试设计的文档的主要方法有逻辑驱动、基路单元测试设计的文档等,主要用于软件验证

  “白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行单元測试设计的文档。“白盒”法是穷举路径单元测试设计的文档在使用这一方案时,单元测试设计的文档者必须检查程序的内部结构从檢查程序的逻辑着手,得出单元测试设计的文档数据贯穿程序的独立路径数是天文数字。但即使每条路径都单元测试设计的文档了仍然鈳能有错误第一,穷举路径单元测试设计的文档决不能查出程序违反了设计规范即程序本身是个错误的程序。第二穷举路径单元测試设计的文档不可能查出程序中因遗漏路径而出错。第三穷举路径单元测试设计的文档可能发现不了一些与数据相关的错误。

  ALAC单元測试设计的文档是一种基于客户使用产品的知识开发出来的单元测试设计的文档方法ALAC单元测试设计的文档是基于复杂的软件产品有许多錯误的原则。最大的受益者是用户缺陷查找和改正将针对那些客户最容易遇到的错误。

单元单元测试设计的文档的对象是软件设计的最尛单位模块单元单元测试设计的文档的依据是详细设描述,单元单元测试设计的文档应对模块内所有重要的控制路径设计单元测试设计嘚文档以便发现模块内部的错误。单元单元测试设计的文档多采用白盒单元测试设计的文档技术系统内多个模块可以并行地进行单元測试设计的文档。

  单元单元测试设计的文档任务包括:1 模块接口单元测试设计的文档;2 模块局部数据结构单元测试设计的文档;3 模块邊界条件单元测试设计的文档;4 模块中所有独立执行通路单元测试设计的文档;5 模块的各条错误处理通路单元测试设计的文档

  模块接口单元测试设计的文档是单元单元测试设计的文档的基础。只有在数据能正确流入、流出模块的前提下其他单元测试设计的文档才有意义。单元测试设计的文档接口正确与否应该考虑下列因素:
   1 输入的实际参数与形式参数的个数是否相同;
   2 输入的实际参数与形式参数的属性是否匹配;
   3 输入的实际参数与形式参数的量纲是否一致;
   4 调用其他模块时所给实际参数的个数是否与被调模块的形參个数相同;
   5 调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配;
   6调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致;
   7 调用预定义函数时所用参数的个数、属性和次序是否正确;
   8 是否存在与当前入口点无关的参数引用;
   10 对全程变量的定义各模块是否一致;
   11是否把某些约束作为参数传递

  如果模块内包括外部输入输出,还应该考虑下列因素:
   3 格式说明与输入输出语句是否匹配;
   4缓冲区大小与记录长度是否匹配;
   5文件使用前是否已经打开;
   6是否处理了文件尾;
   7是否处理了输入/输出错误;
   8输出信息中是否有文字性错误;

  检查局部数据结构是为了保证临时存储在模块内的数据在程序执荇过程中完整、正确局部数据结构往往是错误的根源,应仔细设计单元测试设计的文档用例力求发现下面几类错误:
   2变量无初值;
   3变量初始化或省缺值有错;
   4不正确的变量名(拼错或不正确地截断);
   5出现上溢、下溢和地址异常。

  除了局部数据结構外如果可能,单元单元测试设计的文档时还应该查清全局数据(例如FORTRAN的公用区)对模块的影响

  在模块中应对每一条独立执行路徑进行单元测试设计的文档,单元单元测试设计的文档的基本任务是保证模块中每条语句至少执行一次??的比较和不适当的控制流造成的錯误。此时基本路径单元测试设计的文档和循环单元测试设计的文档是最常用且最有效的单元测试设计的文档技术计算中常见的错误包括:
   1 误解或用错了算符优先级;
   2混合类型运算;
   3变量初值错;
   5表达式符号错。

  比较判断与控制流常常紧密相关单え测试设计的文档用例还应致力于发现下列错误:
   1不同数据类型的对象之间进行比较;
   2错误地使用逻辑运算符或优先级;
   3因表示的局限性,期望理论上相等而实际上不相等的两个量相等;
   4比较运算或变量出错;
   5循环终止条件或不可能出现;
   6迭代发散时不能退出;
   7错误地修改了循环变量

  一个好的设计应能预见各种出错条件,并预设各种出错处理通路出错处理通路同样需偠认真单元测试设计的文档,单元测试设计的文档应着重检查下列问题:
   1输出的出错信息难以理解;
   2记录的错误与实际遇到的错誤不相符;
   3在程序自定义的出错处理段运行之前系统已介入;
   4异常处理不当;
   5错误陈述中未能提供足够的定位出错信息。

  边界条件单元测试设计的文档是单元单元测试设计的文档中最后也是最重要的一项任务。众的周知软件经常在边界上失效,采用邊界值分析技术针对边界值及其左、右设计单元测试设计的文档用例,很有可能发现新的错误

  一般认为单元单元测试设计的文档應紧接在编码之后,当源程序编制完成并通过复审和编译检查便可开始单元单元测试设计的文档。单元测试设计的文档用例的设计应与複审工作相结合根据设计信息选取单元测试设计的文档数据,将增大发现上述各类错误的可能性在确定单元测试设计的文档用例的同時,应给出期望结果

  应为单元测试设计的文档模块开发一个驱动模块(driver)和(或)若干个桩模块(stub),下图显示了一般单元单元测试設计的文档的环境。驱动模块在大多数场合称为“主程序”它接收单元测试设计的文档数据并将这些数据传递到被单元测试设计的文档模块,被单元测试设计的文档模块被调用后“主程序”打印“进入-退出”。

  驱动模块和桩模块是单元测试设计的文档使用的软件洏不是软件产品的组成部分,但它需要一定的开发费用若驱动和桩模块比较简单,实际开销相对低些遗憾的是,仅用简单的驱动模块囷桩模块不能完成某些模块的单元测试设计的文档任务这些模块的单元单元测试设计的文档只能采用下面讨论的综合单元测试设计的文檔方法。

  提高模块的内聚度可简化单元单元测试设计的文档如果每个模块只能完成一个,所需单元测试设计的文档用例数目将显著減少模块中的错误也更容易发现。

时常有这样的情况发生每个模块都能单独工作,但这些模块集成在一起之后却不能正常工作主要原因是,模块相互调用时接口会引入许多新问题例如,数据经过接口可能丢失;一个模块对另一模块可能造成不应有的影响;几个子功能组合起来不能实现主功能;误差不断积累达到不可接受的程度;全局数据结构出现错误等等。综合单元测试设计的文档是组装软件的系统单元测试设计的文档技术按设计要求把通过单元单元测试设计的文档的各个模块组装在一起之后,进行综合单元测试设计的文档以便发现与接口有关的各种错误

  某设计人员习惯于把所有模块按设计要求一次全部组装起来,然后进行整体单元测试设计的文档这稱为非增量式集成。这种方法容易出现混乱因为单元测试设计的文档时可能发现一大堆错误,为每个错误定位和纠正非常困难并且在妀正一个错误的同时又可能引入新的错误,新旧错误混杂更难断定出错的原因和位置。与之相反的是增量式集成方法程序一段一段地擴展,单元测试设计的文档的范围一步一步地增大错误易于定位和纠正,界面的单元测试设计的文档亦可做到完全彻底下面讨论两种增量式集成方法。

  自顶向下集成是构造程序结构的一种增量式方式它从主控模块开始,按照软件的控制层次结构以深度优先或广喥优先的策略,逐步把各个模块集成在一起深度优先策略首先是把主控制路径上的模块集成在一起,至于选择哪一条路径作为主控制路徑这多少带有随意性,一般根据问题的特性确定以下图为例,若选择了最左一条路径首先将模块M1,M2M5和M8集成在一起,再将M6集成起来然后考虑中间和右边的路径。广度优先策略则不然它沿控制层次结构水平地向下移动。仍以下图为例它首先把M2、M3和M4与主控模块集成茬一起,再将M5和M6 和其他模块集资集成起来

  自顶向下综合单元测试设计的文档的具体步骤为:
   1 以主控模块作为单元测试设计的文檔驱动模块,把对主控模块进行单元单元测试设计的文档时引入的所有桩模块用实际模块替代;
   2 依据所选的集成策略(深度优先或广喥优先)每次只替代一个桩模块;
   3 每集成一个模块立即单元测试设计的文档一遍;
   4 只有每组单元测试设计的文档完成后,才着掱替换下一个桩模块;
   5 为避免引入新错误须不断地进行回归单元测试设计的文档(即全部或部分地重复已做过的单元测试设计的文檔)。

   从第二步开始循环执行上述步骤,直至整个程序结构构造完毕下图中,实线表示已部分完成的结构若采用深度优先策略,下一步将用模块M7替换桩模块S7当然M7本身可能又带有桩模块,随后将被对应的实际模块一一替代

  自顶向下集成的优点在于能尽早地對程序的主要控制和决策机制进行检验,因此较早地发现错误缺点是在单元测试设计的文档较高层模块时,低层处理采用桩模块替代鈈能反映真实情况,重要数据不能及时回送到上层模块因此单元测试设计的文档并不充分。解决这个问题有几种办法第一种是把某些單元测试设计的文档推迟到用真实模块替代桩模块之后进行,第二种是开发能模拟真实模块的桩模块;第三种是自底向上集成模块第一種方法又回退为非增量式的集成方法,使错误难于定位和纠正并且失去了在组装模块时进行一些特定单元测试设计的文档的可能性;第②种方法无疑要大大增加开销;第三种方法比较切实可行,下面专门讨论

  自底向上单元测试设计的文档是从“原子”模块(即最低層的模块)开始,因单元测试设计的文档到较高层模块时所需的下层模块功能均已具备,所以不再需要桩模块

  自底向上综合单元測试设计的文档的步骤分为:
   1 把低层模块组织成实现某个子功能的模块群(cluster);
   2 开发一个单元测试设计的文档驱动模块,控制单元測试设计的文档数据的输入和单元测试设计的文档结果的输出;
   4 删除单元测试设计的文档使用的驱动模块用较高层模块把模块群组織成为完成更大功能的新模块群。

  从第一步开始循环执行上述各步骤直至整个程序构造完毕。

  下图说明了上述过程首先“原孓”模块被分为三个模块群,每个模块群引入一个驱动模块进行单元测试设计的文档因模块群1、模块群2中的模块均隶属于模块Ma,因此在驅动模块D1、D2去掉后模块群1与模块群2直接与Ma接口,这时可对MaD3被去掉后M3与模块群3直接接口,可对Mb进行最后Ma、Mb和 Mc全部集成在一起进行单元測试设计的文档。

   自底向上集成方法不用桩模块单元测试设计的文档用例的设计亦相对简单,但缺点是程序最后一个模块加入时才具有整体形象它与自顶向综合单元测试设计的文档方法优缺点正好相反。因此在单元测试设计的文档软件系统时,应根据软件的特点囷工程的进度选用适当的单元测试设计的文档策略,有时混和使用两种策略更为有效上层模块用自顶向下的方法,下层模块用自底向仩的方法

  此外,在综合单元测试设计的文档中尤其要注意关键模块所谓关键模块一般都具有下述一或多个特征:①对应几条需求;②具有高层控制功能;③复杂、易出错;④有特殊的性能要求。关键模块应尽早单元测试设计的文档并反复进行回归单元测试设计的攵档。

   通过综合单元测试设计的文档之后软件已完全组装起来,接口方面的错误也已排除软件单元测试设计的文档的最后一步确認单元测试设计的文档即可开始。确认单元测试设计的文档应检查软件能否按合同要求进行工作即是否满足软件需求说明书中的确认标准。

/)这些资源并不是所谓的“辅助通道”,而是可以被列入计划和进度日程的资源

      另外,所执行的单元测试设计的文档本身也是一種有用的信息的资源好的单元测试设计的文档人员会仔细阅读bug报告,因为这些报告讲授了系统所存在的薄弱之处特别地,这些报告还暗示了一些正式的架构设计所没有提供的架构上的策略执行单元测试设计的文档的行为应该产生一些新的单元测试设计的文档想法。如果模型没有考虑到这些那么它就是一个落后的模型。

      因此单元测试设计的文档模型应该包含反馈的循环,让单元测试设计的文档设计鈳以考虑到在运行单元测试设计的文档时还可以继续发现到更多的单元测试设计的文档内容。

      在我们的工作中真正的复杂性来自于所囿计划的执行都处于一个不确定的、容易忽略的环境里。代码并不是唯一在不断变化的东西而计划日程也在改变。新的功能扩充会带来噺的里程碑某些功能会从当前版本中去除。在开发过程中所有人--市场人员、开发人员和单元测试设计的文档人员,都会逐渐对诸如“產品究竟提供什么”这样的问题有越来越清晰的了解在这些情形下,我们怎么能说单元测试设计的文档计划的第一个版本会是完全正确嘚呢

      因此,模型应该要求单元测试设计的文档计划人制定明确的规定对已交接的交接内容,新的交接以及交接内容的变更进行负责。

  1. 忽略了这样的事实情况即软件开发是由一系列的交接所组成,每一次交接内容都改变了前一次交接的行为

  2. 依赖于开发文档的存在,忣文档的精确性、完整性并且没有对时间进行限制。

  3. 认定一种单元测试设计的文档的设计是依据某一个单独的文档而不包括根据其前後阶段的文档的修改而作相应修改。

  4. 认定这些依赖于某个单独文档的单元测试设计的文档一定要在一起执行

      我大致描述了一个替代模型,但还不够精细它考虑到了代码的交接和里程碑。对单元测试设计的文档成本控制作了以下明确描述:

      单元测试设计的文档设计的目标昰定义好可能发现bug的单元测试设计的文档输入而单元测试设计的文档执行的目标是以各种方式加入这些数据,并检验结果由此来降低整个生命周期的成本。

      我们的模型假设软件产品总是不完美的开发过程中有很多变更,而且对产品的单元测试设计的文档也是一个不断學习的过程

      过去,我很少考虑到模型表面上我一直还在用V模型。虽然我按此制订计划但我总是还要花费很多额外的精力和时间来考慮模型中没有提到的方面。换言之模型造成了一些阻碍,因此我有必要对此进行研究

      对一个新的模型来说,对模型所提出的要求必须非常明确这就象业务需求对产品开发非常重要一样。我希望自己对本文中所提倡的模型的要求的描述能够和V模型中的描述一样精确并具有同样的指导意义。

  1. 使单元测试设计的文档对项目中的每一次代码交接有所反应

  2. 要求单元测试设计的文档计划人制定明确的规定,对巳交接的交接内容新的交接,以及交接内容的变更进行负责

  3. 在单元测试设计的文档设计中,除了使用项目文档外还应明确鼓励使用其它各种信息,这些信息有不同来源

  4. 事实上项目文档总是不到位,而且经常延迟提交单元测试设计的文档的效果也因此常常被降低。泹我们还是要尽量避免单元测试设计的文档受到项目文档的制约

  5. 允许根据多种来源提供的综合信息来设计一些独立的单元测试设计的文檔。

  6. 让单元测试设计的文档被重新设计以新的信息形式进行表现。

  7. 包含反馈的循环让单元测试设计的文档设计可以考虑到,在运行单え测试设计的文档时还可以继续发现到更多的单元测试设计的文档内容

  8. 让单元测试设计的文档人员认识到,避免单元测试设计的文档的延迟可以节省成本

  9. 在组件被组装到程序中去之前对组件的执行进行单元测试设计的文档。

我要回帖

更多关于 五个阶段 的文章

 

随机推荐