当前位置: 首页 > news >正文

【系统分析师】高分论文:论软件的系统测试及应用

【摘要】
本文以2023年2 月份某国有企业的 B2B 商品棉交易平台的电子商务门户网站系统(以下简称“门户网站”)建设为例,讨论软件的系统测试及应用。我们认为软件的系统测试及应用,是整个项目中最关键性的工作之一。软件测试工作的好坏直接影响软件的质量好坏,会决定项目能否进入最终的验收、收尾工作。文章先是详细描述项目背景,概要论述软件系统测试的主要活动及其所包含的内容,阐述功能测试与性能测试的主要目标;然后详细讨论了项目组在实际中所采用的系统测试方法,具体描述了本项目系统测试实施过程以及应用效果:最后总结了项目测试过程中的问题。该项目通过合理应用系统测试方法,保证了软件的质量,在系统上线后的储备棉交易过程中,系统运行平稳,获得了用户的好评。

【正文】
某国有企业为响应国家“互联网+〞战略,对其原有的商品棉交易平台(以下简称原交易平台)制订了系统改造计划。计划将原交易平台的业务功能进行向互联网用户的访问方式与浏览习惯的重新设计:规划了棉花“电子仓单〞HTMLS 的展示平台、棉花交易后物流运输申请与棉花专业仓库保管平台,以及具有数据分析等相关功能的 B2B 电子商务门户网站。

该国有企业为了这个门户网站系统组织了系统建设的招标,2023 年 2 月我公司顺利中标并签订了合同,随后成立了项目组。我在项目中承担了 需求分柝、系统整休测试和部分核心代码的编写工作。该系统包含了棉花的电子仓单子系统,棉花交易后的运输申请、运输核查子系统。棉花存储到专业仓库的入库预约子系统,以及支持国家实现对棉花的宏观调控的大数据分析平台。

本项目在开发中主要使用 Java 作为开发语言,采用 Springmve+Mybatis 作为开发框架:大量的棉花质量数据和用户等结构化数据采用 Oracle数据库来存储:为了支持预计的 1000个用户的并发访问,系统采用了 Redis 作为分布式缓存,将用户数据、权限数据、数据字典等结构化数据放到Redis 里减少对数据库的请求,提高系统响应时间:对于系统用户行为日志、系统间数据交换曰志等非结构化数据,使用 Mongodb 来存储:考虑系统还需要存储大量的运输申请单扫描件、运输核查图片等小文件,我们使用 Fasids 做系统的分布式文件系统,这种采用针对不同类型信息资源进行多服务器集群的构架设计,为系统在集中地高并发访问时分摊了系统压力,提高了系统的稳定性,降低了系统性能风险的影响。

我首先概要论述系统测试的主要活动及其所包含的主要工作内容,阐述功能性测试和性能测试的主要目的:然后再论述本项目中采用的系统测试方法,以及实施过程与测试方法应用实际效果。系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,是否满足系统/子系统设计文档和软件开发合同规定的要求。系统测试的依据是开发合同或用户需求,除应满足一般测试的准入条件外,在进行系统测试前,还应该确认被测试系统的所有配置项己通过测试,对需要固化运行的软件还应提供相应的固件。一般来说,系统测试的主要工作包括功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等:其中,最重要的工作是功能测试和性能测试。功能测试主要采用黑盒测试方法:性能测试主要验证系统在承担一定的负载的情况下所表现出来的特性是否符合用户的需要,主要指标有响应时间、吞吐量、并发用户数和资源利用率等。功能测试的目的是测试系统是否达到了用户提出的需求以及隐含需求。性能测试的目的是验证系统是否能够达到用户提出的性能指标,同时发现软件系统存在的性能瓶颈,并优化软件,最后起到优化系统的目的。

下面我将结合项目的实际情况,阐述本项目所采用的系统测试过程与应用效果。首先通过对 SRS进行功能分解,对分解后每个功能形成测试用例。在进行测试的时候,我们引入了自动化测试工具 Selenium 和禅道来做 bug 的跟踪管理。项目中,我们从需求工程里生成的 SRS 中的用例规约形成了测试用例,登记在禅道软件的 bug 管理流程里,并在禅道里给每个测试机用例分配了测试验证人员。根据需求功能的分级和测试脚本运行的结果,由测试人员对 bug 进行了分级。

本项目中,“电子仓单”的形成过程涉及5个部门的10 个用户角色,这样导致系统的集成测试与确认测试流程非常长、过程也很复杂,涉及的业务系统与系统功能、用户、角色都很多。为了保证所有测试的质量,我们通过把整个过程分解并识别了货权人的“预约入库申请”“物流运输经办人确认”“物流主管审核”“仓库到货经办人确认”“仓库主管审核”“交割经办人确认”“交割主管审核”“财务对贵用的经办人确认”“财务主管审核”共9个测试用例。这使整个仓单形成的所涉及的功能点测试都能对应到实际业务需求上,保证了功能需求的实现和实现质量。

