医院信息管理系统中的软件排错

(整期优先)网络出版时间:2012-12-22
/ 1

医院信息管理系统中的软件排错

屈健

屈健(山东省东平县人民医院山东泰安271500)

【摘要】目的排除医院信息系统中的软件错误。方法强行排错、回溯法排错、归纳法排错、演绎法排错。结果成功排除多例软件错误。结论排错时应用头脑去分析,只把工具当作辅助手段,避开死胡同。

【关键词】医院信息管理系统排错回归测试

【中图分类号】R197.32【文献标识码】A【文章编号】2095-1752(2012)20-0354-01

医院信息系统(HIS)是指应用电子计算机和网络通信设备,为医院及其所属各部门提供病人医疗信息、财务核算分析信息、行政管理信息和决策分析统计信息的收集、储存、处理、提取和数据通讯的能力,并能满足所有授权用户对信息的各种功能需求的计算机应用软件系统。伴随着系统的运行,会出现各种各样的错误,这时就需要医院软件维护人员展开排错工作。排错(即调试)与成功的测试形影相随。测试成功的标志是发现了错误,根据错误迹象确定错误的原因和准确位置,并加以改正主要依靠排错技术。

1.排错过程

排错过程开始于一个测试用例的执行,若测试结果与期望结果有出入,即出现了错误征兆,排错过程首先要找出错误原因,然后对错误进行修正。因此排错过程有两种可能,一种是找到了错误原因并纠正了错误,另一种是错误原因不明,排错人员只能依靠某种推测,然后再设计测试用例证实这种推测,若一次测试失败,就再做第二次推测,直到发现并纠正了错误。

排错是一个相当艰苦的过程,究其原因,除了排错人员心理方面的障碍外,还因为隐藏在程序中的错误具有如下特殊的性质:

(1)错误的外部征兆远离引起错误的内部原因,对于高度耦合的程序结构此类现象更为严重。

(2)某些错误征兆只是假象。

(3)纠正了一个错误造成了另一错误现象(暂时)消失。

(4)因操作人员一时疏忽造成的某些错误征兆不易追踪。

(5)错误是由于网络超时造成而不是程序引起的。

(6)输入条件难以精确地再构造。(例某些实时应用的输入次序不固定)

(7)错误征兆时有时无。

(8)错误是由于把任务分布在多台不同的处理机上运行造成的。

排错人员遇到的问题大大小小,形形色色,压力增大导致过分地紧张导致在排除了一个问题的同时又引入了更多的问题。

2.排错步骤

2.1从错误的外部表现形式入手,确定程序中的出错位置。

2.2研究有关部分的程序,找出错误的内在原因。

2.3修改设计和代码,以排除这个错误。

2.4重复进行暴露了这个错误的原始测试或某些有关测试,以确认该错误是否被排除,是否引进了新的错误,即进行回归测试。

2.5如果所做的修正无效,则撤销这次改动,重复上述过程,直到找到一个有效的解决办法为止。

3.排错方法

3.1强行排错。使用较多,效率较低,不需过多的思考。例如:利用内存全部打印来排错。

可供利用的典型语言功能有:打印出语句执行的追踪信息、追踪子程序调用,以及指定变量的变化情况。自动调试工具的功能是:设置断点,当程序执行到某个特性的语句或某个特定的变量值改变时,暂停执行。程序员可在终端观察此时的状态。

3.2回溯法排错。对小程序比较有效。确定最先出错位置后人工沿程序的控制流程,向后追踪程序的代码,直到找到错误根源或确定错误产生的范围。

3.3归纳法排错。从特殊推断一般,基本思想是从一些线索(错误征兆)着手,通过分析它们之间的关系来找出错误。

3.4演绎法排错。从一般原理或前提出发,经过排除和精化来推导出结论的方法。首先根据已有的测试用例,设想及枚举出所有可能出错的原因作为假设;经测试逐个排除不可能的假设;最后验证。

4.排错原则

在实际工作中总结出以下排错原则:

4.1用头脑去分析、思考与错误征兆有关的信息。

4.2避开死胡同。

4.3只把排错工具当做辅助手段。

4.4避免采用试探法。

4.5在出现错误的地方,很可能还有别的错误。

4.6修改错误的一个常见失误就是只修改了这个错误的征兆或表现,而没有修改错误本身。

4.7当心修正了一个错误的同时有可能引入了新的错误。

4.8修改源代码程序,不要修改目标代码。

总之,应用以上方法和原则,作者成功排除多例软件错误,软件排错是医院信息系统中的一件常见而艰苦的工作,需要我们去探索、研究。