【系统分析师】高分论文:论系统测试技术及应用

【摘要】
2022 年 7月,我作为项目负贵人,参加了某银行的统计数据发布系统建设项目。该项目合同金额230 万元,合同工期为半年。统计数据发布系统的主要目标是为该行建设一个企业级的数据统计、分析、发布平台,实现定制化的数据应用、分析、展示功能;实现灵活的综合查询分析、明细数据查询、固定报表展示、移动设备数据展示、风险分析、自助取数等功能,达到“统一数据来源、统一数据口径、统一数据出口”的数据管理目标。

本文结合本人在该项目中的实践,分别讨论了单元测试、功能测试、集成测试和性能测试各阶段测试的特点,详细闸述了各阶段所采用的具体测试措施和策咯。其中,重点讨论了性能测试的类型和如何在项目中实践各种性能测试。项目最终成功实施完成并顺利验收,得到了客户高层领导的高度认可。

【正文】
某银行在各项经营活动中积累了大量的数据资源,这些数据除了支撑银行生产业务流程的正常运转之外,也越来越多地被用于支撑监管报送、精准营销、战略决策、风险控制、绩效考核等运营管理和决策过程的数据分析工作。为了满足业务部门和管理人员不断增长的报表数据需求,为决策分析提供依据,反映全行业务发展情况,识别和监测凤险状况。某银行管理层迫切需要规划和建立科学、规范、易于扩展、灵活性强的统计数据发布平台。这样就可以进一步完善全行报表体系,降低该行报表开发成本和难度,缩短报表开发周期,规范报表使用流程,降低管理与维护复杂度,实现统计数据集中及统计报表统一、规范管理。

2022 年 7 月,我作为项目负责人,参与并主导了该银行的统计数据发布平台项目,该项目合同金额230万元,实施周期为半年。本项目产品架构基于 Java 的 B/S 架构,数据库平台是 Oracle 11g,中间件为 Weblogic,报表展现工具采用国内知名的 Smartbi 产品,调度工具为国内产品 TASKCTL,数据采集工具采用开源的 Kettle。我们在 IBM 完全生命周期测试模型的基础上,根据本项目的具体特点和要求,结合成本效率进行了裁剪,形成本项目的测试策略、总体测试计划和详细测试计划,并得到了银行方技术部门的认可。测试整体上划分为单元测试、功能测试、集成测试、性能测试和验收测试等阶段。验收测试主要由银行方的业务人员进行。本文重点讨论前面4个阶段的测试。

一、单元测试
该阶段测试工作有应用系统测试和 ETL 开发单元测试。应用系统测试由于是用 Java 开发,所以采用了 JuNit 进行单元测试,由于本项目是基于标准产品的二次开发,类的数量不多。因此我们要求开发人员对每个新开发的类都要写对应的测试类,测试通过后需要写单元测试报告,并要求组内人员交叉检查执行。ETL 开发是采用 Perl 脚本+存储过程的方式进行的,单元测试阶段主要采用公司自主研发的ETL 开发自动化测试工具。测试人员进行合理的配置,可自动化运行 ETL脚本,可进行空值检查、主键重复检查等。

二、功能测试
由于本系统既要在 PC 端展示,同时也需要在移动端展示,因此要求应用系统的功能测试主要通过编写一份测试案例能在多个终端执行。我们使用公司自主研发的基于 STAF 自动化测试框架的测试工具进行功能测试,确保页面功能在跨平台,如PC端、安卓端、苹果端都能运行正常,并确保在各个终端的链接跳转都是符合预期的。

三、集成测试
集成阶段需要将每个 ETL 作业配置在调度工具上,因此集成测试阶段主要测试调度作业是否按照各种串行、并行机制分别运行,确保依赖作业的先后顺序执行。对对于银行信息系统,数据指标的正确性是重中之重。以往项目中,由于对数据准确性测试不充分,导致试运行阶段不断返工,不仅增加了开发人员投入,还导致了验收期的延长。

本阶段的测试重点是测试数据加工的准确性。我们主要采用以下措施:
(1)每个字段的值域范围测试,譬如某个指标的历史波动范围在100万~300 万元之间,那么加工后的指标就不应该超过这个范围。
(2)借助于业务经验,采用总分比对的方式。银行一般有分户账和汇总账两本账。分户账通过按照机构、科目分类从明细汇总后,应当和现有的汇总账一致。以上测试时都可用公司自主研发的 ETL 测试工具,在上面配置校验规则后进行测试执行。另外,测试数据的完整性是确保数据准确性的关键所在,因此我们便在测试案例编写过程中同步进行测试数据的申请。

四、性能测试
性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,并优化软件,最后起到优化系统的目的。具体来说,包括以下四个方面。
(1)发现缺陷:软件缺陷往往与软件性能密切相关,因此缺陷测试需要结合性能测试一起进行。
(2)性能调优:性能调优并不一定发现性能缺陷,还可以更好地发挥系统潜能。
(3)评估系统的能力:测试能够满足性能需求的条件极限。
(4)验证稳定性和可靠性:在一定负载下一段时间内,评估系统稳定性和可靠性是否满足要求的方法。

