摘 要:
关键词:
1.引言
计算机管理系统是一种运用计算机的管理来代替手工管理的电子化系统。手工管理是比较灵活的,而用计算机管理则比较严谨、严肃和规范、可以提供正确的决策以及量化的管理、可以保证信息数据的可信可靠与完善。然而软件是一种知识高度的密集以及复杂的逻辑产品,本身是无形的,因此存在一些错误是难免的。软件产品质量的问题一直是开发用户以及开发人员所困扰的问题。软件质量是软件产品具有满足明确的或隐含需求能力的特征和特性总和。能发现软件中存在的错误的方法有很多,其中一种就是软件测试。也就是说软件测试可以作为检验软件产品是否符合要求的一种手段。软件测试的目的在于发现错误。软件测试应当把尽早和不断地测试作为开发者的准则,程序员应该避免测试自己的程序,测试工作应该由独立的专业的软件测试人员或机构来完成。在设计测试用例时,应当包括合理的输入条件和不合理的输入条件,充分注意测试中的群集现象。软件开发人员通过使用一些设计分析的方法,并在各个阶段结束之前,严格对设计分析的结果进行技术的评审,以便满足用户的需求。人们的能力是有限的,审查时很难发现所有的缺陷和错误,而且还会在编码阶段产生很多错误,在正常投入运行后,此类缺陷与错误最终会暴露出来。软件测试需要在软件投入运行之前,对软件进行需求分析和概要设计以及详细设计与编码的复审,作为保证软件质量的关键的程序。测试人员需要做的工作是要站在用户方角度来把握软件开发整个过程与用户的沟通与交流,理顺业务的关系以及对业务需求的研究与理解,还要对其完整性与可用性和可维护性以及可靠性与正确性进行必要的测试。
2.软件测试方法
2.1软件功能测试
2.1.1功能测试流程
软件功能测试也称为软件行为测试,根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。功能测试的目的就是对产品是否达到合同技术协议书规定的功能进行测试。功能测试包括逻辑功能测试、界面测试、易用性测试、安装测试和兼容性测试。软件功能测试流程如图1所示。
图1 功能测试流程
2.1.2功能测试测试用例设计
软件测试是一个为了发现所存在的错误而对程序进行执行的过程,主要是依据开发的各个阶段规格说明以及程序内部设计的一些测试用例,并运用这些测试用例来执行程序,最终发现程序错误的过程。软件测试是通过一些系统的测试方法来发现软件中的一些错误,并提供相关的诊断信息,以便能很好的修正错误,来达到预防错误与降低软件开发费用的目的。测试用例一般分为正常系和异常系,对于正常系的测试,会输入一些合法的数据,对与异常系会输入一些不合法的数据,或者是设置不完整的运行环境等。在医疗软件中有一个模块是存储医生对病人开药的模块,如果医生运行了该模块就会把医生开的药物信息存入数据库,当然调用其它的模块会把该信息读取出来,这一读,一写,就会牵涉到许多功能。根据软件的功能,写出测试用例,比如给一组正常的数据,看它是否被写入数据库,或者是给一个病人的ID号,能够在画面上正常的显示,医生给他开的药物信息。特殊用例,比如说给一个病人的ID号,而这个病人在数据库中没有信息,画面或者是模块应该做怎样的处理。所以说用例是给出的各种可能发生的情况的业务数据。
测试用例的好坏会对软件的测试质量产生直接的影响,它属于测试工作的指导性的文件。它对测试工作的指导与控制的作用等同于设计的文档对编码指导的作用,这些在大系统当中表现尤为突出以及权威。测试用例的关键内容是预期产生结果和测试所用的输入的数据是否吻合,且输入的数据应该是对测试功能整体的全面的覆盖。
2.2软件的性能测试
2.2.1软件性能测试流程
性能测试就是对产品是否达到合同技术协议书规定的性能指标进行验证。软件性能测试一般包括三个方面:性能评测、负载测试和强度测试。每一方面的测试都有其不同测试目标、测试技术、完成标准。本文主要通过负载测试,来对各种工作负载下系统的性能进行确定。负载测试通过使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。其测试目标就是验证所指定的事务在不同的工作量条件下的性能行为时间。测试技术为使用为功能或业务周期测试制定的测试。通过修改数据文件来增加事务数量,或通过修改测试来增加每项事务发生的次数。在进行负载测试时一定要注意:(1)负载测试应该在专用的计算机上或再专用的机时内执行,以便实现完全的控制和精确的评测。(2)负载测试所用的数据库应该是实际大小或相同缩放比例的数据库。软件性能测试流程如图2所示。
图2 性能测试流程图
2.2.2测试工具
性能测试的工具种类很多,简单划分为以下几种:负载压力测试工具、资源监控工具、故障定位工具以及调优工具。QA Load、SilkPerformer、LoadRunner、WebRunner都是主流的负载性能测试工具。本文采用LoadRunner作为测试工具,它也可以作为监控工具直接从中间件、数据库以及主机自身提供的性能数据采集接口获取性能指标,在负载压力测试的同时对业务系统所处的测试环境进行监控。
2.2.3性能测试指标
性能指标包括应用性能、主机性能、网络性能、多任务性能、可靠性、可用性、易用性、易学性、负载均衡等性能指标。
本文的合同技术协议书主要考察系统的功能模块在某测试点下的最大并发数和响应时间指标。测试时、对服务器的CPU使用率、CPU等待队列、磁盘传输率(Mb/s)、内存页交换率(页/s)、网络传输率(包/s)等指标进行监控,编制服务器资源占用情况表,格式如表1所示。
表1 服务器资源占用情况表
服务器 | 统计 | CPU使用率 | 磁盘使用率 | 内存页交换率(页/s) | 网络传输率(包/s) |
应用服务器(服务器IP) | 平均最大 | × × | × × | × × | × × |
数据库服务器(服务器IP) | 平均最大 | × × | × × | × × | × × |