对于有多个业务流程交互的仓单状态,我们采用等价类划分与边界值分析并结合判定表,对不同业务类型的逻得状态进行等价类划分,使得测试用例覆盖了仓单在多个业务流程时的状态。其次,为了提高测试的效率,我们在项目中还使用自动测试工具 Selenium,此工具通过在用户浏览器端嵌入的插件能够录制并保存 Web 界面上的操作,然后通过回放录制的模拟用户操作功能完成测试用例。这个工具的使用大大提高了测试效率。通过多轮对系统功能的测试,终于完成了用户对系统功能的确认。

最后,由于本项目是对原业务系统进行“互联网+”的改造,因此我们还进行了两轮的系统性能测试,以满足系统存在高并发访问的情况。我们先对系统分解的用例可能存在的高并发访问的功能进行了分析。经过项目组与用户技术部门一起讨论,大家一致同意对“用户登录”和“交易行情展示”两个用例场景进行性能测试。这里我们引入了性能测试工具 LoadRunner 来模拟高并发的用户登录和访问首页的“交易行情展示”,同时对应用服务器和数据库服务器进行了 VO、CPU、网络流量、内存占用率等方面的监测。经过第一轮的性能测试,发现了系统在出现 500个用户同时登录时,系统响应时间会大大延迟。登录成功后页面会跳转到首页,由于首页嵌入了4个交易的行情数据展示,因此增加了服务器瞬间的请求数量。我们在对系统功能进行优化调整时,通过将用户数据、用户角色以及角色权限导入Redis 缓存,用户登录的身份验证和鉴权过程从原来通过查询数据库角色、菜单、用户表改成从 Redis缓存里获取这3个 Redis 的缓存对象方式实现。这样减少了系统对数据库的查询,提高了高并发用户登录时的系统响应能力;同时对首页的行情展示进行异步加载数据的控制程序来限制并发访问。通过这样的调整后,再进行一轮性能测试,终于排除了并发访问时系统性能上的问题。

项目历时7 个月,通过这样多轮的功能测试与两轮性能测试后,该门户网站终于在 2022年9月中旬顺利交付。系统交付后的新棉花年度的交易高峰期,该国有企业商品棉的交易量大幅增加,由此我们也获得了客户的认可。

当然在本项目的系统测试过程中还存在一些待改进的地方。因为在测试过程中我们引入了如自动化测试工具、缺陷管理工具等比较新的测试工具,所以在实际的工具使用过程中,我们熟悉新工具花费了不少时间,也导致出现了一些重复工作。我相信随着我们对工具的逐步熟练,在我们以后的系统测试过程中会越来越好。但是总的来说,项目顺利交付客户,本项目对系统测试方法和过程的改进还是起到了很重要的作用,保证了系统交付的质量。

http://www.dtcms.com/a/358751.html

相关文章:

  • 栈溢出问题
  • Redis-数据类型的常用操作命令
  • uart学习
  • Jdk动态代理 Cglib动态代理
  • MYSQL表结构优化场景
  • 解构机器学习:如何从零开始设计一个学习系统?
  • folium地图不显示加载不出来空白问题解决
  • SAP PP模块的MPS
  • 福彩双色球第2025100期篮球号码分析
  • git在push和clone等操作时显示‘: Invalid argument
  • 优选算法:二分查找
  • #5:Nginx核心使用技术
  • Java 学习笔记(基础篇12)
  • 小狼毫输入法中让数字键盘上的数字键不再选择候选词而是与原始输入一起直接上屏
  • 计算机视觉与深度学习 | 基于深度学习的图像特征提取与匹配算法综述及MATLAB实现
  • 互联网大厂大模型应用开发岗位面试:技术点详解与业务场景演练
  • nacos3端口漂移问题
  • shell编程-核心变量知识
  • LeetCode - 234. 回文链表
  • 2025年高性能计算年会
  • Golang 面试题「高级」
  • 零碳智慧园区双碳方案
  • 代理IP网站哪家好?全球优质IP代理服务商有什么推荐?
  • 【Linux】网络安全管理:Netfilter、nftables 与 Firewalld | Redhat
  • Linux查看Java进程PID、端口号和内存占用脚本
  • 2023年山东省信息学小学组(CSP-X)第一轮题解
  • 【嵌入式原理系列-第六篇】从Flash到RAM:MCU ld脚本全解析
  • SUMO 与 孪易 IOC 协同:开启交通数字孪生新纪元
  • 哪些人需要考道路运输安全员证?政策要求与适用范围
  • 计算机网络面试集合