大型机测试


大型机测试

在本节中,我们将了解大型机测试,它用于测试在大型机系统上开发的软件或应用程序和服务。

我们还了解了大型机属性、大型机测试的类型、如何执行、执行大型机测试时的不同挑战和故障排除、大型机测试中使用的各种命令、大型机测试过程中面临的一些常见问题以及大型机自动化测试工具.

在了解大型机测试的概念之前,我们将了解大型机。

什么是大型机?

主机是一个多用户、高性能和高速的计算机系统。大型机是最可靠、可扩展和安全的机器系统。

换句话说,我们可以说这些系统是用于大规模计算的,这涉及到很高的可用性和安全性。大型机系统主要用于各种细分领域,例如零售、保险、金融和其他需要多次处理大量数据的关键领域。

在这方面,我们可以在以下方面的帮助下每秒执行数百万条指令 [高达569,632 MIPS ]:

  • 最大输入/输出带宽:如果我们有极端的输入和输出带宽,驱动器和处理器之间的连接就会有几个阻塞点。
  • 可靠性:尽管系统正在运行,但大型机通常会同意优雅的降级和服务。
  • 可靠的单线程性能:对于针对数据库的实际操作很重要。
  • 最大输入/输出连接:最大输入/输出连接意味着大型机擅长提供巨大的磁盘群。

在了解了大型机的概念之后,现在我们来谈谈大型机测试的\主要讨论点。

什么是主机测试?

大型机测试的主要目标是通过验证和验证方法确保应用程序或服务的可靠性、性能和卓越性,并检查它是否准备好部署。

测试人员在执行大型机测试时只需要了解 CICS 屏幕的导航,因为它们是为特定应用程序定制的。

如果 COBOL、JCL 等中的代码发生任何修改,测试人员不必担心机器上设置的模拟器。

我们在哪里进行大型机测试?

通常,大型机测试在已部署的代码上执行,并将多个数据组合设置到输入文件中。换句话说,我们可以说大型机应用程序必须在生产运行之前进行完整的测试。

大型机应用程序,或称为批处理作业,在与根据需求开发的测试用例相矛盾的情况下进行测试。

在主机上运行的软件或应用程序可以通过终端仿真器进行检索。

在了解了大型机测试之后,我们将研究大型机测试的几个特点。

大型机测试方法

在大型机测试中,最终用户以不同于 Web 应用程序的方式检索软件或应用程序。

而应用测试人员应该知道这些显着差异,如下所示:

网络应用程序 大型机应用
Web 应用程序通过两层架构[Client/Server]或三层架构 [ Presentation/apps/DB 存储层] 获取。 在大型机应用程序中,最终用户必须直接登录系统。
Web 应用程序跨浏览器或 UI检索。 终端模拟器必须检索 Web 应用程序。
在这种情况下,可以直接在应用程序屏幕上执行测试。 在这方面,测试人员应该对大型机操作有准确的了解。
在 Web 应用程序中,一些处理是在客户端完成的,应用程序应该在测试开始之前安装在正确的位置。 在大型机测试中,终端仿真器是唯一的软件,它必须加载到客户端机器中才能测试应用程序在主服务器中的位置。

大型机属性

在大型机测试中,我们有以下大型机功能;让我们一一看看:

  • 多道程序设计
  • 分时
  • 虚拟存储
  • 假脱机
  • 批量处理

大型机测试

多道程序设计

  • 多道程序属性是一种工具,它使我们能够有效地利用 CPU。
  • 计算机同时执行各种程序。

分时

  • 分时处理也称为前台处理,而批处理作业处理称为后台处理。因此,它被称为交互式处理,因为它允许用户直接与计算机联系。
  • 在分时系统中,每个用户都可以通过终端设备访问系统。

虚拟存储

  • 虚拟存储使用磁盘存储作为真实存储的扩展。
  • 这是一种有效地使用内存来存储和执行许多大小任务的技术。

假脱机

  • Spool 是指Simultaneous Peripheral Operations Online,用于累积程序或应用程序的输出。
  • 如果需要,则将假脱机输出定向到打印机等输出设备。

