CMSC 495 Capstone Virtual Planner Test Plan Enrique E. Ramirez Michael Okonkwo Ethan Miller University of Maryland Global Campus CMSC 495 Capstone in Computer Science Professor Jeff Sanford Table of contents 1. Project overview…………………………………... · Objectives · Key features · Example scenario 2. Roles of the team………………………………….. · Team members and their respective roles 3. Project schedule…………………………………... · Estimated timelines · Stage 1 · Stage 2 · Stage 3 4. Operation and Design……………………………... · Containerization approach · User profiles · Data security measures · Final integration 5. Conclusion………………………………………… Virtual Planner Project Overview: Objective: Team 5 will develop and launch a virtual planner that enables the user to efficiently manage their schedules, appointments, and other tasks. The Virtual Planner will provide a user friendly interface that will allow the user to organize their day/week/month. The project aims to create an online platform that serves as a planner for users to effectively lay out their schedule. Key Features: · Interactive 12 month calendar: Provides the user with an easy to navigate 12 month planner · User Profiles: Secure system that provides data security and personalized experiences · Task Management: Functionality to add, edit, or delete tasks such as appointments or meetings · Priority System: Allows the user to rank their tasks based on priority. The user will be alerted of an upcoming task based on user set priority Example: A student athlete attending highschool has practice 4 times a week, team meetings once a week, homework, and chores around the house. The student athlete also has a part time job on the weekends to help pay for insurance, gas and other recreational activities. The student athlete prioritizes his academic career. The student can input all of his or data into the Virtual Planner and rank each of his tasks based on priority. The Virtual Planner will be designed to alert the student of any upcoming tasks Roles of the team: Front End & Containerization Enrique Ramirez : Tasks · Design and implement the webpage using JavaScript, HTML, and CSS. · Create and implement the docker files for each aspect of the project( Frontend, Database, and Backend) to include a make file. · Develop the Docker-Compose and MakeFile to orchestrate the deployment of the application stack. Task Management Jonathan Wiley Task · Functionality to add, edit, or delete tasks such as appointments or meetings · Priority System · Assist with the front end and database management Michael Okonkwo Task · Work on implementing key features and alerts · Design user profiles and interactive 12 month calendar · Using JavaScript Database management Ethan Miller Task · Create schema, define tables, and normalize data. · Manage data, enforce constraints, and ensure security. · Regularly back up, plan recovery, and optimize performance. · Update software, handle migration, and provide user support. · Ensure compliance, conduct audits, and monitor for efficiency. · Develop recovery plans and establish restoration procedures. · Utilize tools for monitoring and plan for scalability. Project Schedule: Front End estimated time to complete tasks: Stage 1: Design - Complete NLT 1/29/2024 · Design and implement the webpage using JavaScript, HTML, and CSS. · Add Functionality to add and edit or delete tasks such as appointments or meetings Stage 2: Containerization - Complete NLT February 2nd · Create and implement the docker files for each aspect of the project( Frontend, Database, and Backend) to include a make file. Stage 3: Deploy · Develop the Docker-Compose and MakeFile to orchestrate the deployment of the application stack. · By this stage, the front end, backend and database have been completed and the application is ready for Testing/deployment Operation and Design: The containerization approach will facilitate a streamlined development process and make it easier to deploy the application across different environments. Leveraging JavaScript, HTML and CSS for the frontend, the users will have a 12 month interactive interface that allows users to effortlessly edit, input and delete data. The docker files will encapsulate the logic while the docker compose file will orchestrate the deployment, ensuring a cohesive application stack. The containerized application will provide an isolated environment that allows the application to work efficiently in different environments. User profiles are implemented to provide a personalized experience for each user. This includes storing user preferences, task history, and other relevant information securely. Data security measures will be implemented to protect user information and ensure the confidentiality of their schedules. Moreover, the implementation of user profiles adds a layer of personalization to the application. User preferences and task history are securely stored, tailoring the experience for each individual. This personalized touch not only enhances user satisfaction but also contributes to a more intuitive and user-friendly interaction with the 12-month planner. As users navigate and manage their schedules within the application, the seamless integration of containerization ensures a consistent and reliable experience, regardless of the underlying environment. The synergy between personalized user profiles and the containerized architecture elevates the application's functionality, providing users with a dynamic and secure platform for effective schedule management Test Plan for Virtual Test Planner 1. Introduction The Virtual Test Planner is a critical application designed to facilitate event and task organization through an intuitive 12-month planner interface. This test plan aims to ensure the successful implementation and performance of the Virtual Test Planner across various environments and functionalities. 2. Testing Objectives A. Validate Key Features: - Confirm the functionality of key features such as event creation, editing, and deletion. - Ensure the accuracy and effectiveness of alerts and notifications. - Verify the customization options available within user profiles. B. Assess User Interface Interactivity: - Test the interactivity and responsiveness of the 12-month calendar interface. - Evaluate user experience during navigation and interaction with the dashboard. C. Ensure Cross-Platform Compatibility: - Validate the application's functionality across different operating systems (Linux, MacOS, Windows). - Confirm Docker containerization allows for consistent deployment and operation. D. Test Security Measures: - Assess the effectiveness of user authentication and authorization mechanisms. - Validate data security measures, including encryption and access control. 3. Testing Types A. Functional Testing: - Unit Testing: Test individual components and functions for expected behavior. - Integration Testing: Validate the interaction between different modules within the application. - System Testing: Ensure the system functions as expected as a whole. B. Usability Testing: - User Interface (UI) Testing: Assess the usability and intuitiveness of the interface. - User Experience (UX) Testing: Evaluate the overall user experience during task execution. C. Performance Testing: - Load Testing: Simulate concurrent user activity to assess system performance under load. - Stress Testing: Evaluate system behavior and performance under extreme conditions. D. Security Testing: - Authentication and Authorization Testing: Verify secure user authentication and proper access control. - Data Security Testing: Test for vulnerabilities related to data storage and transmission. 4. Test Cases Test Case IDDescriptionExpected ResultPass/Fail TC001Verify event creation functionalityEvents are successfully created TC002Test alert triggering based on predefined criteriaAlerts are triggered correctly TC003Test adding a new userNew user is successfully added TC004Test deleting a userUser is successfully deleted TC005Test editing existing eventsEvents are successfully edited TC006Validate user profile customization optionsProfile settings are customizable TC007Test Docker containerization across environmentsApplication functions correctly on Linux, MacOS, and Windows TC008Verify secure user authentication processUsers can securely log in to their accounts TC009Test deleting eventsEvents are successfully deleted C. Cross-Platform Compatibility: 1. Confirm application functionality on Linux, MacOS, and Windows. 2. Test Docker containerization across different environments. D. Security Measures: 1. Verify secure user authentication process. 2. Test access control for different user roles. 5. Test Environment A. Browser Compatibility: - Chrome, Firefox, Safari, Edge, etc. B. Operating System Compatibility: - Linux, MacOS, Windows, etc. 6. Test Execution A. Manual Testing: 1. Perform manual tests for each feature and alert mechanism. 2. Execute user profile tests manually. 3. Interact with the 12-month calendar interface manually. B. Automated Testing: 1. Implement automated test scripts for key features. 2. Create automated test cases for alert mechanisms and user profile functionality. 7. Performance Testing A. Load Testing: - Simulate concurrent user activity to assess system performance. B. Stress Testing: - Evaluate system behavior under extreme load conditions. 8. Security Testing A. Authentication and Authorization: - Verify secure user authentication and proper access control. B. Data Security: - Test encryption of sensitive data and identify vulnerabilities related to data storage. 9. Reporting and Documentation A. Document Test Cases and Results: - Document all test cases, results, and issues encountered during testing. B. Provide Regular Updates: - Provide status updates to the development team throughout the testing process. C. Collaborate on Issue Resolution: - Work closely with the development team to track and resolve any identified issues or bugs. 1. Introduction 1.1 Purpose The Virtual Planner is a user-friendly application designed to help organize events and tasks on an interactive 12-month calendar. This guide aims to provide users with comprehensive instructions on using the Virtual Planner efficiently. 1.2 Key Features - Graphical 12-month planner - User profiles with customizable preferences - Event alerts and notifications - Cross-platform support using Docker containerization 2. Getting Started 2.1 Installation To install the Virtual Planner, follow the provided installation instructions for your operating system (Linux, MacOS, or Windows). 2.2 User Registration Upon installation, register for a user account to personalize your Virtual Planner experience. 3. Application Overview 3.1 Dashboard After logging in, you'll be directed to the dashboard displaying an overview of your upcoming events and tasks. 3.2 12-Month Calendar Navigate to the 12-month calendar to view and manage events for each month. Easily switch between months to plan ahead. 3.3 User Profile Access your user profile to customize settings, preferences, and personal information. 4. Using the Calendar 4.1 Navigating the Calendar Use the arrow buttons or select a specific month to navigate through the calendar. 4.2 Adding Events Click on a day to add events, providing details such as title, time, and description. Save to confirm. 4.3 Editing Events Edit existing events by clicking on them in the calendar. Update details and save changes. 4.4 Deleting Events Remove events by selecting them on the calendar and confirming deletion. 5. User Profile Management 5.1 Editing Profile Information Navigate to your user profile to edit personal information such as name, email, and password. 5.2 Setting Preferences Customize preferences like default view, time format, and notification settings. 6. Alerts and Notifications 6.1 Setting Up Alerts Configure alerts for upcoming events in your preferences. Choose notification methods (email, pop-up, etc.). 6.2 Receiving Notifications Receive timely notifications based on your configured alert settings. 7. Docker Containerization 7.1 Installing Docker Follow the steps to install Docker on your respective operating system. 7.2 Building and Running the Docker Container Use the provided makefile to build and run the Virtual Planner Docker container. 8. Troubleshooting 8.1 Common Issues Troubleshoot common issues encountered while using the Virtual Planner. 8.2 Support and Contact Information Contact support for assistance with any issues or inquiries. 9. Conclusion This comprehensive user guide aims to facilitate a seamless experience with the Virtual Planner application. By following these instructions, users can effectively manage their events and tasks while utilizing the full potential of the application's features. Virtual Planner Project Design Document 1. Project Overview 1.1 Project Name Virtual Planner 1.2 Project Description The Virtual Planner is a user-friendly application designed to help users organize events and tasks on an interactive 12-month calendar. This project design document outlines the architectural and functional aspects of the application. 2. Project Goals and Objectives 2.1 Goals Deliver a visually appealing and intuitive 12-month planner. Facilitate efficient organization and management of events and tasks. Implement a user profile system with customizable preferences. Incorporate event alerts and notifications. Ensure cross-platform support using Docker containerization. 2.2 Objectives Develop a responsive and interactive user interface for the 12-month planner. Implement a secure user authentication and authorization system. Integrate a user profile management module with options for customization. Design and implement an alert system to notify users of upcoming events. Containerize the application using Docker for easy deployment. 3. System Architecture 3.1 Frontend Utilize modern web technologies such as HTML5, CSS3, and JavaScript. Choose a frontend framework/library for building the user interface (e.g., React, Vue, Angular). The frontend will be a user friendly display that allows the user to view the year in a calendar format. The user is able to create, edit, and delete tasks such as appointments. The user is able to set up a priority system that ranks their tasks based on preference. 3.2 Backend Use a server-side programming language (e.g., Node.js, Python, Ruby) for backend development. Employ a database system (e.g., MongoDB, MySQL) to store user data, events, and preferences. Develop RESTful APIs for communication between the frontend and backend. 3.3 Docker Containerization Containerize the application components using Docker for easy deployment and scalability. The application will be able to be deployed across multiple environments to provide seamless deployment of the application thanks to its
Feb 14, 2024

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here