将测试组件嵌入运行系统中,生产过程中的系统测试增强指南

【从零开始学习计算机科学】软件测试(十)嵌入式系统测试、游戏开发与测试过程、移动应用软件测试 与 云应用软件测试 内部的测试人员,他们都是精选的职业玩家分析人员,对游戏有很深的认识,在内部测试时,对上面的点进行分析利用外部游戏媒体专业人员对游戏作分析与介绍,既可以达到宣传的效果,又可以达到测试的目的。在云环境中的测试利用云资源对其他的软件系统进行测试,涉及与云测试密切相关的资源调度、优化、建模等方面问题,以便为其他软件搭建廉价、便捷、高效的测试环境,加速整个软件测试的进程。云计算的虚拟化实现方式,为云测试的虚拟化提供了较大的便利,测试资源的虚拟化,使测试资源可以随用户的需求提供,动态延展。 阅读详情

引言

随着企业集成解决方案的出现,验证每个系统组件的可操作性变得前所未有地重要。在对已经投入生产应用的系统进行故障排除时,操作团队面对着各种各样的挑战:

  • 要测试跨越多个物理节点和位置的分布式系统组件的可操作性,通常需要每一方团队的联合工作。
  • 系统组件可以使用不同的技术来实现,并部署在不同的软件和操作系统平台上。组建一个熟练的操作团队,其成员位于不同的位置,并具备完整的必需技能集,这是富有挑战性的任务。
  • 对生产环境的访问通常同时受到物理和过程约束的限制。这些限制没有为生产环境中的问题诊断提供足够的权限。
  • 要验证总体系统对服务级别协议的遵从性和验证目标服务质量,将要求解决方案为提供此类措施做好准备。

与解决方案的基础实施部分不同,单独使用系统管理工具无法在功能级别验证自定义应用程序的这些方面。解决方案提供商必须提供某种方法,以测量和报告其系统组件的操作和功能方面。

除了面对所有这些挑战,操作团队通常还不止负责一个系统。为了简化其工作,需要将操作团队与系统的细节隔离,以便他们能够集中于一般操作任务。开发团队可以提供某种方法,用于通过遵循一组与组件内部细节无关的已定义的说明,从而以“黑盒”方式测试系统组件的可操作性。

嵌入测试组件

注意:为方便学习,我们定义了如下所示的术语。

功能组件 交付系统功能。

测试组件 只是为了增强系统的可测试性而引入的。

将测试组件嵌入在其他功能性系统组件中,只是为了使整个系统在部署期间(甚至在投入运行之后)可测试。图 1 显示了测试组件与其对应的功能组件之间的关系。


图 1. 将测试组件嵌入其他系统组件
嵌入测试组件

测试组件将在系统范围的测试场景执行过程中进行调用。除了使用系统的功能组件的功能使用者外,嵌入的测试组件还将具有自己的使用者。

图 2 显示每个组件具有两个接口:一个提供系统功能,另一个提供系统可测试性。取决于测试组件如何公开其接口,可以将测试客户机实现为:

  • 一组 API 调用——如果将测试接口公开为 API
  • 命令——如果将测试接口公开为一个命令行工具

图 2. 通过其功能和测试接口使用组件
组件的功能性和测试性使用

对于由您的系统使用的外部操作组件,例如新闻 Feeds 和支付网关,您也许无法在那些组件端添加测试组件。但是,您仍然可以在自己的系统中添加测试客户机,以验证那些外部系统的可操作性。在这种情况下,测试客户机的测试可以基于外部组件的功能接口,或基于可由测试客户机访问的外部系统上的某个基础设施资源。

对项目生命周期的影响

采用测试组件会在体系结构、实现和操作期间影响项目生命周期。图 3 显示了测试组件在项目进展过程中的发展。


图 3. 测试组件在项目生命周期过程中的发展
测试组件在项目生命周期过程中的发展

标识和布局

在处理某个解决方案时,架构师标识在系统可操作时必须进行测试的关键功能或方面。他们还设计对应的测试组件在整个系统中的布局。

实现

实现阶段按体系结构计划进行,以实现已标识的测试组件。实现将基于测试组件的实现方式,从而提供操作指导以测试特定的系统方面。

操作