批量处理

  • 批处理是一种技术,我们可以在其中完成任何任务,也称为作业
  • 我们可以根据作业按顺序执行一个或多个程序。
  • 作业调度程序得出关于作业执行顺序的结论。
  • 工作是根据其重要性和类别进行计划的,以最大限度地提高平均产出。
  • 批处理在作业控制语言(JCL)的帮助下为我们提供了必要的信息

如何进行大型机测试

大型机测试可以通过两种方式进行,一种是手动,另一种是使用一些自动化工具,如QTP、REXX、IBM应用性能分析器等。但一般情况下,我们会手动进行大型机测试。

要进行大型机测试,我们需要按照以下步骤操作:

大型机测试

Step1:规划

首先,业务团队开发团队构建测试计划,包括业务需求文档、系统需求文档、其他项目文档输入。它控制在发布周期中将如何更改特定项目或流程。

同时,为了提前准备测试场景和测试用例,测试团队将协调开发和项目管理团队。

Step2:调度

需求文档准备成功后,将移交给开发团队和测试团队。并且测试计划应该与项目交付计划一起编写,应该是准确的。

Step 3:可交付成果

收到文件后,他们将检查可交付成果。并且可交付成果应该描述得很好,没有任何不确定性,并且应该满足测试目标的范围。

Step4:实施

之后,应按照计划和可交付成果进行实施。

通常,15-25% 的应用程序将直接受到版本中修改要求的影响。其他 60-75% 的版本将取决于开箱即用的功能,例如测试应用程序和流程。

因此,我们需要通过两种方式来测试 Mainframe 应用程序:

  • 测试要求
  • 测试集成

测试需求:我们将测试应用程序的需求文档中披露的功能或修改。

测试集成: 回归测试是此测试活动的主要关注点。并且我们将测试整个过程或其他向珍贵应用程序接收或发送数据的应用程序。

第五步:报告

之后,我们会定期与开发团队分享测试结果。为了保持连续性,测试团队应该与开发团队保持联系,以便在关键条件下进行即时修改。

大型机手动测试的分类

大型机手动测试可以分为以下两种类型:

  • 在线测试
  • 批量作业测试

大型机测试

在线测试

  • 在线测试是指CICS 屏幕的测试,相当于网页测试,其中现有屏幕的功能可以改变,或者可以添加新屏幕。
  • 各种应用程序可以有查询和修改屏幕,其中屏幕的功能需要作为在线测试的一部分进行测试。

批量作业测试

  • 通常,在批处理作业测试中,测试过程包含在现有版本中执行的功能的批处理作业
  • 测试结果将从输出文件中提取,并且应对数据库进行测试和记录。

大型机测试命令

在大型机测试中,我们使用了各种命令,这些命令在测试应用程序或软件时非常有用。

主机测试中一些最常用的命令如下表所示:

命令 描述
复制 COPY 命令用于复制数据集。
提交 SUBMIT 命令用于提交后台作业。
改名 RENAME命令用于重命名数据集。
删除 DELETE 命令用于删除数据集。
工作扫描 JOB SCAN 命令用于使用库、程序、文件等修复 JCL,但不执行它。
取消 取消命令用于取消后台作业。
分配 ALLOCATE 命令用于分配数据集。

注意:我们在进行大型机测试时还有一些其他命令,但不经常使用;因此,我们在需要时使用这些命令。

大型机操作的先决条件统计

在对应用程序执行大型机测试时,测试人员应了解以下有关大型机操作的信息:

  • ISPF [交互式系统生产力工具]必须用于菜单操作。
  • TSO【分时选项】是一种通过命令来访问虚拟存储和管理数据集的方法。
  • FTP [文件传输协议]或另一个传输协议必须同时测试软件一起使用。
  • 如果大型机是后端,我们应该使用跨平台操作
  • SDSF [系统显示和搜索工具]必须用于控制操作和系统资源。
  • 必须遵循批处理作业管理。
  • CICS 事务必须用于测试 IBM 大型机。

大型机测试挑战和故障排除

如果我们正在对应用程序执行大型机测试,我们可能会遇到一些挑战,对于这些挑战,我们有一些特定的方法,如下表所示:

