欢迎来到天天文库
浏览记录
ID:42634411
大小:322.15 KB
页数:22页
时间:2019-09-19
《第10章程序的调试与测试》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第10章程序的调试与测试通过前面各章节的学习,此时应该已经能够编写具有一定功能的COBOL小稈序了。在程序开发的过程中以及开发结朿后,必然会涉及到对程序的调试与测试。实际上,在整个软件生存周期中,对于软件的后期维护工作通常占到80%以上。而软件后期维护工作主要是建立在程序的调试与测试的基础Z上的。因此,本章所讲解的内容十分重要。10.1调试与测试的基本概念程序的调试与测试实际上是两个不同的概念。调试有时也叫Debug,主要是针对程序源代码的查错与排错;而测试则通常被称作Test,主要是用于对软件产品性能的分析。下面分别对二者的基本概念进行具体的介绍。10.1.1调试的基本概念程序的调试实际
2、上属于程序开发的一部分。并且,一个人Debug能力的大小通常也反映了其开发能力的大小。程序的调试主要是指在开发过程中,以及开发完成后对程序源代码的查错与排错。调试程序的目的是为了确定和修复造成程序不良功能的原因,主要是为了保证程序的正确性。在程序的编写Z屮,任何人都难免会造成这样或那样的错误,此时便需要不断地对程序进行调试。例如,下面为一段COBOL中的小程序。IDENTIFICATIONPROGRAM-ID.AUTHER.DIVISION.ERROR-PROG.XXX.ENVIRONMENTDIVISION.DATADIVISION.01OUTPUT-DATAPICX(20).PROCE
3、DUREDIVISION.100-INIT-STATE.MOVE*helloworld*TOOUTPUT-DATA.200-OUTPUT-SATE广此处的句点没有标注,错误*/DISPLAYOUTPUT-DATA.STOPRUN.在编码屮因处理过程或语句的句点没有标注而造成程序不能正确编译是时有发生的。此时必须要对程序进行调试。此外,有时程序虽然能够被编译运行,但却得不到所期望的运行结果。这时也需要对程序进行调试。实际上,前一个例子小所出现的错误属于语法错误,而此处则属于逻辑错误。关于程序调试中所需处理的错误类型,以及常用的调试方法,将在后面的章节中详细讲解。10.1.2测试的基本概念程序
4、的测试和程序开发是两个独立的概念。实际上,程序的测试和程序的开发是两种不同的工作性质。然而,二者同时又是紧密相连的,在具体工作中需要经常联系和配合。测试主要是针对由程序所形成的软件产品的性能而言的。用于进行测试的程序,都应该是通过调试之后,可以运行的程序。测试是在完成初期开发之后进行的,主要用于检测软件产品质量是否符合客户的要求。此外,测试也应该包括对稈序算法设汁质量的检测。通常而言,一个好的算法应该考虑达到以下4个目标。□正确性:此处所说的正确性不仅是指程序能够对于一组特定的输入数据得出正确的结果。而是通常指程序对于精心选择的典型、苛刻而带有刁难性的几组输入数据也能得出正确的结果。□可读
5、性:可读性好坏主要是指其逻辑结构是否清晰,代码注释是否到位等等。一段可读性好的代码是利于其后期的维护以及基于此的二次开发。□健壮性:健壮性是指当输入数据非法时,算法也能适当地做出反应或进行处理。而不至于产生莫名其妙的输出结果。□效率与低存储量需求:效率是指算法的执行吋间,执行吋I'可越短,效率越高。存储量需求指的是算法在执行过程中所需要的最大存储空间。对于实现同样功能的算法,通常存储量需求越低,该算法越好。例如,下面为一段求两个数之和的程序。其中一个数字由程序所给定,另一个数字通过用户从键盘输入。该段程序完整的代码如下。IDENTIFICATIONDIVISION.PROGRAM-ID.S
6、UM-PROG-ONE.AUTHER.XXX.*ENVIRONMENTDIVISION.*DATADIVISION.WORKINGSTORAGESECTION.01NUM1PIC99.01NUM2PIC99.01SUMPIC999.*PROCEDUREDIVISION.MOVE20TONUM1.ACCEPTNUM2.ADDNUM1TONUM2GIVINGSUM.DISPLAYTHESUMIS:'SUM.STOPRUN.该段程序在输入正确数据的前提下是可以正常执行的。但是,假若此处用户输入数据非法吋,程序将会产生莫名其妙的输出结果。例如,如果用户此处输入的不是数字,而是字母,那么程序所产生的
7、输出结果必将不会如预期那样。也就是说,通过测试,可以发现该程序的健壮性是不够的。程序健壮性不够对于一些实习问题或练习题的影响可能并不大。但对于实际的软件产品质量而言,程序健壮性则是十分关键的一项。对于前面提到的用户输入非数字字符的情况,可以通过如下方式进行处理。以此,便可增强程序的健壮性。修改后的代码如下。IDENTIFICATIONDIVISION.PROGRAM-ID.SUM-PROG-TWO.AUTHER.XXX.
此文档下载收益归作者所有