性能测试类型包括基准测试、负载测试、压力测试、稳定性测试、并发测试等。项目实际中,我们采用 LoadRunner 作为性能测试工具。基准测试方面,我们主要测试系统在用户登录数处于非月初正常水平下,系统的各项运行指标,并将各项指标进行记录作为参考。

由于每月初系统用户数都会有一个激增的过程,主要是因为月初为各业务部门进行数据统计报送的高并发期。因此需要基于这个用户数量再加上未来 5年内该行业务部门统计人员增加的预估情况进行负载测试和压力测试。我们要求系统的负载测试能至少持续 10 个工作日,压力测试要求系统运行的各项指标不能低于基准测试指标的 80%。这些基准指标中,我们重点关注数据查询响应效率指标,要求1 千万级记录数以下的表查询响应时间为1 秒以内;1干万~3 千万级记录数的查询响应时间为3 秒以内;3 千万~6千万级记录数的查询响应时间为6 秒以内。同时,在测试过程中,还要及时发现 ELT 作业运行时间超过基准指标的作业进行整改,避免了这些作业在上生产后由于运行缓慢导致整体时间窗口延长。

2022 年 12月,本项目历时半年后,在双方项目领导的大力支持下,在双方项目组成员的共同持续奋战下,项目最终成功实施完成并顺利验收。由于客户的高层领导在手机移动端看到了准确数据组的业务指标,而且界面美观、功能流畅,因此高度认可该项目。客户的科技部门也给我们公司发来了表扬信,并与公司快速签约项目的二期建设。本项目的成功很大程度上得益于采用了科学测试技术、测试方法,测试取得的不错效果,有力保障了项目的质量。

项目仍然存在不足的地方,具体有以下几个方面:开发人员测试观念不强,虽然要求进行单元测试,但是开发人员没有很好地执行,导致在集成测试阶段发现较多问题。公司自主研发的测试工具在配置上不够灵活,无法快速配置大量测试案例。一些测试案例的数据准备不够完备。我们从实践中领会到测试确实可以在保证软件质量方面起到很大的作用,但同时我们也认识到测试中还有很多领域和知识点需要继续研究和实践。新技术的发展对测试也提出了新的要求和挑战,需要我们继续研究探索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/920610.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/920610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第5篇 c++ 函数的多返回值实现-返回多个值

