软件测试之系统测试总结报告

news2024/11/18 13:41:08

  1. 引言
    1. 编写目的

编写该测试总结报告主要有以下几个目的

  1. 通过对测试结果的分析,得到对软件质量的评价
  2. 分析测试的过程,产品,资源,信息,为以后制定测试计划提供参考
  3. 评估测试测试执行和测试计划是否符合
  4. 分析系统存在的缺陷,为修复和预防bug提供建议
    1. 背景

    1. 用户群

    主要读者:XX项目管理人员,XX项目测试经理

其他读者:XX项目相关人员。

    1. 定义

严重bug:出现以下缺陷,测试定义为严重bug

  • 系统无响应,处于死机状态,需要其他人工修复系统才可复原。
  • 点击某个菜单后出现“The page cannot be displayed”或者返回异常错误。
  • 进行某个操作(增加、修改、删除等)后,出现“The page cannot be displayed” 或者返回异常错误
  • 当对必填字段进行校验时,未输入必输字段,出现“The page cannot be displayed” 或者返回异常错误
  • 系统定义不能重复的字段输入重复数据后,出现“The page cannot be displayed” 或者返回异常错误

    1. 测试对象

    1. 测试阶段

系统测试

    1. 测试工具

Bugzilla缺陷管理系统

    1. 参考资料

《XX需求和设计说明书》

《XX数据字典》

《XX后台管理系统测试计划》

《XX后台管理系统测试用例》

《XX项目计划》

  1. 测试概要

XX后台管理系统测试从2007年7月2日开始到2007年8月10日结束,共持续39天,测试功能点174个,执行2385个测试用例,平均每个功能点执行测试用例13.7个,测试共发现427个bug,其中严重级别的bug68个,无效bug44个,平均每个测试功能点2.2个bug。

XX总共发布11个测试版本,其中B1—B5为计划内迭代开发版本(针对项目计划的基线标识),B6-B8为回归测试版本。计划内测试版本,B1—B4测试进度依照项目计划时间准时完成测试并提交报告,其中B4版本推迟一天发布版本,测试通过增加一个人日,准时完成测试。B5版本推迟发布2天,测试增加2个人日,准时完成测试。

B6-B11为计划外回归测试版本,测试增加5个工作人日的资源,准时完成测试。

XX测试通过Bugzilla缺陷管理工具进行缺陷跟踪管理,B1—B4测试阶段都有详细的bug分析表和阶段测试报告。

    1. 进度回顾

版本/时间

计划开始时间

实际开始时间

计划完成时间

实际完成时间

加班

增加资源

B1

2007.7.2

2007.7.2

2007.7.5

2007.7.5

B2

2007.7.16

2007.7.16

2007.7.19

2007.7.19

B3

2007.7.23

2007.7.23

2007.7.25

2007.7.24

2个人日

B4

2007.7.28

2007.7.29

2007.7.31

2007.7.31

1个人1天1个人2天

2个人日

B5

2007.8.1

2007.8.2

2007.8.6

2007.8.3

2个人日

B6

2007.8.4

2007.8.4

2个人1天

2个人日

B7

2007.8.5

2007.8.5

1个人1天

1个人日

B8

B9

2007.8.9

2007.8.9

2007.8.10

2007.8.10

2个人日

B10

合计

1个人6天

11个人日

    1. 测试执行

此次测试严格按照项目计划和测试计划执行,按时完成了测试计划规定的测试对象的测试。针对测试计划规定的测试策略,在测试执行中都有体现,在测试执行过程中,依据测试计划和测试用例,对系统进行了完整的测试

    1. 测试用例
      1. 功能性

系统实现的主要功能,包括查询,添加,修改,删除。

系统实现的次要功能,包括为用户分配酒店,为用户分配权限,渠道酒店绑定,渠道RATE绑定,权限控制菜单按钮。

需求规定的输入输出字段,以及需求规定的输入限制

      1. 易用性

  操作按钮提示信息正确性,一致性,可理解性

  限制条件提示信息正确性,一致性,可理解性

必填项标识

输入方式可理解性

中文界面下数据语言与界面语言的一致性

  1. 测试环境
      1. 软硬件环境

硬件环境

应用服务器