在执行操作步骤之后,操作团队可以收集有关测试组件布局、实现和有效性的反馈,以检测系统故障和其他操作影响。将反馈与将来的体系结构整合,或同时维护同一项目的当前体系结构的将来迭代。

下面几个部分将讨论在架构、实现和操作集成测试组件时要考虑的因素。

体系结构注意事项

体系结构决策应该考虑到测试场景、将测试组件布局在何处以及要使用哪些技术。

测试场景

测试组件的布局应该能够覆盖不同系统组件之间的集成路径。与定义普通测试用例时的情况相似,这些场景应该处理不同的集成故障可能性,例如连接性问题。

验证企业解决方案的连接性非常重要,但是还可以使用相同的组件来验证其他方面。可以覆盖系统组件的某些功能或服务质量属性。取决于系统的性质及其服务级别协议,可以部分或全面地测试每个方面。例如,在 ATM 或销售点(point-of-sale,POS)解决方案中,最常见的故障类型来自于连接问题。相应地,相对于功能,可更多地将重点集中于网络和连接性。

组件布局

放在系统中的测试组件的数量高度依赖于宿主系统组件中的节点数量,以及物理部署单元的数量。要考虑的一个要点在于,测试组件应该与其余系统组件共处——在相同的运行时条件下——以便它们能够捕获可能导致某些系统组件误操作的故障。

技术

要使测试组件最有效,应该使用与用于实现系统组件的相同技术来实现它们。通过与其他系统组件共享系统资源,测试组件可以检测到系统故障。例如,如果是基于容器的技术,测试组件可以报告宿主容器停止提供的服务。

实现注意事项

在实现过程中,务必了解将需要的输入,以及用于支持该实现的工作。

必需的输入

用于实现测试组件的典型输入包括:

组件模型
指定测试组件的布局和实现技术,以测试系统的功能方面。
非功能需求
帮助确定要测试的目标服务质量属性,以确保遵从服务级别协议。
操作模型
产生测试组件的适当物理布局,以测试操作故障。

实现团队负责提供相关信息,以告诉操作团队如何在生产环境中验证系统可操作性。

在此情况下,拥有带跟踪矩阵 (traceability matrix) 的文档是非常有帮助的,该文档可表明什么功能、组件、连接或服务质量属性正在由使用哪些测试组件的哪些测试场景进行测试。

实现工作

测试组件是要实现的附加组件,因此它们将需要附加的设计和代码编写工作。实现团队还应该对操作团队进行培训,使他们了解对所实现的系统进行测试的步骤。

操作注意事项

在操作阶段,结果报告、资源使用情况、集成问题和开/关切换功能非常重要。

操作要求和资源使用

测试场景应该易于运行,并且应该报告结果,而没有特定于系统甚至特定于技术的知识要求。由于可以使用不同的技术来实现测试组件,因此它们还应该跨这些技术提供一致的操作界面。例如,命令行工具可以运行同一组命令并产生相同格式的日志。

从资源使用角度来看,测试组件应该具有最小的内存占用空间,并且使用尽可能最少的系统资源。处理器、内存和 I/O 不应该由于应用测试组件而受到显著影响。

与系统管理工具的集成

取决于操作团队使用的系统管理工具,可以将集成测试场景与其他系统检查集成在一起。这要求测试组件提供一个可从系统管理工具中调用的接口。例如,如果系统管理工具允许使用 Java™ 编写用户出口 (user exit),则测试组件应该提供将从此类用户出口中调用的 Java API。最通用的方法是让测试组件提供一个命令行接口,系统管理工具可以使用该接口而不必进行 API 级别的集成。

有了集成之后,测试组件可以在系统管理工具使用的存储库(例如数据库或日志文件)中报告测试结果。如果需要进一步的报告遵从性,测试组件可以使用公共事件基础设施(Common Event Infrastructure,CEI)在运行时报告测试结果。

此类集成的另一个作用是能够与其他定期系统检查一起计划集成测试场景。

开启和关闭

应该根据需要开启和关闭测试组件以节省系统资源。应该只允许从具有受限访问权限的管理域进行切换。切换功能的实现应该是测试组件实现的一部分;它高度依赖于用于实现组件的技术。

