在本节中,我们将了解主机测试,该测试用于测试在主机系统上开发的软件或应用程序和服务。
我们还了解主机属性、主机测试的类型、如何执行、执行主机测试时的不同挑战和故障排除、主机测试中使用的各种命令、主机测试期间面临的一些常见问题以及主机自动化测试工具。
在了解主机测试的概念之前,我们将了解主机。
1. 什么是主机?
主机是一个多用户、高性能和高速的计算机系统。主机是最可靠、可扩展且最安全的机器系统。
换句话说,我们可以说这些系统用于更大规模的计算,这涉及高可用性和安全性。主机系统主要用于各种细分领域,例如零售、保险、金融和其他处理大量数据的关键领域。
在这种情况下,我们可以在以下方面的帮助下每秒执行数百万条指令[最多569,632 MIPS]:
- 最大输入/输出带宽:如果我们具有极端的输入和输出带宽,则驱动器和处理器之间的连接有几个阻塞点。
- 可靠性:通常,主机同意在系统运行时正常降级和服务。
- 可靠的单线程性能:这对于针对数据库的实际操作非常重要。
- 最大输入/输出连接:最大输入/输出连接意味着主机擅长提供巨大的磁盘场。
在了解了主机概念之后,现在我们来到了关于主机测试的主要讨论点。
2. 什么是主机测试?
主机测试的主要目标是通过验证和确认方法确保应用程序或服务的可靠性、性能和卓越性,并检查它是否已准备好部署。
测试人员在执行主机测试时只需要了解 CICS 屏幕的导航,因为这些导航是为特定应用程序定制的。
而且,如果 COBOL、JCL 等中的代码发生任何修改,测试人员不必担心机器上设置的模拟器。
3. 我们在哪里执行主机测试?
通常,主机测试是在已部署的代码上执行的,并将多个数据组合设置为输入文件。换句话说,我们可以说主机应用程序必须在生产运行之前进行全面测试。
主机应用程序(也称为批处理作业)的测试与根据需求开发的测试用例相矛盾。
在主机上运行的软件或应用程序可以通过终端仿真器进行检索。
了解主机测试后,我们将研主机测试的几个特征。
4. 主机测试方法
在主机测试中,最终用户检索软件或应用程序的方式与 Web
应用程序不同。
应用测试人员应该知道这些显著差异,如下所示:
5. 主机属性
在主机测试中,我们有以下主机功能;让我们一一看:
进程并发
- 进程并发属性是一种工具,它使我们能够有效地利用 CPU。
-
计算机同时实现各种程序。
分时
- 分时处理也称为前台处理,而批处理作业处理称为后台处理。因此,它被称为交互式处理,因为它允许用户直接与计算机关联。
-
在分时系统中,每个用户都可以通过终端设备访问系统。
虚拟存储
- 虚拟存储使用磁盘存储作为实际存储的扩展。
-
它是一种有效使用内存来存储和执行许多大小的任务的技术。
假脱机
- 线轴表示同步外围操作在线,用于累积程序或应用程序的输出。
-
如果需要,则后台打印输出将定向到打印机等输出设备。
批处理
- 批处理是一种技术,我们可以在其中以单元(也称为作业)完成任何任务。
-
我们可以根据作业按顺序执行一个或多个程序。
-
作业计划程序总结有关实现作业的顺序。
-
根据其重要性和类别计划工作,以最大限度地提高平均产出。
-
批处理在作业控制语言(JCL)的帮助下为我们提供了必要的信息。
6. 如何进行主机测试
主机测试可以通过两种方式执行,手动或使用一些自动化工具,如
QTP、REXX 和 IBM 应用程序性能分析器等。但通常,我们将手动执行主机测试。
要进行主机测试,我们需要遵循以下步骤:
步骤1:规划
首先,业务团队或开发团队构建测试计划,包括业务需求文档、系统需求文档、其他项目文档和输入。它控制特定项目或流程在发布周期中的更改方式。
同时,为了提前准备测试场景和测试用例,测试团队将协调开发和项目管理团队。
步骤2:调度
成功准备需求文档后,它将移交给开发团队和测试团队。并且测试时间表应与项目交付计划一起编写,该计划应准确。
步骤3:可交付成果
收到文件后,他们将检查可交付成果。并且可交付成果应该很好地描述,没有任何不确定性,并且应该满足测试目标的范围。
步骤4:实施
之后,应按照计划和可交付成果进行实施。
通常,应用程序的 15-25% 将直接受到版本中修改后的需求的影响。另外 60-75% 的版本将取决于开箱即用的功能,例如测试应用程序和流程。
因此,我们需要通过两种方式测试主机应用程序:
测试要求:我们将测试应用程序的功能或要求文档中披露的修改。
测试集成:回归测试是此测试活动的主要关注点。我们将测试整个过程或其他接收数据或将数据发送到宝贵应用程序的应用程序。
步骤5:报告
之后,我们将定期与开发团队共享测试结果。为了保持连续性,测试团队应与开发团队保持联系,以便在关键条件下进行即时修改。
7. 主机中手动测试的分类
主机手动测试可分为以下两种类型:
在线测试
在线测试是指对 CICS 屏幕的测试,相当于网页测试,其中现有屏幕的功能可以更改,或者可以添加新屏幕。
各种应用程序可以具有查询和修改屏幕,其中屏幕的功能需要作为在线测试的一部分进行测试。
批量作业测试
通常,在批处理作业测试中,测试过程包含功能的批处理作业,这些功能在现有版本中执行。
测试结果将从输出文件中提取,并且应测试和记录数据库。
8. 主机测试命令
在主机测试中,我们使用了各种命令,这些命令在测试应用程序或软件时非常有用。
下表显示了主机测试中一些最常用的命令:
注意:我们在执行主机测试时还有一些其他命令,但它们不经常使用;因此,我们在需要时使用这些命令。 |
9. 有关主机操作的先决条件统计信息
测试人员在对应用程序执行主机测试时,应具有有关主机操作的以下信息:
- ISPF [交互式系统生产力设施] 必须用于菜单操作。
- TSO[分时选项]是一种用于借助命令访问虚拟存储和管理数据集的方法。
- 测试软件时必须使用FTP [文件传输协议]或其他传输协议。
- 如果主机是后端,我们应该使用跨平台操作。
- SDSF [系统显示和搜索设施] 必须用于控制操作和系统资源。
- 必须遵循批处理作业管理。
- CICS 事务必须用于测试 IBM 主机。
10. 主机测试挑战和故障排除
如果我们在应用程序上执行主机测试,我们可能会遇到一些挑战,对于这些挑战,我们有一些指定的方法,如下表所示:
11. 主机测试中要遵循的步骤
执行主机测试时需要遵循以下步骤:
步骤1:冒烟测试
第一步,我们将进行冒烟测试,检查安装的代码是否在正确的测试环境中。它还确保代码没有严重问题,从而节省了测试人员测试错误构建的时间。
步骤2:功能测试/系统测试
执行冒烟测试后,我们将进行一轮功能或系统测试,以独立测试各种型号的功能并相互关联。
以下是实施系统测试时必须完成的测试类型。
批量测试
我们将执行批量测试,以验证输出文件上的测试结果,并使用测试规范对批处理作业完成的数据修改。
注意:批处理作业是一组在没有用户与可访问计算资源进行任何交互的情况下实现的事件。 |
在线测试
在在线测试中,我们将测试主机应用程序的前端功能。在线测试涵盖各个方面,例如用户友好性,数据输入验证,外观和感觉,屏幕内的导航等。
应测试应用程序的确切输入字段,例如计划的利息,保险计划等。
在线批量集成测试
在线批量集成测试可以在具有批处理和在线应用程序的系统上执行。在这里,我们还测试了在线流程与后端流程的集成功能。
基本上,在此测试中,我们验证数据流的准确性以及屏幕与后端系统之间的交互。批处理作业用于检查在线屏幕之间的数据流和通信。
数据库测试
数据库测试用于测试事务存储的数据是否符合系统规范。数据库验证了它们的布局和数据存储,其中包含来主机应用程序的数据,如IMS,IDMS,DB2,VSAM
/ ISAM,顺序数据集,GDG是
在数据库测试中,我们还可以验证数据完整性和其他数据库参数,以获得理想的性能。
步骤3:系统集成测试
系统集成测试用于检查与被测系统相关的系统功能。它是在单元级测试之后执行的,因为测试消息的接口和服务类型(如作业成功、作业失败、数据库已更新等)非常重要。
为了正确性,我们将测试跨模块和应用程序的数据流。执行系统集成测试以确保构建已准备好进行部署。
在系统集成测试中,我们可以执行以下测试:
步骤4:回归测试
任何测试中最重要的阶段是回归测试。回归测试确保批处理作业和在线屏幕不能与被测系统直接相关,这些系统不受当前项目版本的影响。
回归测试保证在模块中完成修改,并且不会影响父应用程序和集成应用程序的整体功能。
应根据测试用例的复杂性接受一组特定的测试用例,并应创建一个测试用例存储库以获得成功的回归测试。并且,每当有新功能移动到版本中时,都应修改特定的测试。
步骤5:性能测试
在主机测试中,下一步是性能测试。在性能测试中,我们将尝试在前端数据、升级在线数据库、预测应用程序的可扩展性等重要领域找到瓶颈。
在主机应用程序中,我们可能会遇到以下性能错误:
- 在线响应时间可能很慢,这会导致用户失望。
-
有时,批处理作业和后端进程需要额外的时间,这会降低在线用户的系统可访问性。
-
可伸缩性问题。
为了克服上述错误,我们应该在以下的帮助下适当地测试应用程序:
- 系统集成参数
-
应用程序和数据库设计
-
编码
-
系统和数据库参数
-
后端作业的计时
步骤6:安全测试
安全测试包括评估威胁、风险、漏洞,并为应用程序和网络推荐补救措施。
安全测试应涵盖身份和访问管理、风险与合规管理、数据保护和隐私政策遵守方面的用例。
换句话说,我们可以说执行安全测试是为了检查应用程序的设计和开发情况,以应对相互冲突的反安全攻击。
应在两种类型的安全系统上完成安全测试:主机安全和网络安全。
在安全测试中,我们需要测试以下几个方面:
步骤7:敏捷方法
敏捷方法用于简化应用程序的逐步开发并快速响应修改。
注意:在敏捷开发场景中,我们可以使用增量测试方法。 |
12. 主机自动化测试工具
我们在市场上有各种类型的主机自动化测试工具。一些最常用的主机自动化测试工具如下:
QTP [快速测试专业]
QTP工具用于测试基于Web的应用程序的功能回归测试用例。QTP代表Quick Test Professional,现在它被称为Micro
Focus UFT [统一功能测试]。
这对新的测试工程师非常有帮助,因为他们可以快速理解此工具。QTP 是在脚本语言(如 VB
脚本)上设计的,用于自动化应用程序。
QTP 的特点
以下是 QTP 最常见的功能:
- 在此工具中,我们可以执行BPT [业务流程测试]。
-
QTP 使用脚本语言来部署对象,出于分析目的,它提供测试报告。
-
技术和非技术测试人员都可以使用 QTP。
-
QTP支持多种软件开发环境,如Oracle,SAP,JAVA,
-
我们可以在 QTP 的帮助下测试桌面和基于 Web 的应用程序。
REXX [重组扩展执行程序]
它是一种解释型编程语言,由 IBM 建立。REXX 是一种高级结构化编程语言,专为阅读和学习而设计。REXX
代表 重组扩展执行器。
它被用作脚本和宏语言。换句话说,我们可以说 REXX 经常用于处理文本、数据和生成报告。
它支持各种操作系统,如MVS,OS / 2,AmigaOS,VM。而REXX还可以作为内部宏语言在其他一些软件中使用,例如KEDIT,ZOC终端仿真器,SPFPC等。
REXX的特点
以下是 REXX 最常见的功能:
- 它支持不区分大小写的令牌,其中包含变量名称。
-
通过使用REXX,我们可以轻松访问系统服务和命令。
-
REXX 可以支持与特定情况相关的各种过程、函数和命令。
-
它支持基本的输入/输出优势。
-
它支持没有声明的动态数据类型。
13. 执行主机测试的优势
执行主机测试过程的优势将在以下方面帮助我们:
- 它以最佳方式利用资源。
-
它有助于避免多余的返工。
-
它增强了用户体验。
-
它减少了生产停机时间。
-
它帮助我们扩大客户保留率。
-
它还有助于我们降低 IT 运营的总体成本。
14. 总结
在主机测试部分,我们学习了以下主题:
- 为了有效地测试应用程序,测试工程师应参加业务和开发团队安排的设计会议。
- 主机测试与任何其他测试过程类似,从需求收集、测试设计、测试执行和结果报告开始。
- 我们已经了解了主机属性,例如进程并发、分时、虚拟存储、假脱机和批处理。
- 我们已经了解到,主机测试分类分为在线测试和批量测试两部分。在线和批量测试可以有效地实施,而不会遗漏需求规范文档中提到的任何功能。
- 我们已经了解了各种主机测试挑战和方法。
- 我们已经学习了最常用的主机测试命令。
- 我们已经了解了几种主机自动化测试工具,这些工具有助于我们增强主机测试的过程。
|