正在加载图片...
为了执行一些常用功能,程序是否使用了程序库? ③可测试性 可测试性表明论证程序正确性的容易程度。程序越简单,证明其正确性就越容易。而且 设计合用的测试用例,取决于对程序的全面理解。因此,一个可测试的程序应当是可理解的, 可靠的,简单的。 用于可测试性度量的检查表的内容有:程序是否模块化?结构是否良好?程序是否可理 解?程序是否可靠?程序是否能显示任意的中间结果?程序是否能以淸楚的方式描述它的输 出?程序是否能及时地按照要求显示所有的输入?程序是否有跟踪及显示逻辑控制流程的能 力?程序是否能从检査点再启动?程序是否能显示带说明的错误信息? 对于程序模块,可用程序复杂性来度量可测试性。程序的环路复杂性越大,程序的路径 就越多。因此,全面测试程序的难度就越大 ④可修改性 可修改性表明程序容易修改的程度。一个可修改的程序应当是可理解的、通用的、灵活 的、简单的。其中,通用性是指程序适用于各种功能变化而无需修改。灵活性是指能够容易 地对程序进行修改 测试可修改性的一种定量方法是修改练习。其基本思想是通过做几个简单的修改,来评 价修改的难度。设C是程序中各个模块的平均复杂性,n是必须修改的模块数,A是要修改 的模块的平均复杂性。则修改的难度D由下式计算 D=A/C 对于简单的修改,若D>1,说明该程序修改困难。A和C可用任何一种度量程序复杂 性的方法计算 用于可修改性度量的检查表的内容有:程序是否模块化?结构是否良好?程序是否可理 解?在表达式、数组/表的上下界、输入/输出设备命名符中是否使用了预定义的文字常数? 是否具有可用于支持程序扩充的附加存储空间?是否使用了提供常用功能的标准库函数?程 序是否把可能变化的特定功能部分都分离到单独的模块中?程序是否提供了不受个别功能发 生预期变化影响的模块接口?是否确定了一个能够当做应急措施的一部分,或者能在小一些 的计算机上运行的系统子集?是否允许一个模块只执行一个功能?每一个变量在程序中是否 用途单一?能否在不同的硬件配置上运行?能否以不同的输入/输出方式操作?能否根据资 源的可利用情形,以不同的数据结构或不同的算法执行? ⑤可移植性 可移植性表明程序转移到一个新的计算环境的可能性的大小。或者它表明程序可以容易 地、有效地在各种各样的计算环境中运行的容易程度。 个可移植的程序应具有结构良好、灵活、不依赖于某一具体计算机或操作系统的性能。 用于可移植性度量的检查表的内容有:是否是用高级的独立于机器的语言来编写程序? 是否是用广泛使用的标准化的程序设计语言来编写程序,且是否仅使用了这种语言的标准版 本和特性?程序中是否使用了标准的普遍使用的库功能和子程序?程序中是否极少使用或根 本不使用操作系统的功能?程序中数值计算的精度是否与机器的字长或存储器大小的限制无 关?程序在执行之前是否初始化内存?程序在执行之前是否测定当前的输入/输出设备? 程序是否把与机器相关的语句分离了出来,集中放在了一些单独的程序模块中,并有说明文 档?程序是否结构化?并允许在小一些的计算机上分段(覆盖)运行?程序中是否避免了依赖 于字母数字或特殊字符的内部位表示,并有说明文件? ⑥效率 效率表明一个程序能执行预定功能而又不浪费机器资源的程度。这些机器资源包括内存 容量、外存容量、通道容量和执行时间13 为了执行一些常用功能,程序是否使用了程序库? ③ 可测试性 可测试性表明论证程序正确性的容易程度。程序越简单,证明其正确性就越容易。而且 设计合用的测试用例,取决于对程序的全面理解。因此,一个可测试的程序应当是可理解的, 可靠的,简单的。 用于可测试性度量的检查表的内容有:程序是否模块化?结构是否良好?程序是否可理 解?程序是否可靠?程序是否能显示任意的中间结果?程序是否能以清楚的方式描述它的输 出?程序是否能及时地按照要求显示所有的输入?程序是否有跟踪及显示逻辑控制流程的能 力?程序是否能从检查点再启动?程序是否能显示带说明的错误信息? 对于程序模块,可用程序复杂性来度量可测试性。程序的环路复杂性越大,程序的路径 就越多。因此,全面测试程序的难度就越大。 ④ 可修改性 可修改性表明程序容易修改的程度。一个可修改的程序应当是可理解的、通用的、灵活 的、简单的。其中,通用性是指程序适用于各种功能变化而无需修改。灵活性是指能够容易 地对程序进行修改。 测试可修改性的一种定量方法是修改练习。其基本思想是通过做几个简单的修改,来评 价修改的难度。设 C 是程序中各个模块的平均复杂性,n 是必须修改的模块数,A 是要修改 的模块的平均复杂性。 则修改的难度 D 由下式计算: D = A∕C 对于简单的修改,若 D>1,说明该程序修改困难。A 和 C 可用任何一种度量程序复杂 性的方法计算。 用于可修改性度量的检查表的内容有:程序是否模块化?结构是否良好?程序是否可理 解?在表达式、数组/表的上下界、输入/输出设备命名符中是否使用了预定义的文字常数? 是否具有可用于支持程序扩充的附加存储空间?是否使用了提供常用功能的标准库函数?程 序是否把可能变化的特定功能部分都分离到单独的模块中?程序是否提供了不受个别功能发 生预期变化影响的模块接口?是否确定了一个能够当做应急措施的一部分,或者能在小一些 的计算机上运行的系统子集?是否允许一个模块只执行一个功能?每一个变量在程序中是否 用途单一?能否在不同的硬件配置上运行?能否以不同的输入/输出方式操作?能否根据资 源的可利用情形,以不同的数据结构或不同的算法执行? ⑤ 可移植性 可移植性表明程序转移到一个新的计算环境的可能性的大小。或者它表明程序可以容易 地、有效地在各种各样的计算环境中运行的容易程度。 一个可移植的程序应具有结构良好、灵活、不依赖于某一具体计算机或操作系统的性能。 用于可移植性度量的检查表的内容有:是否是用高级的独立于机器的语言来编写程序? 是否是用广泛使用的标准化的程序设计语言来编写程序,且是否仅使用了这种语言的标准版 本和特性?程序中是否使用了标准的普遍使用的库功能和子程序?程序中是否极少使用或根 本不使用操作系统的功能?程序中数值计算的精度是否与机器的字长或存储器大小的限制无 关?程序在执行之前是否初始化内存?程序在执行之前是否测定当前的输入/输出设备? 程序是否把与机器相关的语句分离了出来,集中放在了一些单独的程序模块中,并有说明文 档?程序是否结构化? 并允许在小一些的计算机上分段(覆盖)运行?程序中是否避免了依赖 于字母数字或特殊字符的内部位表示,并有说明文件? ⑥ 效率 效率表明一个程序能执行预定功能而又不浪费机器资源的程度。这些机器资源包括内存 容量、外存容量、通道容量和执行时间
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有