例如,在企业应用程序中,它可以是在应用程序启动时加载的属性文件中的一个属性。另一种替代方法是在应用程序服务器级别定义一个环境变量,并根据需要设置该环境变量,以允许应用程序在运行时查询其值。

示例实现

图 4 显示了一个带有表示层和后端层的简单 Web 应用程序。表示层是一个 Web 模块,由一组网页组成,该组网页由一组控制器所控制。后端是一个 EJB 模块,由一组 Enterprise JavaBeans 组成,该组 Enterprise JavaBeans 由表示层 Web 模块的控制器调用。表示层和后端将部署在两个不同的应用程序服务器节点上。


图 4. 示例嵌入测试组件
带嵌入测试组件的示例组件关系图

测试组件的布局方式允许它们测试每个系统组件,并且还允许将它们打包在其他系统组件中。测试页被实现为简单的 JavaServer Pages (JSP),并且能够调用其他页面所使用的功能控制器以及一个附加的测试控制器。测试控制器被实现为一个 servlet。它可以调用后端 EJB 和一个测试后端 EJB。

表 1 显示了使用这些组件的可能场景。所有场景都从使用浏览器或诸如 IBM Rational® Functional Tester 等自动化工具来加载测试页开始,其中自动化工具可以对这些场景进行记录。


表 1. 可能的测试场景
场景描述使用的组件测试的方面
#1运行测试页测试页Web 容器提供页面的能力
#2运行测试页以调用功能控制器测试页、功能控制器功能控制器可操作性
#3运行测试页以调用测试控制器,其中测试控制器又调用后端测试页、测试控制器、测试后端到后端节点的连接性/EJB 容器提供 EJB 的能力
#4运行测试页以调用测试控制器,其中测试控制器又调用功能后端测试页、测试控制器、功能后端后端可操作性、到后端节点的连接性

测试组件的布局和实现可能比这里所示的情况更加变化多样。例如,如果有测试应用程序服务器及其 Web 容器的另一种替代方法,您可能不需要测试页。在这种情况下,可以将测试控制器替换为某个命令行工具,后者充当后端的 EJB 客户端。或者,除非您希望测试无法由功能后端 EJB 捕获的后端节点的某些特性,否则您可能不需要测试后端。例如,您可能在后端节点上跟踪响应时间。

该示例实现显示了从同一点开始的所有测试场景。其他实现可能将每种场景保持独立,以避免在集成测试中发生单点故障。如果发生此类单点故障,则无法执行进一步的场景——从而阻止检测其他系统缺陷。

 

总结

企业集成解决方案可具有嵌入的测试组件,这些组件可在具有最小操作开销的情况下增强解决方案在生产环境中的可测试性。实现可以具有多种形式。嵌入的测试组件会影响体系结构、实现和操作,因此应该在项目的早期阶段引入,以帮助改进总体开发生命周期。

共享本文……

 

digg 提交到 Digg
del.icio.u 发布到 del.icio.u
Slashdot Slashdot 一下!


参考资料

学习

获得产品和技术
AI 测试用例智能生成在复杂系统测试中的覆盖率提升与效率优化实践 在复杂系统测试领域,传统人工编写测试用例存在效率低、覆盖盲区多等痛点。AI测试用例智能生成技术通过机器学习、自动化脚本和知识图谱等技术融合,正在重构测试工程范式。根据IEEE Transactions on Software Engineering 2023年的研究,采用AI生成技术的团队测试效率平均提升40%,缺陷检出率提高28%。 阅读详情

相关推荐

波音737MAX飞机坠机事件对嵌入式软件测试的启示

2018年10月29日印尼狮子航空一架737MAX8客机起飞13分钟就坠毁,机上189人全数罹难。2019年3月10日埃塞俄比亚航空一架737MAX8客机坠毁,机上157人全数罹难。两起坠机事件共造成了346人死亡和重大财产损失,以至于全世界都停飞这一机型飞机。 坠毁原因虽至今未正式公布,但整理各种媒体消息得出原因:由于飞机高迎角传感器(AOA)将错误的数据输入给了MCAS系统, MCAS系统...

lxyzyz1的博客 1920

博客系统测试

本片文章是对博客系统的一个系统化测试的测试报告。包括界面测试,功能测试,自动化测试等。

欢迎来到我的博客 1983

