Software testing and development training room construction plan

1. System Overview

The software testing and development training room is an important testing activity in the software development process, aiming to verify whether the integration and interaction between different software modules or components are normal. Comprehensive testing ensures that various modules work together correctly according to design requirements to achieve the functionality and performance of the entire software system. The following are the general processes and steps of the software testing and development training room: 1. Test plan formulation: Determine the goals, scope, time and resources of comprehensive testing, and formulate corresponding testing strategies and testing methods. 2. Integration test environment construction: Prepare the test environment for integration testing, including hardware, software, network and other necessary facilities and tools. 3. Module integration testing: First conduct integration testing on adjacent modules to ensure that the interfaces and data transmission between adjacent modules are normal. This stage usually uses drivers or stubs to simulate unavailable modules. 4. Bottom-up integration testing: gradually add new modules from bottom to top to test the integrated system. This process usually requires the use of an adapter or simulator to simulate the unfinished module. 5. Top-down integration testing: start from the top module and gradually add lower-level modules to test the entire system. This process usually requires the use of drivers to simulate the underlying modules that have not yet been completed. 6. Cross-testing: On the basis of module integration, cross-module testing is conducted to verify the performance of the system under various cross-functional functions and scenarios. 7. Data integrity and correctness testing: Test data transmission and processing to ensure that data will not be lost, damaged or tampered with during the integration process. 8. Interface testing: Focus on testing the interfaces between various modules to verify the correctness of data transmission and interaction. 9. Performance testing: Test the performance indicators of the system, such as response time, throughput, concurrency, etc., to ensure that the system can work normally under the expected load. 10. Error handling and recovery testing: Test the system's ability to handle and recover from error conditions and exceptions. 11. Documentation and defect repair: Record test results, including defects and problems found. The development team performs defect fixes and performs iterative testing until the problem is resolved. 12. Test report and summary: Write a comprehensive test report to summarize the results, problems and lessons learned from the test activities to provide reference for subsequent testing and maintenance.

Software testing and development training room is an iterative process that requires continuous testing and repair. Comprehensive testing can ensure smooth integration between different modules, reduce system failures and performance issues, and improve overall software quality.

2. Introduction to the Software Testing and Development Training Room

The software testing and development training room is a place dedicated to software testing and development training room practice and training. In this training room, students can master the techniques and methods of software testing and development training room through theoretical study and practical operation.

Software testing and development training rooms are usually equipped with the following facilities and resources:

1. Computer equipment: Provide high-performance computers and workstations for running and testing software systems.

2. Testing tools and software: Provide commonly used software testing and development training room tools, such as Junit, Selenium, SOAPUI, Postman, etc., for automated testing and integration testing.

3. Test environment: Build a suitable software testing environment, including operating system, database, network environment, etc., to simulate real system integration and interaction.

4. Virtualization and container technology: Utilize virtual machine or container technology to provide rapid switching and reproduction of multiple operating systems and environments, making it easier for students to test in different scenarios.

5. Interface simulation tools: Provide interface simulation tools, such as WireMock, MockServer, etc., for simulating external system interfaces that have not yet been completed or are unavailable.

6. Data generation tools: Provide data generation tools to generate various test data, including data under normal and abnormal conditions, to test the system's processing and response to data.

7. Defect tracking and management tools: Provide defect tracking and management tools, such as Jira, Bugzilla, etc., to record and manage defects and problems discovered during the testing process.

8. Documentation and teaching resources: Provide resources such as teaching materials, reference books, documents, and experimental guidance in the software testing and development training room to help students understand and master the theory and practice of comprehensive testing.

9. Tutoring and support: Professional tutors or engineers are equipped to provide real-time tutoring and support to answer questions and doubts students encounter during the test process.