数据库服务器

客户端

硬件配置

CPUIntel(R) Celeron(R) CPU 2.40GHz stepping 01

Memory 1048256k

HD:ST380817AS 80G SATA

CPUIntel(R) Celeron(R) CPU 2.40GHz stepping 01

Memory 1048256k

HD:ST380817AS 80G SATA

CPUIntel(R) Celeron(R) CPU 2.40GHz stepping 01

Memory 1048256k

HD:ST380817AS 80G SATA

软件配置

OS:CentOS 4.2

JDK 1.5.0_06

Apache 2.2.0

Tomcat 5.5.15

OS:CentOS 4.2

MySQL 5.0.17 Linux

Window 2000 Professional (SP2)IE6.0.2900.2180.xpsp_sp2

网络环境

10M LAN

10M LAN

10M LAN 

      1. 网络拓扑

       

  1. 测试结果
    1. Bug趋势图

    此次黑盒测试总共发布10个版本,V1.0.1-V1.0.5为计划内迭代开发版本(针对项目计划的基线标识),V1.1.1-V1.2.2为进行的回归测试版本,所有版本一共发现bug  1306个。bug版本趋势图如下图所示:

 

    由Bug的版本分布图可以看出,V1.0.1-V1.0.5版本质量非常不稳定,bug数量最高达到189个,V1.0.1作为第一个版本bug数量为58个。在版本V1.0.3验证了前面发现的所有bug的基础上遗留bug数量在123个质量表现也不够稳定,在V1.1.1新增了批量制证、数据恢复、数据备份、数据清除等功能所以bug数目骤增为232个。随着版本的迭代在版本V1.2.2  bug数量逐渐将为0。

    1. Bug优先级分布 

 

    测试发现的bug主要集中在未完善功能级别major,属于一般性的功能缺陷,但是测试的时候,出现了163个涉及到程序崩溃、程序启动不了、不能完成正常制证、不能完成正常印刷等严重级别的bug,出现严重级别的bug主要表现在以下几个方面:

  • 系统的主要功能没有实现
  • 本地数据库数据量比较大的时候出现程序崩溃死机
  • 系统主要功能逻辑混乱导致意外bug
  • 后台进程在程序关闭后没有相应停止导致程序不能启动
  • WebAPI接口调用错误导致核心功能不可实现
    1. 问题类型分布

 

    系统的问题类型主要分布于测试过程和维护过程发现影响系统运行的缺陷bug和对现有系统功能的改进improvement。Bug占所有问题类型的百分比为:97%,improvement占所有问题类型的百分比为:3%。图上结果说明系统在需求采集、程序设计工作过程中考虑十分全面极少存在功能设计遗漏问题。

    1. Bug模块分布图

 

 由上图可以看出,bug主要分布模块是CerDesk印刷端(405个)和CerDesk制证端(534个)两个工作台,占到了全部bug的2/3以上。而CerWeb服务器端(260个)的bug分布相对来说比较少占总体百分比为7%。CerDesk运维端(107个)的bug量最少主要原因是功能比较简单。

软件测试全栈专题系列课程icon-default.png?t=M85Bhttps://edu.csdn.net/combo/detail/2221Jmeter高级性能测试实战icon-default.png?t=M85Bhttps://edu.csdn.net/course/detail/35834RobotFramework+Jmeter接口自动化测试课程icon-default.png?t=M85Bhttps://edu.csdn.net/course/detail/36152Fiddler接口抓包神器使用教程icon-default.png?t=M85Bhttps://edu.csdn.net/course/detail/32782零基础新手入门软件测试必知必会icon-default.png?t=M85Bhttps://edu.csdn.net/course/detail/32598

    1. 最近提交缺陷图

 

由上图可以看出,在统计的十个周bug提交和解决状况比较理想,当前提交的bug都能够在很快的时间得到修复,并且随着版本的稳定解决bug数量为全部解决新增bug数量逐渐降为0,整个过程属于正常的软件版本迭代过程。

    1. Bug状态分布

 

由bug状态图可以看出,打开的bug有0个,重新打开的bug有0个。已解决bug有2个,主要是版本V1.2.2中提交的界面易用性bug,而其他的1304个都是已验证修复并关闭的bug。系统整体的遗留bug数量达到测试结束标准。

  1. 测试结论
    1. 功能性