22、嵌入式系统测试与原型设计技术解析

本文深入解析了嵌入式系统的测试与原型设计技术,重点介绍了TTP/A总线协议和硬件在环(HiL)模拟器的应用,同时探讨了物理原型设计(PP)、虚拟原型设计(VP)以及集成原型设计(IP)三种主要原型设计方法的特点与局限性。基于组件技术的IP系统通过组件模块将PP和VP有机结合,提升了嵌入式系统的开发效率和产品质量。文章还通过双岩旋转(DRS)系统的实施案例展示了该技术的实际应用,并展望了未来的发展方向。

corn8的博客 106

嵌入式系统测试平台集成开发环境

2. **实时级嵌入式系统半实物仿真测试平台(ETest_RT)**: 针对实时性要求极高的嵌入式系统,该平台能够实现高速响应和精确的时间同步,确保在实时环境中软件的稳定性和可靠性。4. **嵌入式系统测试教学实训平台(ETest_TP)**: 提供教育机构进行软件测试教学的实践平台,帮助学生掌握嵌入式系统测试的基本技能和最新技术,同时也推动了相关课程在高校的普及。9. **装备软件全数字仿真测试平台(DSTP)**: 全面模拟装备软件的运行环境,提供无实物的测试解决方案,降低硬件依赖,提高测试覆盖率。

wangchen900705的博客 505

7、嵌入式软件系统测试技术深度解析

本文深入解析了嵌入式软件系统测试技术,重点探讨了基于自定义形式化测试描述语言、有限状态机(FSM)和扩展有限状态机(EFSM)的测试方法。文中详细介绍了各类测试技术的基础概念、实现方法及其优缺点,并通过对比分析帮助读者理解不同技术的适用场景。此外,还提供了测试技术选择建议以及未来发展趋势,旨在为嵌入式软件测试人员提供有价值的参考,提升嵌入式软件的质量与可靠性。

jj890的博客 110

20、安全关键系统测试:测试用例设计的结构化方法

本文探讨了安全关键系统中测试用例设计的结构化方法,针对传统经验式测试导致冗余和覆盖不足的问题,提出了一套系统化的测试用例设计指南。该方法结合业务需求分析、产品特定缺陷分类、测试强度定义、规范建模解释及测试技术选择,提升了测试的针对性与效率。通过实际案例(如BVA项目)验证,该指南能有效减少冗余测试、增强故障检测能力,并提高可追溯性。文章还分析了IEC 61508、DO-178B等标准对测试的要求,展望了自动化测试、人工智能与大数据在未来的应用趋势,并指出了系统复杂性与人才短缺等挑战,为安全关键系统的测试实践

tech5的博客 95

转:嵌入式系统测试方法研究

前言  软硬件结合的嵌入式系统正越来越多的应用到我们的日常生活中,参予嵌入式系统的研究和开发的开发商也越来越多,从而第三方测试人员会经常接触到嵌入式系统测试。因此需要第三方测试人员了解嵌入式系统的特性,把握其测试方法。虽然现在有不少与嵌入式系统测试相关的资料,但这些资料都是以第二方测试的角度去讨论的,如何从第二方的测试经验中提取有用经验,结合第三方测试特点,研究出适合第三方测试使用的嵌入式系统测试方法,正是这一课题的意义所在。一、嵌入式系统介绍  嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁

刘辉的专栏 657

全面掌握BurnInTest Professional V9系统测试工具

BurnInTest Professional V9是软件开发公司PassMark Software推出的一款旨在帮助IT专家确保系统稳定性和性能的专业测试软件。核心优势包括全面的系统测试、实时监控、结果记录和分析等,可以简单快速地识别和解决电脑性能问题。V9版本在旧版的基础上进行了大量的功能增强和改进,使其在系统稳定性与性能测试方面更加精确高效。

weixin_42511373的博客 1765

[嵌入式系统-72]:RT-Thread-组件:单元测试框架utest

如果你在RT-Thread这样的实时操作系统环境中使用UTest,并且想要将测试单元作为线程来运行,那么你可能需要自己在代码中创建线程,并在线程函数中调用UTEST_UNIT_RUN来运行测试单元。这个宏/函数的作用是将你的测试代码封装成一个可执行的测试单元,但具体的执行方式(例如是否作为线程运行)则取决于UTest测试框架的实现以及你的测试策略。这个宏/函数的作用是将你的测试代码封装成一个可执行的测试单元,但具体的执行方式(例如是否作为线程运行)则取决于UTest测试框架的实现以及你的测试策略。