The software testing and development training room provides a learning and practice place that simulates a real integration and testing environment. Students can practice integration testing, interface testing, performance testing, etc. of software systems here to improve their skills in the software testing and development training room. practical ability and employment competitiveness in the field. At the same time, the training room can also be used for corporate training and practical training of internal technology research and development teams. The software testing and development training room cultivates firm ideals and beliefs, comprehensive development of morality, intelligence, body, beauty and labor, a certain scientific and cultural level, good humanistic qualities, professional ethics and innovation awareness, a craftsman spirit of excellence, and a strong Employability and sustainable development capabilities, mastering the professional knowledge and technical skills, for computer software engineering technicians, computer programmers, computer software testers, artificial intelligence engineering technicians, big data engineering in the software and information technology service industry Occupational groups such as technicians are high-quality technical and skilled talents who can engage in software development, software testing, software coding, software technical support, Web front-end development, artificial intelligence system development, big data processing, etc.

3. Composition of software testing and development training room

3.1 Software testing and development training room teaching platform

The platform is based on the spring cloud microservice architecture, provides convenient SSO single sign-on, and uses kubernetes for deployment. It can support public cloud, hybrid cloud, and private cloud installation modes. The data layer uses MySQL cluster and MongoDB cluster to realize full-process EdvOps automation. Operation and maintenance has the characteristics of high cohesion, loose coupling, single business, high performance, high concurrency, high possibility, cross-platform, and cross-language. The main modules include course creation tools, cloud disks, shared courses, my courses, cloud preferred courses, cloud video library, and 3D model library.

Course production tools: The platform provides dedicated microservice modules for support, using websocket two-way communication technology, and the underlying storage adopts a three-layer progressive caching method in order to speed up the loading of course resources. Independently develop video transcoding and online video editing functions. It supports direct import from word documents and automatically generates a table of contents based on the title type, which is convenient and fast. At the same time, it supports the insertion of ppt, excel, pictures, hyperlinks, videos, audios, 3D models, chapter tests and other content to realize the same-screen display of multiple hypertext files.

Shared courses: Use the concept of order distribution or campus sharing to share course resources to a greater extent.

My Class: Supports "generating a copy" directly from shared class resources and importing them into My Class, and also supports self-creation. All course resources support the export function and can be exported to local offline files. The exported files are encrypted files with the suffix wz. The course resources can be directly generated by secondary import using the platform to facilitate online dissemination.

Cloud Selected Courses: Learning resources collected and organized on the Internet by senior industry practitioners, including a series of learning videos and knowledge point learning videos for teachers and students to learn independently.

Cloud video library: The platform provides hundreds of micro-lecture videos covering various majors, which can be directly referenced into course resources.

3D model library: using three. js technology enables online loading of 3D models, providing a more intuitive and vivid teaching experience.

Question bank: The question bank supports general questions (single-choice questions, multiple-choice questions, true-false questions, fill-in-the-blank questions, subjective questions) and practical training questions (programming questions, web front-end questions, virtualization questions, etc.); for general questions, excel templates can be used Batch import, using waterfall flow display method, can be shared to the school for other teachers to use.

Assignments: Supports two modes of creating assignments: manually building questions and selecting questions from the question bank. It provides an assignment library module. Assignments in the assignment library can be distributed to students multiple times. The assignment platform provides automatic assessment, including single-choice questions and multiple-choice questions. , true or false questions, fill-in-the-blank questions, programming questions, virtualization questions.

Exam: Supports three creation methods: imported test papers, manual creation, and question bank selection. It also supports the system's random test paper function. It provides a test paper library module. Test papers in the test paper library can be distributed to students multiple times, and supports automatic scoring of test papers.

Classroom activities: The platform supports a variety of classroom activities, such as check-ins, topic discussions, questions, group tasks, voting, questionnaires, timers, etc., to make the class more interesting and participatory.

Personal cloud disk: The platform saves the files used by users in lesson preparation, teaching, etc. in the personal cloud disk space. It supports secondary direct use and archiving to realize the storage of cloud files.

3.2 Software testing and development training room

The platform adopts a B/S structure and uses spring cloud microservice technology to build multiple stable and efficient service modules, provide SSO single sign-on service, and use unified identity authentication. The platform implements multiple deployment methods of public cloud, hybrid cloud, and private cloud based on k8s, provides an operating environment for online software testing and development training rooms, and has built-in code running result detection, automatic evaluation statistics, and true cloud development. Out of the box Ready to use, the main modules include course creation tools, assignments, activities, cloud disks, shared courses, my courses, and cloud preferred courses.