系统正确实现了通过数据字典管理基础数据的功能,实现了数据内容的多语言功能,实现了中英文界面。实现了基础数据管理,酒店集团管理,酒店基础信息管理,渠道管理,代理管理,用户管理的查询,添加,修改,删除的功能,系统还实现了将权限控制细化到菜单按钮的功能。

系统在实现用户管理下的权限管理功能时,存在重大的缺陷,权限控制不严密,权限设计有遗漏。

    1. 易用性

   现有系统实现了如下易用性:

  • 查询,添加,删除,修改操作相关提示信息的一致性,可理解性
  • 输入限制的正确性
  • 输入限制提示信息的正确性,可理解性,一致性

现有系统存在如下易用性缺陷:

  • 界面排版不美观
  • 输入,输出字段的可理解性差
  • 输入缺少解释性说明
  • 中英文对应的正确性
  • 中英文混排
    1. 可靠性

现有系统的可靠性控制不够严密,很多控制是通过页面控制实现的,如果页面控制失效,可以向数据库插入数据,引发错误。

现有系统的容错性不高,如果系统出现错误,返回错误类型为找不到页面错误,无法回复到出错前的状态

    1. 兼容性

现有系统支持window下的IE浏览器和傲游浏览器,支持linux系统下的IE浏览器和火狐浏览器。

现有系统未进行其他兼容性测试

    1. 安全性

现有系统控制了以下安全性问题:

  • 把某一个登录后的页面保存下来,不能单独对其进行操作不进行登录
  • 直接输入某一页面的Url能否打开页面并进行操作不应该允许。

现有系统未控制以下安全性问题:

  • 用户名和密码应对大小写敏感
  • 登陆错误次数限制
  1. 分析摘要
    1. 覆盖率

此次测试,所有测试用例都是在中文界面下执行,未在英文界面下执行,测试不包括英文界面下的测试,也不包括正对英文翻译的测试。

此次测试,部分页面需求描述无明确的定义,对输入限制无详细定义,无明确的测试依据,在测试过程中,测试是根据输入字段含义,测试人员理解,以及和项目经理,开发人员沟通获得测试依据,无法保证测试依据的正确性和完整性,因此,没有进行完整的,正确的无效数据的测试,测试覆盖率不够,无法保证测试的有效性和正确性

下面为此次测试测试用例覆盖率分析图:

    1. 遗留缺陷的影响

1. 缺陷描述:酒店娱乐项添加页面, “距离”字段无单位,建议增加单位

缺陷影响:距离字段无单位说明,无衡量标准,用户易用性不好

推迟原因:需求定义无单位定义,统一在升级版本中解决

2. 缺陷描述:酒店基础信息管理模块,默认语言设置不一致。用中文查询酒店,进入酒店基础信息模块后,如下模块,语言显示为“请选择”

列表页面

添加页面

取消政策

停留政策

担保政策

机场

参照点

会议室详情

打包促销

服务

Rate

而其他模块语言显示“中文语言”

缺陷影响:相同功能模块默认语言设置不一致,一致性不好

推迟原因:默认语言设置,目前无统一标准,升级版本中统一

3. 缺陷描述:tomcat日志有乱码,日志无项目名称,查看不方便

缺陷影响:其他项目日志都有项目名称,日志无项目名称,查看不方便

推迟原因:目前的日志为了调试方便,显示了很多其它信息,在项目正式发布时会统一处理的。

4. 缺陷描述:取消政策管理要么,取消时间“天/小时”缺少单位补充字段

缺陷影响:该处因为是两个不同的单位时间,需要有另外一个单位补充字段补充所所填写内容的单位

推迟原因:该缺陷单位补充字段本来存在,翻译不够准确,不能理解为补充单位的字段,需要等翻译完毕后再确认。

5. 缺陷描述:数据字典种类修改,默认值设置后,在调用该数据字典种类的数据字典,默认值无显示

缺陷影响:数据字典种类的默认值设置后,不能显示设置的默认值,相当于数据字典种类默认值设置功能未实现

推迟原因:该功能暂时不好实现,需要和和系统的默认语种一起处理。

