信息化 频道

新华社OA系统运行维护的亲身体会

三、 系统调优测试

    软件测试是程序的一种执行过程,目的是尽可能发现并改正被测软件中的错误,提高软件的可靠性及软件质量。它是软件生命周期中的一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。 

    首先要确定明确的测试目的并制定合理的测试计划。 

    系统测试应根据实际的需求明确测试目的,并根据测试的计划开展测试过程。根据实际需求,我社OA系统属在线生产系统,测试的目的是通过测试以验证系统的功能和性能是否满足需求,进行系统的性能分析,改进系统功能,提高系统软件质量。 

    有了明确的测试目的,需要制定合理的测试计划并作为整个测试工作的赖以展开的基础。测试计划描述着测试的目标、范围、方法、环境和评审标准。完善的测试计划将有效指导着测试工作的有序进行,并有助于测试组及其它相关人员对测试过程的理解及结果的分析。 

    我们在制定测试计划中主要规定了以下内容:

1) 描述了测试需求 

    这一部分主要进行详细的测试需求分析,包括测试背景情况说明、项目概要、测试目的、测试的要点等,经过测试需求的分析进行测试功能项的进一步细化,并定义具体的测试内容。

2) 确定测试的硬件及软件环境 

    确定测试所需的硬件和软件。在测试过程中,你需要建立实际的工作量模型,即与生产环境相近似的模拟环境。在我社OA系统测试过程中,明确采用以下测试软硬件资源。 

    服务器:两台IBM X345 PC服务器采用HA双机热备提供数据库、两台IBM X345 PC服务器作为应用服务器、一台IBM X345 PC服务器作为Apache HTTP 服务器。 

    客户机:2台Windows 2000计算机。 

    数据库:Oracke 9i 2.0.1 

    应用服务器:Websphere 5.0.2 并采用其ND负载均衡机制。 

    其它软件:OA系统软件

3) 测试标准与评审焦点 

    主要定义了在测试过程中的通过与不通过标准。在测试过程中,要评价该软件性能是否达到要求,功能是否符合需求需要确定测试通过与不通过的标准。在测试计划阶段制定了此标准,就可以不受测试过程影响进行更加客观地对照预期值进行结果评估与分析。 

    通过标准一般涉及可接受的响应范围、非常好的预期值等。在我社OA系统测试中具体细化为功能需求点符合度、功能通过与否、预期响应时间、非常好的访应时间、系统访问并发预期通过数、并发访问非常好的通过数、支持用户数等。

4) 测试方法 

    在测试计划中,同时需要进一步确定主要测试方法。软件测试从不同角度及不同阶段可以分为:静态测试与动态测试、白盒测试和黑盒测试、人工测试和自动化测试。在我社OA系统测试过程中,针对系统软件功能点测试,常常采用白盒测试与黑盒测试相结合的方法进行;针对性能测试,我们往往采用自动化的测试工具,并加以基准测试方法进行测试过程与结果的分析。

5) 测试策略 

    在整个测试过程中,测试策略的制定直接关系着测试的成功与否。测试策略包括负荷策略、业务策略、监控策略等。在实际应用系统的测试过程中,测试策略是这些具体测试策略的不同组合,而制定策略的基本依据是用户的需求和测试目标。 

    根据需求设计测试用例。 

    测试用例是软件测试的核心,是对软件产品测试任务的具体描述,体现着测试方案、方法和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等。针对不同的测试目的及不同的软件类别,测试用例也是不同的。 

    测试用例可按功能或测试事件进行设置。在设计测试用例中常常可以采用等价类划分法、边界值分析法、错误推测法、因果图法、覆盖法等基本方法。视软件的不同性质及所处的不同阶段而采用不同的方法。如何采用合适的基本方法来设计可行的测试用例一方面要根据实际的测试需求,另一方面则需靠测试设计人员的经验。 

    在我社OA系统测试用例设计过程中,针对不同的开发阶段,我们采用相应的方法进行了测试用例的设计。而针对我社目前在系统生产运行阶段的性能测试,我们主要采用错误推测法为基本设计方法。由于条件的限制,在进行性能测试中不可能对所有的功能点都进行性能测试。不同的功能点对性能的影响差别较大。在测试中首先应对性能需求进行分析,掌握系统对资源的不同需求。首先我们对系统进行了初步分析,针对目前遇到的问题提出如下猜测: 

    1、 进行系统登录后将首先展示首页,因此并发效率不高可能与首页展示程序性能有关; 
    2、 应用服务器及数据库服务器的参数配置将影响系统的并发执行效率; 
    3、 内部邮件系统收件展示、上载功能、信息阅读等是目前应用较为广泛的功能,对系统性能有较大的影响; 
    4、 应用程序是否合理调度数据库连接并及时关闭直接关系到数据库连接池的使用效率; 

    基于以上的初步分析并结合测试的目的,我们主要设计了以下测试用例: 

    测试目标:评估系统能力、识别系统瓶颈、系统调优、检测软件存在的问题、验证系统稳定性。 

    测试环境:同测试计划所述,部分测试采用生产环境。 

    测试方法:黑盒测试、白盒测试、自动化测试。

    全面分析得到的测试结果。 

    有了详细的测试用例,接下来的工作便是进行测试用例的测试实施工作。在我们的测试过程中,测试日志的记录是非常重要的,测试日志一方面作为测试过程中测试质量监控的一种有效手段,同时也是后测试过程中知识积累的来源与系统调优分析的依据。由于测试过程中产生的数据较多,包括服务器临控文件、客户端临控文件、测试工具产生的结果报告等,涉及的文件种类多,格式也不相同。因此,建议在测试计划阶段做好相应的结果分析规范,采用统一的版本控制方法。这样,得到的测试数据及结果报告才可进行有效的分析与管理。 

    将测试的结果进行分析,性能测试的结果一般包括响应时间、最大/最小并发数、失败次数、正常连续运行的最长/短时间、并发数与失败的关系等。 

    根据我们所设计的测试用例实施,初步得到以下结果: 

    1、 目前在Websphere应用服务器中所部署的roeee、infopub、oabase三个应用的数据库连接参数分别为100、80、80。在初次使用loadrunner软件模拟登录进行并发测试中未达到100的并发用户数,而在测试过程中,通过监控数据库服务器及应用器的CPU及内存指标未超过50%的负载,数据库会话数未达到所设置最大会话数的一半。因此可初步判断数据库会话没有得到很好的利用,可进一步对这三个参数加以调优。 
    2、 针对首页展示功能中通过loadrunner软件模拟并发测试及耐久测试,并进行数据库会话数监控,会话资源持续出现active状态。由于数据库会话的活动状态易产生数据库资源的抢占,因此应核查程序以提高数据库资源的利用率。 
    3、 邮件列表展示、人事信息首页在并发40人测试时,平均响应时间为9秒,需进一步改进程序,提高效率。

0
相关文章