Convenient experiment production tools: Allow teachers to easily mix and arrange texts, pictures, audios, videos, hyperlinks, etc. in different formats such as pdf, ppt, word, and excel, and automatically generate dynamic experiment catalogs, thereby realizing the simultaneous use of different training resources. screen display.

Intelligent code evaluation, assisting in software testing and development training room training: The platform supports online evaluation of experimental codes submitted by students, and displays the evaluation results to teachers after statistical analysis, improving teachers' teaching efficiency and facilitating students' learning process.

Submit code for duplication checking to prevent plagiarism: Code duplication checking is performed on the software testing and development training room training codes submitted by students and passed the evaluation to prevent students from plagiarizing each other's codes.

Online Q&A to answer students’ questions in a timely manner: The platform provides online questions about the software testing and development training room training. During the training process in the software testing and development training room, students can communicate with teachers in a timely manner through online Q&A to improve learning efficiency.

Experiment notes that can record learning situations: The platform provides users with an experiment note function on the training page of the software testing and development training room. Users can record their own notes during the experiment.

Solutions to experimental questions to help students master experimental knowledge points: The platform will provide corresponding solutions to experimental questions behind each training question in the software testing and development training room, and teachers can change whether to display them to students. This allows students to study after the experiment is completed and better master the knowledge points of the experiment.

Supports high-concurrency evaluation services: The platform uses Kafka message queue to process evaluation requests, and has built-in high-configuration underlying sandbox services to support simultaneous use by high-concurrency users.

Automatic statistics of student evaluation results: The platform counts the evaluation results of users in the classroom and displays them in two dimensions: memory consumption and time consumption, thereby intuitively displaying the overall evaluation data of the experiment.

Supports public resource courses to facilitate teacher teaching: the software testing and development training room can have built-in complete training resources, including training documents and online resource packages, which users can use directly.

Personal cloud disk, resources will not be lost: The platform will provide users with cloud disk services. All files in the cloud disk will be separated according to different file types, making it easier for users to view and operate.

The platform supports experiments such as web front-end application development, web enterprise-level development, and database design.

3.2 Tested platform in software testing and development training room

The software testing platform under test is built for the school and combines high efficiency, low cost and other features, which greatly shortens the software product testing cycle and can improve product quality. It can also give full play to the advantages of virtualization and reduce the number of physical workstations. , and a software testing workspace that reduces the energy consumption of customers' IT systems and improves space usage efficiency. Security is a core challenge in any server implementation. Servers hosting multiple virtual machines (VMs), also known as consolidated servers, not only bear the same security risks as non-consolidated servers, but also face the challenge of administrator role separation. Software testing platforms help improve the security of consolidated servers and address administrator role separation challenges. This is achieved through the following features: powerful partitioning capabilities, hardware-level security, Windows Server virtualization, network security features and a minimal trusted computing foundation. Server virtualization enables workloads with different resource requirements to coexist on the same host server. The software testing platform greatly improves the utilization of physical resources of the host server through flexible memory allocation, dynamic hardware addition and flexible network configuration: the software testing platform adopts a lightweight, low-overhead virtualization architecture based on a 64-bit hypervisor. Multi-core support can allocate up to 8 logical processors to each VM, supporting both 64-bit host and guest operating systems. In addition, server hardware technology is used to open the path from GuestOS to real hardware resources to avoid IOmapping at the VMM layer. , the long process of instruction conversion and data migration, reducing 80% of the performance loss caused by virtualization applications; in possible deployments of data centers and remote branch installations, powerful management functions and automation functions are needed to fully realize virtualization and reduce costs. possibility. The software testing platform meets this need through scalable management, interfaces for VM management, and PowerShell scripts and Group Policy Object (GPO) management and automation functions; at the same time, the hardware platform monitoring and management system can meet end-to-end full management.

3.3 Software testing and development training room teaching resource package

3.4 Software testing and development training room training resource package