6. 缺陷描述:担保政策管理页面,“Edposit Due”缺少解释行输入描述信息

缺陷影响:缺少解释性输入描述信息,用户不理解应该输入什么内容

推迟原因:需求没有描述,需要解释性说明文字由项目经理整理后,在升级版本中添加

7. 缺陷描述:多媒体添加,文件上传功能未实现

缺陷影响:文件上传功能未实现

推迟原因:该功能暂时不好完成,在下个版本中完成

8. 缺陷描述:参照点添加权限和修改权限单独控制出现权限异常错误

缺陷影响:用户执行添加,修改时,出现权限异常,无法完成任务

推迟原因:B9版本发现该权限,B10版本未通过验证,目前该模块开发人员调休,无法修改bug,

9. 缺陷描述:酒店渠道绑定关系权限控制出现权限异常错误

缺陷影响:a>权限控制易用性不好,会引起用户误操作;

b>权限控制错误

推迟原因:B9版本发现该权限,B10版本未通过验证。该模块后台无insert权限,只有Update权限,与其他模块不同,需要重新设置权限控制方式。

10.缺陷描述:酒店Rate绑定关系权限控制出现权限异常错误

缺陷影响:a>权限控制易用性不好,会引起用户误操作;

b>权限控制错误

推迟原因:B9版本发现该权限,B10版本未通过验证。该模块后台无insert权限,只有Update权限,与其他模块不同,需要重新设置权限控制方式。

11.缺陷描述:新建业务管理员权限用户,进入打包促销页面出现权限异常错误

缺陷影响:除系统管理员外,其他用户无法进行打包促销操作

推迟原因:B10版本发现该bug,目前该模块开发人员调休,无法修改bug

    1. 建议
  • 在项目开始的时候应该制定编码标准,数据库标准,需求变更标准,开发和测试人员都严格按照标准进行,可以在后期减少因为开发,测试不一致而导致的问题,同时也可以降低沟通成本。
  • 发布版本的时候,正确布置测试环境,减少因为测试环境,测试数据库数据的问题而出现的无效bug。
  • 开发人员解决bug的时候,填写bug原因以及解决方式,方便bug的跟踪。
  • 开发人员在开发版本上发现bug,可以通知测试人员,因为开发人员发现的bug很有可能在测试版本上出现,而测试人员和开发人员的思路不同,有可能测试人员没有发现该bug,而且,这样可以保证发现的bug都能够被跟踪。
  1. 度量
    1. 资源消耗
    2. 缺陷密度

测试时间

2007年7月2日至2007年8月6日共35天

测试人力

1人×7天+1人×35天=42人天

硬件资源

服务器:PC 2台

客户端:PC 2台

  1. 典型缺陷引入原因分析

测试过程中发现的缺陷主要有以下几个方面:

     1. 需求定义不明确

需求文档中,存在功能定义错误,输入输出字段描述错误,输入输出字段限制定义错误,输入输出限制定义缺失这几种类型的缺陷。使得开发人员根据需求进行设计时,没有考虑相关功能的关联性,以及需求错误的地方,在测试过程中,需求相关的问题表现出来。需求做改正,设计必须跟着做改动,浪费时间和影响开发人员的积极性,降低开发人员对需求的信任,可能会导致开发人员不按照需求进行设计而根据自己的经验来进行设计。

  1. 功能性错误
    • 功能没有实现,导致无法进行需求规定的功能的测试。主要是无法进入酒店设施管理,会议室管理页面,酒店安全项管理无法保存信息,地区,房型删除功能缺失。
    • 功能实现错误,实现了需求未定义的功能,执行需求定义的功能时系统出现错误。主要是角色拥有不属于自己的权限,酒店联系人删除页面跳转错误等。
  2. 页面设计和需求不一致