挑战 解释 方法
不明确或不完整的要求 有时,用户可能有权访问用户手册或培训指南,但它们与记录的要求不同。 测试工程师应该从需求阶段积极参与软件开发生命周期 (SDLC),以克服不明确的需求问题。如果需求是可测试的,那么它将帮助他们轻松验证。
标识或数据设置 有时,测试人员可能有条件根据要求重新使用当前数据。但有时,很难从当前数据中找到强制性细节。 为了克服数据设置的挑战,我们可以根据需要使用自主开发的工具。并且要获取现有数据,应提前进行查询。万一出现问题,请求数据管理团队生成或复制重要数据。
作业设置 将作业保存到 PDS 时,需要在 QA 区域中设置作业。 因此,作业不与生产限定符一起提交。 为此,可以使用作业设置工具来克服设置过程中的人为错误。
临时请求 有时,我们可能会遇到一些由于上游或下游应用程序出现问题而需要维护端到端测试的情况。而特设的要求加强执行周期的时间和精力。 为了克服特定的挑战,我们可以借助一些回归脚本、自动化脚本和骨架脚本,从而减少时间和精力开销。
范围变更的准时发布 有时,我们会遇到代码效果可能会完全改变系统外观的情况。并且修改可以在测试用例、脚本和数据中。 为此,应正确实施影响分析和范围变更管理流程。

大型机测试的步骤

执行大型机测试时需要遵循以下步骤:

步骤 1:烟雾测试

第一步,我们将进行冒烟测试,检查安装的代码是否在正确的测试环境中。它还确保代码没有关键问题,从而节省了测试人员测试错误构建的时间。

Step2:功能测试/系统测试

进行烟雾测试后,我们将进行一轮功能或系统测试,以独立且相互关联地测试各种模型的功能。

以下是在实施系统测试时必须完成的测试类型。

  • 批量测试
  • 在线测试
  • 在线批量集成测试
  • 数据库测试

  • 批量测试

我们将执行批量测试,以验证批量作业完成的输出文件和数据修改的测试结果与测试规范。

注意:批处理作业是在没有任何用户与可访问计算资源交互的情况下实现的一组事件。

  • 在线测试

在在线测试中,我们将测试大型机应用程序的前端特性。在线测试涵盖了各个方面,例如用户友好性、数据输入验证、外观和感觉、屏幕内的导航等。

应测试应用程序的准确输入字段,例如计划利息、保险计划等。

  • 在线批量集成测试

在线批处理集成测试可以在具有批处理和在线应用程序的系统上进行。在这里,我们还测试了在线流程与后端流程的集成功能。

基本上,在此测试中,我们验证数据流的准确性以及屏幕与后端系统之间的交互。批处理作业用于检查在线屏幕之间的数据流和通信。

  • 数据库测试

数据库测试用于测试事务存储的数据是否符合系统规范。和数据库验证它们的布局和数据存储,其含有来自大型机应用程序,如数据IMS,IDMS,DB2,VSAM / ISAM,顺序数据集,GDGs

并且在数据库测试中,我们还可以验证数据完整性和其他数据库参数的理想性能。

Step3:系统集成测试

系统集成测试用于检查与被测系统相关的系统功能。它在单元级测试之后执行,因为测试接口和服务类型的消息很重要,例如作业成功、作业失败、数据库更新等。

为了正确性,我们将测试跨模块和应用程序的数据流。执行系统集成测试以确保构建准备好进行部署。

在系统集成测试中,我们可以进行以下测试:

  • 批量测试
  • 在线测试
  • 在线-批量集成测试

Step4:回归测试

任何测试中最重要的阶段是回归测试。回归测试确保批处理作业和在线屏幕不能与被测系统直接相关,不受当前项目发布的影响。

回归测试保证在模块中完成的修改并且不影响父应用程序和集成应用程序的整体功能。

应根据其复杂性接受一组特定的测试用例,并应创建测试用例存储库以获得成功的回归测试。每当有新功能移入发行版时,都应修改特定测试。

第五步:性能测试

在大型机测试中,下一步是性能测试。在性能测试中,我们会尝试在前端数据、升级在线数据库、项目应用的可扩展性等重要领域找到瓶颈。