Connect with real professional scenarios or work situations and conduct enterprise-level application development training inside and outside the school. Enable students to master the technology of web design and production, be able to use HTML5, CSS3 and other technologies for web page layout, and cultivate students' practical ability based on the project-based teaching model; enable students to understand the basic syntax of JavaScript and have JavaScript programming skills and programming steps; Master common front-end framework technologies, including JQuery framework, etc. Utilize database management systems and data mining systems to design data management and data mining application systems that can implement multiple functions such as adding, modifying, deleting, processing, analyzing, understanding, reporting and printing of data in the database; and use application management The system ultimately processes, analyzes and understands data. Write test cases, use automated testing tools to complete testing, and write test reports.

3.5 Software testing and development training room supporting facilities

The supporting settings of the software testing and development training room include training room hardware facilities, software testing and development training room software and tools, etc. The hardware facilities include smart blackboards, teacher podiums, multimedia equipment, student training computers, tables and chairs, Servers, switches, cabinets and software testing and development training room decoration and software testing and development training room culture construction. Software testing and development training room software and tools should include commonly used software testing and development training room software and tools. These software testing and development training room software and tools can help students write, test and debug applications.

4. Construction diagram of software testing and development training room

5. Software testing and development training room plan list

6. The value of the software testing training system program

6.1 Professional teaching support

6.2 Joint development of teaching materials

Cooperate with professors and experts from various colleges and universities to develop a series of teaching materials for big data and software teaching and experiment majors to provide reference for the development and teaching of professional experimental courses in colleges and universities.

6.3 Industry-university-research support platform

The platform adopts the spring cloud microservice development architecture. Each service module runs independently and provides service interfaces; it can provide stable, fast, and efficient services; the platform as a whole adopts an elastic computing architecture with front-end and back-end separation and distributed microservices. The back-end is mainly based on Java. Spring cloud implementation, front-end vue implementation, etc., have the characteristics of high cohesion, loose coupling, single business, high performance, high concurrency, high possibility, cross-platform, cross-language, etc.

The platform provides SSO single sign-on, unified login for multiple application systems, unified user management, one account can log in to verify all teaching scenarios, and all application module systems such as practical teaching for digital technology professional groups.

The platform is deployed using Kubernetes technology and supports public cloud, private cloud, and hybrid cloud mode installations; the platform supports multiple data sources to ensure technical consistency; ensures the stability, scalability, and elastic expansion of services; each independent service supports distributed clusters Deployment can theoretically be infinitely expanded horizontally, improve system processing capabilities, and support large-scale concurrent teaching in all scenarios and digital professional group teaching practical applications.

Basic virtualization services are selectively supported by two virtualization technologies, docker and kvm, based on the nature of the subject. They can meet different virtualization needs and provide stable and self-configurable virtual machines.

Based on full-process DevOps automated operation and maintenance, it supports continuous integration, analysis, service registration and discovery, system monitoring, performance monitoring, log management, early warning, and continuous deployment (Docker-based image warehouse, Kubernetes container cloud management and scheduling platform, online visual management , monitoring, and scheduling containers).

The basic persistence layer supports both RDS and NoSQL methods, is built using MySQL cluster and MongoDB cluster, supports distributed transaction processing based on CQRS, supports automatic data backup, and is also used in the Redis cluster to cache hot data and support large concurrency; support Purely localized data source.

The basic service layer supports online verification code service, basic file service, message queue service, OSS object storage service, user/authentication service, personal cloud disk service, WebSocket service, etc. to ensure the versatility of the platform. Basic user information management: Configure orders according to business directions, add, modify, delete and configure data permissions for class, teacher, and student related information.

6.4 Skills competition support

6.5 1+X authentication service

Web front-end development professional skill level standards

Java Application Development Professional Skills Certificate

JavaWeb Application Development Vocational Skills Certificate

Mobile application development professional skill level standards

Web Application Software Testing Vocational Skills Certificate

Internet Software Testing Vocational Skills Level Certificate

6.6 Skills competition support

Guess you like

Origin blog.csdn.net/whwzzc/article/details/132801994