一 、系统概述
软件测试与开发实训室是软件开发过程中的一项重要测试活动,旨在验证不同软件模块或组件之间的集成与交互是否正常。综合测试确保各个模块按照设计要求正确地协同工作,以实现整个软件系统的功能和性能。以下是软件测试与开发实训室的一般流程和步骤:1. 测试计划制定:确定综合测试的目标、范围、时间和资源等计划,并制定相应的测试策略和测试方法。2. 集成测试环境搭建:准备用于集成测试的测试环境,包括硬件、软件、网络等必要的设施和工具。3. 模块集成测试:先对相邻的模块进行集成测试,确保相邻模块之间的接口和数据传递正常。这一阶段通常使用驱动程序或桩(Stub)来模拟不可用的模块。4. 自底向上集成测试:从下至上逐步加入新的模块,对集成系统进行测试。这个过程通常需要使用适配器或者模拟器来模拟未完成的模块。5. 自顶向下集成测试:从顶部模块开始,逐步加入下层模块,对整个系统进行测试。这个过程通常需要使用驱动程序来模拟尚未完成的下层模块。6. 交叉测试:在模块集成的基础上,进行跨模块的测试,验证系统在各种交叉功能和场景下的表现。7. 数据完整性和正确性测试:针对数据传输和处理进行测试,确保数据在集成过程中不会丢失、被损坏或被篡改。8. 接口测试:重点测试各个模块之间的接口,验证数据传递和交互的正确性。9. 性能测试:测试系统的性能指标,如响应时间、吞吐量、并发性等,以确保系统在预期负载下能够正常工作。10. 错误处理和恢复测试:测试系统对错误条件和异常情况的处理和恢复能力。11. 文档记录和缺陷修复:记录测试结果,包括发现的缺陷和问题。开发团队进行缺陷修复,并进行迭代测试,直到问题被解决。12. 测试报告和总结:编写综合测试报告,总结测试活动的结果、问题和经验教训,为后续的测试和维护提供参考。
软件测试与开发实训室是一个迭代过程,需要持续进行测试和修复。通过综合测试,可以确保不同模块之间的集成顺利进行,减少系统故障和性能问题,提高整体软件质量。
二、软件测试与开发实训室介绍
软件测试与开发实训室是一个专门用于进行软件测试与开发实训室实践和培训的场所。在这个实训室中,学员可以通过理论学习和实际操作,掌握软件测试与开发实训室的技术和方法。
软件测试与开发实训室通常配备有以下设施和资源:
1. 计算机设备:提供高性能的计算机和工作站,用于运行和测试软件系统。
2. 测试工具和软件:提供常用的软件测试与开发实训室工具,如Junit、Selenium、SOAPUI、Postman等,用于自动化测试和集成测试。
3. 测试环境:搭建合适的软件测试环境,包括操作系统、数据库、网络环境等,以模拟真实的系统集成和交互。
4. 虚拟化和容器技术:利用虚拟机或容器技术,提供多种操作系统和环境的快速切换和复现,方便学员进行不同场景的测试。
5. 接口模拟工具:提供接口模拟工具,如WireMock、MockServer等,用于模拟尚未完成或不可用的外部系统接口。
6. 数据生成工具:提供数据生成工具,生成各种测试数据,包括正常和异常情况下的数据,用于测试系统对数据的处理和响应。
7. 缺陷跟踪和管理工具:提供缺陷跟踪和管理工具,如Jira、Bugzilla等,用于记录和管理测试过程中发现的缺陷和问题。
8. 文档和教学资源:提供软件测试与开发实训室的教材、参考书籍、文档和实验指导等资源,帮助学员理解和掌握综合测试的理论和实践。
9. 辅导和支持:配备有专业的导师或工程师,提供实时辅导和支持,解答学员在测试过程中遇到的问题和疑惑。
软件测试与开发实训室提供了一个模拟真实集成和测试环境的学习和实践场所,学员可以在这里进行软件系统的集成测试、接口测试、性能测试等实践,提高在软件测试与开发实训室领域的实践能力和就业竞争力。同时,实训室也可以用于企业培训和内部技术研发团队的实践训练。 软件测试与开发实训室培养理想信念坚定,德、智、体、美、劳全面发展,具有一定的科学文化水平,良好的人文素养、职业道德和创新意识,精益求精的工匠精神,较强的就业能力和可持续发展的能力,掌握本专业知识和技术技能,面向软件和信息技术服务业的计算机软件工程技术人员、计算机程序设计员、计算机软件测试员、人工智能工程技术人员、大数据工程技术人员等职业群,能够从事软件开发、软件测试、软件编码、软件技术支持、Web 前端开发人工智能系统开发、大数据处理等工作的高素质技术技能人才。
三、软件测试与开发实训室组成
3.1软件测试与开发实训室教学平台
平台基于spring cloud微服务架构,提供便捷的SSO单点登录,采用kubernetes进行部署,可支持公有云、混合云、私有云的安装模式,数据层使用MySQL集群和MongoDB集群,实现了全流程EdvOps自动化运维,具有高内聚、松耦合、业务单一、高性能、高并发、高可能、跨平台、跨语言等特点。主要模块有课程制作工具、云盘、共享课、我的课、云优选课、云视频库、3D模型库。
课程制作工具:由平台提供专用的微服务模块进行支撑,采用websocket双向通信技术,底层存储采用三层递进的缓存方式,目的就是为了加快课程资源的加载速度。自主研发视频转码,在线视频剪辑功能。支持由word文档直接导入,并且根据标题类型自动生成目录,方便快捷。同时支持ppt、excel、图片、超链接、视频、音频、3D模型、章节测验等内容的插入,实现多个超文本文件的同屏展示。
共享课:使用订单配发或校内共享的概念,让课程资源更大程度的进行共享。
我的课:支持从共享课资源中直接进行“生成副本”,导入进我的课中,并且同时支持自行创建。所有的课程资源支持导出功能,可导出为本地的离线文件,导出文件为后缀名为wz的加密文件,在使用平台进行二次导入直接生成课程资源,便于线上传播。
云优选课:由行业资深从业人员在互联网上收集整理的学习资源,包括系列类学习视频和知识点类学习视频,供教师和学生进行自主学习。
云视频库:平台提供数百个包含各专业的微课视频,可直接引用到课程资源中。
3D模型库:采用three。js技术,实现在线加载3D模型,提供更加直观形象的教学体验。
题库:题库支持通用题目(单选题、多选题、判断题、填空题、主观题)以及实训题目(编程题、web前端题、虚拟化题等);对于通用类题目可采用excel模板批量导入,采用瀑布流的展示方式,可共享到校内供其他教师进行使用。
作业:支持手动建题和从题库中选题两种模式创建作业,提供作业库模块,作业库内的作业可多次发放给学生,对于作业平台提供自动评测,包括单选题、多选题、判断题、填空题、编程题、虚拟化题。
考试:支持导入试卷、手动创建、题库选题三种创建方式,同时支持系统随机组卷功能;提供试卷库模块,试卷库内的试卷可多次发放给学生,支持试卷的自动判分。
课堂活动:平台支持多种课堂活动,如:签到、主题讨论、提问、分组任务、投票、问卷、计时器等,提高课堂的趣味性和参与性。
个人云盘:平台将用户在备课,教学等过程中使用的文件,保存在个人云盘空间,支持二次直接使用和存档,实现云文件的保存。
3.2软件测试与开发实训室
平台采用B/S结构,运用spring cloud微服务技术,构建多个稳定、高效的服务模块,提供SSO单点登录服务,并使用统一的身份认证鉴权。平台基于k8s实现公有云、混合云、私有云多种部署方式,提供在线软件测试与开发实训室的运行环境,并内置代码运行结果检测,自动进行测评统计,实现真正的云开发,开箱即用,主要模块有课程制作工具、作业、活动、云盘、共享课、我的课、云优选课。
便捷的实验制作工具:让教师轻松实现pdf、ppt、word、excel等不同格式的文本、图片、音频、视频、超链接等进行混合编排,并自动生成动态实验目录,从而实现不同实训资源同屏展示。
智能代码评测,助力软件测试与开发实训室实训:平台支持在线对学生提交的实验代码进行评测,将评测结果统计分析后展示给教师,提高教师的教学效率,方便学生的学习过程。
提交代码查重,防止抄袭:对于学生提交并且通过测评的软件测试与开发实训室实训代码进行代码的查重,防止学生互相抄袭代码。
在线问答,及时解答学生疑问:平台提供软件测试与开发实训室实训的在线问题,学生在软件测试与开发实训室实训过程中,通过在线问答及时与老师进行沟通,提高学习效率。
可记录学习情况的实验笔记:平台为用户在软件测试与开发实训室实训页面提供实验笔记功能,用户可在实验过程中记录下自己的笔记。
实验题解,帮助学生掌握实验知识点:平台会在每个软件测试与开发实训室实训题目后面,提供相应的实验题解,教师可改变其是否展示给学生。从而让学生在实验完成之后进行学习,更好的掌握实验的知识点。
支持高并发的评测服务:平台采用kafka消息队列来处理评测的请求,并内置高配置的底层沙箱服务,支持高并发的用户同时使用。
学生测评结果自动统计:平台将课堂内的用户的评测结果进行统计,按照消耗内存、消耗时间两个维度进行展示,从而直观的展示该实验的整体评测数据。
支持公共资源课程,便于老师教学:软件测试与开发实训室可内置完整的实训资源,其中包括实训文档以及在线资源包,用户可以直接进行使用。
个人云盘,资源不丢失:平台会为用户提供云盘服务,云盘内所有文件都会按照不同的文件类型进行分开,便于用户查看和操作。
平台支持Web前端应用程序开发、web企业级开发、数据库设计等实验。
3.2软件测试与开发实训室被测平台
软件测试被测平台即为学校打造了集高效率、低成本等特性于一身,大幅缩短了软件产品测试周期,并且可以提升产品品质,同时还能充分发挥虚拟化的优势,减少物理工作站的数量,和降低客户的IT系统能耗、提高了空间使用效率的软件测试工作空间。安全在任何服务器实现中都是一项核心挑战。承载多台虚拟机(VM)的服务器(也称为合并服务器)不仅要承担与非合并服务器同样的安全风险,还要面对管理员角色分离的挑战。软件测试平台有助于提高合并服务器的安全性和解决管理员角色分离的挑战。通过下列功能来实现此目的:强大的分区能力、硬件级别安全性、WindowsServer虚拟化、网络安全功能和最小的受信任计算基础。服务器虚拟化使具有不同资源要求的工作负载能够在同一主机服务器上共存。软件测试平台通过灵活的内存分配、动态的硬件添加和灵活的网络配置,大幅提高主机服务器的物理资源的使用率:软件测试平台采用基于64位管理程序的轻型、低开销虚拟化体系结构,通过多核心支持,可以为每个VM分配多达8个逻辑处理器,同时支持64位主机和来宾操作系统,此外,通过服务器硬件技术打通从GuestOS到真实硬件资源的通路,避免在VMM层的IOmapping,指令转换和数据迁移的漫长过程,减少80%虚拟化应用导致的性能损失;在可能部署的数据中心和远程分支机构安装中,需要强大的管理功能和自动化功能来完全实现虚拟化降低成本的可能性。软件测试平台通过可扩展管理、用于VM管理的界面以及PowerShell脚本和组策略对象(GPO)管理和自动化功能满足了此需求;同时对于硬件平台监控管理系统可以满足端到端的全程管理。
3.3软件测试与开发实训室教学资源包
3.4软件测试与开发实训室实训资源包
对接真实职业场景或工作情境,在校内外进行企业级应用开发实训。使学生掌握网页设计与制作的技术,能够利用HTML5、CSS3等技术进行网页布局,基于项目化教学的模式培养学生实践动手能力;使学生了解JavaScript的基本语法,具备JavaScript的编程技巧和编程步骤;掌握常用的前端框架技术主要包含JQuery框架等。利用数据库管理系统和数据挖掘系统设计出能够实现对数据库中的数据进行添加、修改、删除、处理、分析、理解、报表和打印等多种功能的数据管理和数据挖掘应用系统;并利用应用管理系统最终实现对数据的处理、分析和理解。编写测试用例,使用自动化测试工具完成测试,并实现测试报告编写。
3.5软件测试与开发实训室配套设施
软件测试与开发实训室配套设置包含实训室硬件设施、软件测试与开发实训室软件和工具等内容,其中硬件设施如智慧黑板、教师讲台、多媒体设备、学生实训电脑、桌椅、服务器、交换机、机柜及软件测试与开发实训室装修和软件测试与开发实训室文化建设。软件测试与开发实训室软件和工具应包含常用的软件测试与开发实训室软件和工具,这些软件测试与开发实训室软件和工具可以帮助学生进行应用程序的编写、测试和调试。
四、软件测试与开发实训室建设图
五、软件测试与开发实训室方案清单
六、软件测试实训系统方案价值
6.1专业教学支撑
6.2教材联合开发教材
联合各院校教授专家,开发大数据及软件教学与实验专业系列教材,为院校专业实验课程开展和教学提供参考。
6.3 产学研支撑平台
平台采用spring cloud微服务开发架构,各服务模块单独运行并提供服务接口;可提供稳定、快速、高效的服务;平台整体采用前后端分离和分布式微服务的弹性计算架构实现,后端主要基于Java的Spring cloud实现,前端vue实现等,具有高内聚、松耦合、业务单一、高性能、高并发、高可能、跨平台、跨语言等特点。
平台提供SSO单点登录,多个应用系统统一登录,统一的用户管理,一个账户可登录验证教学全场景以及数字技术专业群实践教学等所有应用模块系统。
平台采用kubernetes技术进行部署,支持公有云、私有云、混合云模式安装;平台支持多数据源从而保证技术的一致性;确保服务的稳定、可扩展、弹性扩容;每个独立服务支持分布式集群部署,理论上可以无限横向扩展,提高系统处理能力,支持大规模并发教学全场景和数字化专业群教学实践应用。
基础虚拟化服务由docker和kvm两种虚拟化技术根据学科性质进行选择性支撑,可满足不同的虚拟化需求,提供稳定、可自行配置的虚拟机器。
基于全流程DevOps自动化运维,支持持续集成、分析、服务注册与发现、系统监控、性能监控、日志管理、预警、持续部署(基于docker的镜像仓库,Kubernetes的容器云管理调度平台,在线可视化管理、监控、调度容器)。
基础持久化层支持RDS和NoSQL两种方式,采用MySQL集群和MongoDB集群搭建,支持基于CQRS的分布式事务处理,支持数据自动备份,同时使用于Redis集群对热点数据进行缓存,支持大并发;支持纯本地化数据源。
基础服务层支持在线验证码服务、基础文件服务、消息队列服务、OSS对象存储服务、用户/鉴权服务、个人云盘服务、WebSocket服务等,保证平台的通用性。用户基础信息管理:对订单实行按业务方向进行配置,对班级、教师、学生相关信息进行新增、修改、删除以及数据权限进行配置。
6.4 技能大赛支撑
6.5 1+X认证服务
Web前端开发职业技能等级标准
Java应用开发职业技能等级证书
JavaWeb应用开发职业技能等级证书
移动应用开发职业技能等级标准
Web应用软件测试职业技能等级证书
互联网软件测试职业技能等级证书
6.6 技能大赛支撑