在大型机应用中,我们可能会遇到以下性能错误:

  • 在线响应时间可能很慢,这会导致用户失望。
  • 有时,批处理作业和后端流程需要额外的时间,这会影响在线用户的系统可访问性。
  • 可扩展性问题。

为了克服上述错误,我们应该在以下帮助下适当地测试应用程序:

  • 系统集成参数
  • 应用程序和数据库设计
  • 编码
  • 系统和数据库参数
  • 后端作业的时间安排

第六步:安全测试

安全测试包括评估威胁、风险、漏洞并为应用程序和网络推荐补救措施。

安全测试应涵盖身份和访问管理、风险与合规管理、数据保护和隐私政策遵守方面的用例。

换句话说,我们可以说执行安全测试是为了检查应用程序针对冲突的反安全攻击的设计和开发情况。

安全测试应针对两种类型的安全系统完成:大型机安全和网络安全。

在安全测试中,我们需要测试以下几个方面:

  • Authorization
  • Integrity
  • Authentication
  • Confidentiality
  • Availability

第七步:敏捷方法论

敏捷方法论用于简化应用程序的逐步开发并快速响应修改。

注意:在敏捷开发场景中,我们可以使用增量测试方法。

大型机自动化测试工具

我们在市场上有各种类型的大型机自动化测试工具。一些最常用的大型机自动化测试工具如下:

  • QTP
  • REXX

QTP【快速测试专业版】

QTP 工具用于测试基于 Web 的应用程序的功能回归测试用例。QTP 代表Quick Test Professional,现在称为Micro Focus UFT [Unified Functional Testing]

这对新测试工程师很有帮助,因为他们可以快速了解这个工具。QTP 是在脚本语言(如 VB 脚本)上设计的,以自动化应用程序。

大型机测试

QTP的特点

以下是 QTP 最常见的功能:

  • 在这个工具中,我们可以进行BPT【业务流程测试】。
  • QTP 使用脚本语言来部署对象,并且出于分析目的,它提供测试报告。
  • 技术和非技术测试人员都可以使用 QTP。
  • QTP 支持多种软件开发环境,如 Oracle、SAP、JAVA、
  • 我们可以在 QTP 的帮助下测试桌面和基于 Web 的应用程序。

REXX【重组扩展执行器】

它是一种解释性编程语言,由IBM建立。REXX 是一种高级、结构化的编程语言,专为阅读和学习而设计。REXX 代表Restructured Extended Executor

它用作脚本和宏语言。换句话说,我们可以说 REXX 经常用于处理文本、数据和生成报告

支持MVS、OS/2、AmigaOS、VM等多种操作系统并且REXX也可以在其他一些软件中作为内部宏语言使用,例如KEDIT、ZOC终端仿真器、SPFPC等。

大型机测试

REXX的特点

以下是 REXX 最常见的功能:

  • 它支持不区分大小写的 tokens,其中包含变量名称。
  • 通过使用 REXX,我们可以轻松访问系统服务和命令。
  • REXX 可以支持与特定情况相关的各种程序、功能和命令。
  • 它支持基本的输入/输出优势。
  • 它支持没有声明的动态数据类型。

执行大型机测试的优势

执行大型机测试过程的优势将在以下方面帮助我们:

  • 它以最佳方式利用资源。
  • 它有助于避免多余的返工。
  • 它增强了用户体验。
  • 它减少了生产停机时间。
  • 它有助于我们扩大客户保留率。
  • 它还可以帮助我们降低 IT 运营的总体成本。

概述

在大型机测试部分,我们学习了以下主题:

  • 为了有效地测试应用程序,测试工程师应该参加由业务和开发团队安排设计会议
  • 大型机测试就像任何其他测试过程一样,从需求收集、测试设计、测试执行和结果报告开始
  • 我们已经了解了大型机的属性,例如多道程序、分时、虚拟存储、假脱机和批处理。
  • 我们了解到,主机测试分类分为在线测试和批量测试两部分。在线和批量测试可以有效实施,而不会遗漏需求规范文档中提到的任何功能。
  • 我们已经了解了各种大型机测试挑战和方法。
  • 我们已经学习了大型机测试最常用的命令
  • 我们了解了几种大型机自动化测试工具,它们可以帮助我们改进大型机测试过程。