页面设计没有根据需求进行,输入,输出字段文字错误,用户无法理解字段含义。页面设计没有完成需求规定的输入限制验证,导致用户可以输入错误的或者无效的数据,这些数据有可能会引起功能性错误。

  1. 多语言数据问题
  • 系统中很多输入字段是通过调用数据字典的方式输入,但是现有系统中,很多数据字典的多语言信息没有完成,导致使用多语言的时候,显示空白字段。
  • 系统中很多地方使用多语言,由于多语言编码不统一导致页面设计和数据设计使用语言编码不一致,由此引起的多语言数据无法显示的缺陷。
  1. 页面设计易用性缺陷
  • 页面设计不友好,系统中很多页面的输入字段无明确的输入提示,用户无法理解何种输入是正确的,但是用户输入错误后,系统提示出错,增加用户负担。
  • 提示信息错误,不同模块相同结果的提示信息不一致,用户操作后,相应的提示信息不明确,引起用户误解。
  • 提示信息一致性,用户在不同页面执行相同的操作,提示信息不同。

6. 开发人员疏忽引起的缺陷

因为开发人员的疏忽,导致系统需要验证的地方,调用了错误的验证,系统需要进行输入控制的地方没有进行相应的控制。

软件测试全栈专题系列课程icon-default.png?t=M85Bhttps://edu.csdn.net/combo/detail/2221

Jmeter高级性能测试实战icon-default.png?t=M85Bhttps://edu.csdn.net/course/detail/35834RobotFramework+Jmeter接口自动化测试课程icon-default.png?t=M85Bhttps://edu.csdn.net/course/detail/36152Fiddler接口抓包神器使用教程icon-default.png?t=M85Bhttps://edu.csdn.net/course/detail/32782零基础新手入门软件测试必知必会icon-default.png?t=M85Bhttps://edu.csdn.net/course/detail/32598

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

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

相关文章

(附源码)Springboot中北创新创业官网 毕业设计 271443

Springboot中北创新创业官网 摘 要 进入21世纪以来,计算机有了迅速的发展。计算机应用、信息技术全面渗透到了人类社会的各个方面,信息化已成为世界经济和社会发展的大趋势。本文主要通过对中北创新创业官网的功能性需求分析,对系统的安全性和…

HTTP状态码206报错

HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 与 RFC 4918 等规范扩展。所有状态码的第一个数字代表了…

基于jsp+mysql+ssm富锦市业余足球联赛管理系统-计算机毕业设计

项目介绍 足球联赛管理系统主要目的是对足球联赛中心所有的足球联赛信息进行管理,并且合理管理好管理员发布球队、球员和比赛信息,会员浏览查看球队和比赛信息的流程。提高足球联赛管理的工作效率,降低管理的成本。本系统选用Windows作为服务…

Go-Excelize API源码阅读(四十一)——GetCellRichText

Go-Excelize API源码阅读(四十一)——GetCellRichText 开源摘星计划(WeOpen Star) 是由腾源会 2022 年推出的全新项目,旨在为开源人提供成长激励,为开源项目提供成长支持,助力开发者更好地了解…

加固技术护城河,比亚迪商用车加速领跑全球电动化进程

在10月召开的德国汉诺威国际交通运输博览会上,比亚迪首次发布全新刀片电池客车底盘技术平台。 随后的11月,比亚迪首款基于全新刀片电池客车底盘技术平台的新车型B12A03重磅亮相第四届LTA-UITP新加坡国际交通大会暨展览会。 据悉,B12A03是一…

Java 基础(继承)

继承基础1. 继承的特点2. super关键字3. 继承中变量访问特点(就近原则)4. 继承中成员方法访问特点5. 继承中构造访问特点为什么子类中所有构造方法默认都会访问父类无参构造方法。如果父类中没有无参构造6. 重写概述应用注意事项方法重写和重载有什么区别…

ssm的校园单车自行车租赁系统|租车系统计算机专业毕业论文java毕业设计开题报告

💖💖更多项目资源,最下方联系我们✨✨✨✨✨✨ 目录 Java项目介绍 资料获取 Java项目介绍 《ssm的校园单车租赁系统》该项目采用技术:jsp springmvcspringmybatis cssjs等相关技术,前端页面使用了EasyUI框架&#…

【Redis】分布式锁基础

1. 集群下的线程并发安全问题 当项目形成集群时,每个 JVM 有一个锁监视器,这些锁监视器彼此间不互通,因此会出现集群下的线程并发安全问题,如下图所示: 2. 分布式锁 分布式锁是解决集群下的线程安全问题的方案&#…

