预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共125页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

会计学本章目标与要求通常把编码和测试统称为实现。 编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。 软件测试在软件生命周期中横跨两个阶段。 通常在编写出每个模块之后就对它做单元测试。 在这个阶段结束之后,对软件系统还应该进行各种综合测试,通常由专门的测试人员承担这项工作。 通过测试发现错误之后还必须诊断并改正错误,这就是调试的目的。调试是测试阶段最困难的工作。7.1编码7.1.1选择程序设计语言程序设计语言的划代:选择语言的理想标准: 为了使程序容易测试和维护以减少软件的总成本,所选用的高级语言应该有理想的模块化机制,以及可读性好的控制结构和数据结构; 为了便于调试和提高软件可靠性,语言特点应该使编译程序能够尽可能多地发现程序中的错误; 为了降低软件开发和维护的成本,选用的高级语言应该有良好的独立编译机制。主要的实用标准: 系统用户的要求 可以使用的编译程序 可以得到的软件工具 工程规模 程序员的知识 软件可移植性要求 软件的应用领域7.1.2编码风格2.数据说明 数据说明的次序应该标准化。 当多个变量名在一个语句中说明时,应该按字母顺序排列这些变量。 如果设计时使用了一个复杂的数据结构,则应该用注解说明用程序设计语言实现这个数据结构的方法和特点。3.语句构造 不要为了节省空间而把多个语句写在同一行; 尽量避免复杂的条件测试; 尽量减少对“非”条件的测试; 避免大量使用循环嵌套和条件嵌套; 利用括号使逻辑表达式或算术表达式的运算次序清晰直观。4.输入输出 对所有输入数据都进行检验; 检查输入项重要组合的合法性; 保持输入格式简单; 使用数据结束标记,不要要求用户指定数据的数目; 明确提示交互式输入的请求,详细说明可用的选择或边界数值; 当程序设计语言对格式有严格要求时,应保持输入格式一致; 设计良好的输出报表; 给所有输出数据加标志。5.效率 效率主要指处理机时间和存储器容量两个方面。 效率是性能要求,因此应该在需求分析阶段确定效率方面的要求。 效率是靠好设计来提高的。 程序的效率和程序的简单程度是一致的,不要牺牲程序的清晰性和可读性来不必要地提高效率。效率问题: 程序运行时间 存储器效率 输入输出的效率(1)程序运行时间 写程序之前先简化算术的和逻辑的表达式; 仔细研究嵌套的循环,以确定是否有语句可以从内层往外移; 尽量避免使用多维数组; 尽量避免使用指针和复杂的表; 使用执行时间短的算术运算; 不要混合使用不同的数据类型; 尽量使用整数运算和布尔表达式。 在效率是决定性因素的应用领域,尽量使用有良好优化特性的编译程序,以自动生成高效目标代码。(2)存储器效率 使用能保持功能域的结构化控制结构,是提高效率的好方法。 在微处理机中如果要求使用最少的存储单元,则应选用有紧缩存储器特性的编译程序,在非常必要时可以使用汇编语言。 提高执行效率的技术通常也能提高存储器效率。提高存储器效率的关键同样是“简单”。(3)输入输出的效率 如果用户为了给计算机提供输入信息或为了理解计算机输出的信息,所需花费的脑力劳动是经济的,那么人和计算机之间通信的效率就高。因此,简单清晰同样是提高人机通信效率的关键。例1:注释例2:视觉组织——空格例3:视觉组织——移行例4:数据说明标准化例5:一行一条语句FORI:=1TON-1DO BEGIN T:=I; FORJ:=I+1TONDO IFA[J]<A[T]THENT:=J; IFT<>ITHEN BEGIN WORK:=A[T]; A[T]:=A[I]; A[I]:=WORK; END END;例6:强调清晰性例7:简单直接例8:避免不必要的转移例9:避免使用空ELSE和IF…THENIF…语句例10:少用否定条件7.2软件测试基础7.2.1软件测试的目标所有测试都应该能追溯到用户需求; 应该远在测试开始之前就制定出测试计划; 把Pareto原理应用到软件测试中; 应该从“小规模”测试开始,并逐步进行“大规模”测试; 穷举测试是不可能的; 为了达到最佳的测试效果,应该由独立的第三方从事测试工作。7.2.3测试方法黑盒测试不可能实现穷尽测试: 假设有程序P,输入量为A和B,输出量为C。 如果计算机的字长为32位,A和B的数据类型都是整数类型。将A和B的可能取值进行排列组合,输入数据的可能性有:232×232=264种。 假设这个程序执行一次需要1毫秒,要完成所有的测试,计算机需要连续工作5亿年。白盒测试也不能实现穷尽测试: 图中所示的一个小程序的控制流程。曲线代表执行次数不超过20的循环,循环体中共有5条通路。 可能执行的路径有520条,近似为1014条可能的路径。 如果完成一个路径的测试需要1毫秒,那么整个测试过程需要3170年。黑盒测试与白盒测试优缺点比较:7.2.4测试步骤3.系统测试 把