文火冰糖(王文兵)的博客 3016

晶振(晶体振荡器)测试方法详解

晶振测试方法分为无源和有源两种类型。无源晶振(两脚)需用示波器测试波形,重点关注正弦波形状、200mV-1.5Vpp幅值和频率精度;有源晶振(四脚)通电后直接输出方波。测试要点包括:示波器使用10X探头、AC耦合,带宽需5倍于晶振频率;万用表可初筛短路/开路;替换法是工程最有效方法。常见故障排查顺序:供电→复位→焊接→型号→负载电容→波形观察→更换晶振→MCU配置。负载电容需按公式计算匹配,示波器观察是核心测试手段。

jiujiujinyuxi的博客 927

告别玄学:用Multisim或LTspice仿真带你直观理解PFC的三种工作模式(CCM/DCM/CrM)

本文通过Multisim和LTspice仿真工具,详细解析了PFC(功率因数校正)的三种工作模式(CCM、DCM、CrM)的本质差异。从波形捕捉到参数优化,提供了实用的仿真技巧和工程实践策略,帮助工程师直观理解并优化PFC电路设计,提升THD和功率因数。

weixin_30363285的博客 396

ETest是一款便携式嵌入式系统半实物仿真测试平台

*一、便携式嵌入式系统半实物仿真测试平台(ETest)** 1. **产品简介** ETest是一款专为嵌入式系统设计的便携式半实物仿真测试平台,它集成了软件和硬件组件,适用于各种行业,如航空航天、武器装备、工业控制、汽车电子和仪器仪表。**三、工业信息物理系统测试验证平台(ETest_CPS)** 1. **产品简介** ETest_CPS平台专门用于测试和验证工业信息物理系统,它将物理世界和信息世界相结合,提供了一个综合的测试环境,以评估系统的可靠性和安全性。

wangchen900705的博客 3369

西门子200 SMART与博图WinCC通讯全攻略:从PC Access到S7-200协议避坑指南

本文详细解析了西门子S7-200 SMART PLC与博途WinCC上位机通讯的两种主流方案:基于PC Access SMART的OPC通讯和利用博途内置S7-200协议驱动直连。文章深入对比了两种架构的优缺点、配置步骤,并提供了从网络层到软件层的深度排错指南与性能优化建议,帮助工程师高效、稳定地实现系统集成。

gg901的博客 810

当黑盒遇见硬件:嵌入式测试中的跨界思维革命

本文探讨了嵌入式测试中黑盒测试与硬件结合的创新方法,提出'硬件感知型黑盒测试'理念。通过协议分析仪、硬件环境模拟等技术,显著提升测试深度,解决传统方法难以捕捉的硬件相关问题。文章详细介绍了实时性验证、能耗分析等关键维度,并分享车载设备测试实战案例,展示硬件增强型测试体系的显著效果。

github5actions的博客 1041

C# OpenCV机器视觉:红外体温检测

阿强长舒一口气,脸上露出了自信的笑容:“好了,万事俱备,只欠东风,接下来就看我的了!在这热图像里,不同的颜色代表着不同的温度区域,就好比一幅用温度绘制的抽象画,红色通常表示高温,蓝色则代表低温,通过解读这幅画,就能大致了解物体表面的温度分布情况。” 阿强兴奋得一拍大腿,“这不就像是找到了隐藏在黑暗中的线索,只要顺着这些红外线的踪迹,就能揪出体温异常的潜在风险,守护大家的健康啦。带着这份坚定的信念,阿强又投入到新的科技研发中,他相信,只要大家齐心协力,用科技点亮希望之光,就一定能迎来更加美好的明天。

xcwzj123的专栏 3152

Ubuntu Rtx3090 Cuda11.7 安装 pytorch3d

pytorch ubuntu pytorch3d 安装

G果的博客 2273

大模型辅助测试在嵌入式系统中的落地挑战与突破