c 函数的多返回值实现std::tuple<Mat, int, double, std::string> AuatoPafackSydstem::GetMatchingValue(Mat mat_img, std::string img_template_path) {Mat a;return {a,1,0.001,""}; }std::tuple<Mat, int, double, std::string> GetMatchingValue(M…

C++基础(⑤删除链表中的重复节点(链表 + 遍历))

题目描述 给定一个排序好的链表&#xff08;升序&#xff09;&#xff0c;删除所有重复的元素&#xff0c;使每个元素只出现一次。 示例&#xff1a; 输入&#xff1a;1 → 1 → 2 → 3 → 3 输出&#xff1a;1 → 2 → 3 解题思路 核心观察&#xff1a;链表已排序&#xff0c;…

摩搭api 实现

AI图片生成器前端实现详解本文详细解析一个功能完整的AI图片生成器前端实现&#xff0c;包含主题切换、参数配置、图片生成与预览等核心功能。项目概述 这是一个基于ModelScope平台的AI图片生成器前端实现&#xff0c;用户可以通过输入提示词、选择模型和调整参数来生成高质量图…

c++--线程休眠/sleep

线程休眠<unistd.h>--sleep()<thread>--std::this_thread::sleep_for()ros--rclcpp::sleep_for()以上的三个sleep也就是休眠会占用CPU吗简单直接的回答是&#xff1a;不会。一个正确使用、正在休眠的线程不会占用CPU资源。核心原理当你调用像 std::this_thread::sl…

人工智能基础概念

The brain happens to be a meat machine. —— Marvin Lee Minsky 目录 人类智能 人工智能 三个阶段 三大学派 四个要素 关系辨析 维度分类 发展简史 技术方向 应用领域 产业图谱 发展趋势 人类智能 人工智能的目的是通过探索智慧的实质&#xff0c;扩展人类智能…

企业数字资产管理怎么转型更高效?一文打通策略与实践

核心要点 问题&#xff1a; 传统的内容管理方式效率低、协作难、版本混乱&#xff0c;企业转型 DAM 系统面临选型难和落地难两大挑战。 答案&#xff1a; 采用阶段性转型策略&#xff0c;结合智能化工具和标准化流程&#xff0c;能帮助企业构建可扩展、易协作、强治理的内容资…

python pyqt5开发DoIP上位机【源码】

目录 文章合集 文章合集 python pyqt5开发DoIP上位机【介绍】 python pyqt5开发DoIP上位机【代码里发送常用uds命令是怎么实现的?】 python pyqt5开发DoIP上位机【代码里是怎么获取诊断回复的?】 python pyqt5开发DoIP上位机【诊断回复的函数都是怎么调用的?】 python …

IIC (I2C)通信

一、IIC的特点I2C&#xff08;Inter IC Bus&#xff09;又成为&#xff08;爱方C I2C&#xff09;是由Philips公司开发的一种通用数据总线两根通信线&#xff1a;SCL&#xff08;Serial Clock&#xff09;、SDA&#xff08;Serial Data&#xff09;同步&#xff0c;半双工带数据…

【图像处理 - 基础知识】ISP(Image Signal Processor)处理

文章目录1. 图像传感背景2. 图像数据格式2.1. 【RAW】Bayer滤色阵列&#xff08;Bayer Filter Array&#xff09;2.2. 【RGB】2.3. 【YUV】3. ISP&#xff08;Image Signal Processor&#xff09;3.1. ISP定义3.2. 分类概括1 RAW 域&#xff08;Raw Domain&#xff09;2 RGB 域…

PostgreSQL 数据库灾备要点与举例说明**

PostgreSQL 数据库灾备要点与举例说明 数据库灾备(Disaster Recovery, DR)是确保业务连续性的核心环节,其目标是在主生产环境遭遇计划外中断(如硬件故障、自然灾害、人为错误、数据损坏)时,能快速恢复数据和服务。PostgreSQL 因其强大和开源特性,提供了多种高效的灾备方…

【GaussDB】在逻辑复制中剔除指定用户的事务

【GaussDB】在逻辑复制中剔除指定用户的事务 1. 需求背景 在逻辑复制中&#xff0c;期望对源端指定用户的所有操作不复制到目标端。然而WAL日志中没有用户信息可用于过滤&#xff0c;因此考虑结合审计日志来实现这一需求。 2. 解决方案 2.1 配置审计日志 首先需要开启事务…

C/C++---预定义常量

在C/C开发中&#xff0c;预定义常量是编译器与标准库提供的“隐形工具集”&#xff0c;无需开发者显式定义&#xff0c;却在跨平台兼容、调试定位、数值计算安全等场景中发挥核心作用。这些常量涵盖编译环境标识、语言标准判断、代码定位信息、数值边界限制等多个维度&#xff…

嵌入式学习笔记--LINUX系统编程--DAY03进程控制

1.进程概述进程和程序的区别程序&#xff1a;程序是存储在存储介质上的一个可执行文件---静态的进程&#xff1a;进程是程序的执行实例。可以说进程就是正在执行的程序。程序是一些指令的集合&#xff0c;而进程是程序的执行过程&#xff0c;这个过程的状态是变化的&#xff0c…

【90页PPT】新能源汽车数字化转型SAP解决方案(附下载方式)

篇幅所限&#xff0c;本文只提供部分资料内容&#xff0c;完整资料请看下面链接 https://download.csdn.net/download/2501_92808859/91777751 资料解读&#xff1a;《新能源汽车数字化转型SAP解决方案》 ​​详细资料请看本解读文章的最后内容​​ 在全球汽车产业加速向电…

LSM6DS3姿态芯片和LIS2MD磁力计芯片数据读取(stm32)

上代码main.c 代码示例#include "lsm6ds3.h" #include "lis2md.h"int16_t Acc[3] {0}, GYO[3] {0},Mag[3] {0};int main(void) {I2C_GPIO_Config(); //配置IIC使用端口Delayms(500); //延时Lsm6ds3_Init( ); …

数据传输安全-IKE工作过程

在前面的课程中&#xff0c;你已经掌握了&#xff1a;IPSec的目标&#xff1a;提供机密性、完整性、身份认证、防重放。IPSec的执行者&#xff1a;AH和ESP协议。IPSec的规则手册&#xff1a;SA&#xff08;安全关联&#xff09;&#xff0c;包含了所有保护参数&#xff08;算法…

翻译-同位协同克里金算法

同点协同克里金法 副标题: 地统计学课程 主要内容: 同点协同克里金法 摘要 同点协同克里金法是一种多元地统计学技术,用于借助次要变量(协变量)来估算主要变量。本课程介绍了同点协同克里金法,并将其与简单克里金法和简单协同克里金法进行了比较。通过一个假设的案例…

国家统计局数据分析01——机器学习

我们前面爬取过国家统计局数据爬取——机器学习-CSDN博客的数据,我们接下来就对爬取的数据进行分析。 这是一个完整的数据分析代码,主要用于加载、清洗和探索政府统计数据。让我为你详细解释每个部分: 1. 导入必要的库 import pandas as pd # 数据处理和分析的核心库 imp…

【杂谈】-混沌理论能否赋予机器差异化思考能力?

混沌理论能否赋予机器差异化思考能力&#xff1f; 文章目录混沌理论能否赋予机器差异化思考能力&#xff1f;1、AI与结构化思维的本质特征2、人类思维的独特优势3、混沌算法的创新实践4、混沌算法的作用机理5、混沌算法的应用实例5.1 音乐创作革新5.2 图像生成突破5.3 科学发现…

jQuery.print插件:网页内容打印与导出指南

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;在网页开发中&#xff0c;为了实现内容的打印或导出&#xff0c;可以利用jQuery.print插件&#xff0c;该插件提供了一个简易的解决方案&#xff0c;尤其适用于表格数据。本指南详细介绍了如何使用jQuery.print…