Google Earth Engine(GEE)——image.select(...).rgbToHsv is not a function

本错误涵盖了好多错误,主要的原因就是函数不明确,不知道如何使用,以及函数的参数的设定,所以这里大家要先去看函数,另外,最主要的问题就是影像集合和影像要区分开,否则就会出现xxx is nor a function。这里我们用要注意!!! 提示: Line 9: image.select(...).rgbTo…

YApi跨域插件cross-request无法使用的解决方案

cross-request遇到的问题 最近在使用cross-request插件会收到一些报错信息: Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details. 以上信息是说Google推出了Man…

ADI的DSP开发软件:CCES软件的使用说明(很早期写的一点心得)

CCES 是 ADI 最新的 DSP 开发环境,全称是 Cross Core Embedded Studio,我从 2012 年的1.0.1 版开始使用,也曾经写过一个非常详细的软件安装文档,现在来详细的说一说 CCES 软件的使用操作。下面是我列出来的标题,一个一…

点成分享 | 为什么动物细胞培养大都需要二氧化碳培养箱

在进行动物细胞体外培养的过程中,培养条件苛刻,仅在环境因素方面除了要有严格的无菌环境、适合的温度、渗透压、相对湿度等,维持细胞周围的气体环境和pH稳定也十分重要。 动物细胞的体外培养需要理想的气体环境和适宜的pH环境。众所周知&…

Python中的type和object详解

这篇博客主要描述Python的新风格对象(new-style objects)&#xff0c;如下&#xff1a; <type type>和<type object>分别是什么&#xff1f;用户自定义的类和实例之间是怎么联系的&#xff1f;它们和内置类型又是怎么联系的&#xff1f;什么是元类(metaclasses)&a…

npm安装慢 ,卡在sill idealTree buildDeps不动

先说结论&#xff1a;node的默认镜像是国外的&#xff0c;修改镜像为国内地址。 报错截图&#xff1a; Failed to check for updates&#xff0c;开始以为是版本问题&#xff0c;并没有理会&#xff0c;直接创建项目&#xff0c;结果卡在了sill idealTree buildDeps&#xff08…

有关于torch.autograd.grad

torch.autograd模块给用户提供了一个自定义求导的接口。torch.autograd.grad可以手动地将loss对某部分参数进行梯度求导&#xff0c;特别适用于debug和观测。 笔者经常使用这个接口用于观测模型优化出现问题时&#xff0c;梯度值是否出现异常&#xff1b;以及用于代替tensorbo…

检验基础的 JavaScript 面试题

1. 下面代码的输出是什么&#xff1f; function sayHi() {console.log(name);console.log(age);var name "Lydia";let age 21; }sayHi(); A: Lydia 和 undefined B: Lydia 和 ReferenceError C: ReferenceError 和 21 D: undefined 和 ReferenceError 答案: D…

12月编程语言排行榜公布!一起来看变化!

2022年迎来了最后一个月&#xff0c;我们可以看到&#xff0c;在这一年中编程语言起起伏伏&#xff0c;有的语言始终炙手可热&#xff0c;而有的语言却逐渐“没落”… 日前&#xff0c;全球知名TIOBE编程语言社区发布了12月编程语言排行榜&#xff0c;有哪些新变化&#xff1f…

一篇博客搞定深度学习基本概念与反向传播

目录 深度学习的发展过程 深度学习的步骤 定义Neural NetWork 全前向连接 softmax介绍 定义loss函数 定义优化器选择最优参数optimization 反向传播Backpropagation 深度学习介绍 反向传播视频 深度学习的发展过程 perceptron(liner model)感知机——线性模型 perc…

ESP32入门基础之资源管理

文章目录1 ESP32-DevKitC V4&#xff08;ESP32-WROVER-E&IE&#xff09;板载资源2 FreeRTOS任务内存使用监控1 ESP32-DevKitC V4&#xff08;ESP32-WROVER-E&IE&#xff09;板载资源 ESP32-DevKitC V4 入门指南 esp32-devkitc开发板参数对比 在工程中使用函数查询可用…

HTML学生个人网站作业设计:基于HTML+CSS+JavaScript设计多用途的图文展示博客HTML模板(16页)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…