嵌入式测试面临资源受限、实时性要求和硬件耦合等特殊挑战,传统方法存在覆盖率低、异常复现难等问题。大模型应用遭遇计算资源瓶颈、数据闭环缺陷和工具链割裂三重障碍。解决方案包括:轻量化模型架构(如层级蒸馏技术)、多模态数据增强框架和端云协同测试架构。实证显示,在汽车ECU测试中,大模型方案将覆盖率提升至95%,缺陷检出率提高40%,测试周期缩短60%。建议分阶段部署,重点关注模型推理时延、策略有效度和资源占用等关键指标。

2501_94438352的博客 474

【图像拼接】论文精读:As-Rigid-As-Possible Shape Manipulation(ARAP)

文章目录前言1.摘要2.算法的总体流程总结 前言 图像变形算法 1.摘要 论文提出了一个二维图形互动系统。图形是建立在三角形网格上的,用户只需移动几个网格顶点(限制顶点),系统通过最小化每个三角形的误差计算网格剩余顶点(自由顶点)的位置。 算法分两步: 适当旋转每个三角形。 调整大小。 关键是使用二次度量误差将最小化问题转换成线性方程组,然后再解这个方程组。 刚性形状变形是很难的,论文的研究使其变得简单。 2.算法的总体流程 总的流程分三步: 将图形用三角形网格覆盖 选择三个点(限制顶点) 操纵限

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 15万+

各领域嵌入式系统的测试

5. **灵活的数据监控**:ETest提供了丰富的测试监控仪表和灵活的协议字段绑定方法,支持数据字段的双向绑定和表达式绑定,增强了数据监控的灵活性。10. **全面的测试类型支持**:ETest支持多种类型的测试,包括但不限于功能测试、接口测试、边界测试、强度测试、安全性测试等。#### 四、ETest架构 ETest的架构分为软件和硬件两大部分: - **软件部分**:主要包括测试设计软件模块、测试执行服务软件模块、测试执行客户端软件模块、设备资源管理软件模块、各类接口设备调试软件及测试辅助软件等。

wangchen900705的博客 371

零基础做AI漫剧:Kimi K2.5写本 + Flux生图 + Seedance 2.0动效的保姆级教程

很多零基础小伙伴想做AI漫剧,却被“写剧本、画分镜、做动效”三大难题劝退——不会写剧情、不会画插画、不会做动态,觉得门槛太高。其实不用慌!今天就给大家带来保姆级教程,全程用Kimi K2.5(写剧本)、Flux(生分镜图)、Seedance 2.0(做动效)三个工具,不用专业技能,不用手动绘画,零基础也能在1小时内做出1分钟完整AI漫剧,全程步骤拆解、示例齐全,跟着做就能出片!

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 3039

YOLOv11改进 | 引入DEConv细节增强卷积模块:恢复细节信息,提升小目标检测精度

摘要: YOLOv11在目标检测中面临小目标检测精度不足的问题,主要由于细节信息丢失。本文提出引入DEConv(细节增强卷积)模块,通过多分支卷积和残差连接恢复高频细节,提升小目标检测性能。DEConv结合3×3卷积与空洞卷积增强边缘信息,并自适应融合特征,兼容YOLOv11的P3层(小目标关键层)且计算高效。实验表明,该改进在无人机航拍、显微镜图像等密集小目标场景中显著减少漏检,同时保持轻量化和实时性优势。代码实现可直接嵌入现有YOLO架构,仅需替换P3层卷积模块。

走向CTO的路上... 951

java pos系统_嵌入式JavaPOS系统测试的设计与实现

3、通用接口测试由于POSDouble是在J2SE下开发的,所以使用了JUnit工具,而其他接口函数是在J2ME下开发的,所以接口的测试采用了MUnit(JUnit的子集)工具。MUnit工具的使用方法、规则请参考《MUnit测试集编写规范》。(1)测试框架目录结构的总原则是:源代码目录与测试代码目录分离,互不干扰;测试代码目录与源代码目录的分支结构一致,便于查找、维护。(2)仿真环境测试执行流程...

weixin_35871529的博客 302

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: SOA 建模: 第 1 部分 服务识别
下一篇: 利用 DWR 开发基于 Ajax 的文件上载 portlet,在文件上载过程中显示方便的进度条
phantomhu
博客等级 码龄23年 70粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值