0% found this document useful (0 votes)
1K views23 pages

INTERNSHIP REPORT

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views23 pages

INTERNSHIP REPORT

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

Report on

Internship (KCS-752)
Software testing

Submitted In Partial Fulfillment of the Requirement

for the Degree of

Bachelor of Technology
In

Computer Science and Engineering (Internet of things)

By
Akhilesh Yadav (2102901550004)

(Duration: 05 may 2024 to 09 oct 2024)

Under the Supervision of


Mr. Rajesh Yadav

ABES INSTITUTE OF TECHNOLOGY


GHAZIABAD

AFFILIATED TO
Dr A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY,
UTTAR PRADESH, LUCKNOW

(NOVEMBER-2024)
1
INDEX

1. Acknowledgement 3
2. Certificate of Training 4
3. Company Profile 5
4. Introduction 8
5. About My Internship 11
6. Technology Used 13
7. Module Training/Application 14
8. Conclusion 17
9. Future Scope 18
10. Reference 19

2
ACKNOWLEDGEMENT

It gives us a great sense of pleasure to present the report of the “Internship on SOFTWARE TESTING”
undertaken during B. Tech, 3rd Year. We owe a special debt of gratitude to Mr. Rajesh Yadav and
DUCAT for his constant support and guidance throughout the course of our work. His constant
motivation has been a constant source of inspiration for us. It is only his cognizant efforts that our
endeavors have seen light of the day.

We also take the opportunity to acknowledge the contribution of team members of DUCAT and for
their full support and assistance during the development of the project. DUCAT to provide us the
opportunity to undergo training at - Training.

3
Certificate Of Training

4
Company Profile: DUCAT

Ducat is a well-known IT training institute in India, offering professional courses to students and working
professionals. Their center in Noida Sector 63 is one of their prominent locations, focusing on providing
industry-relevant training programs. Here's a brief overview of the company profile:
Company Profile: Ducat
1. Establishment,Mission
Ducat was established with the aim of bridging the gap between academic knowledge and industry
requirements. They focus on skill development to enhance employability and technical expertise.
2. Training,Programs,Offered.
Ducat provides a wide range of courses across various domains, such as:
o Software Development: Java, Python, .NET, C/C++.
o Web Development: Full-stack development, Angular, React, Node.js.
o Cloud Computing: AWS, Microsoft Azure.
o Data Science and Analytics: Machine Learning, Artificial Intelligence, Big Data, Hadoop.
o DevOps and Cybersecurity.
o Mobile App Development: Android, iOS.
o ERP Solutions: SAP, Salesforce.
o Other IT-related areas: Networking, ethical hacking, and database management.
3. Teaching Approach:
o Hands-on training with live projects.
o Industry experts as instructors.
o Job-oriented programs with a focus on practical learning.
4. Certifications and Placement Assistance:
o Offers globally recognized certifications.
o Has collaborations with companies for job placement assistance.
o Regular workshops and seminars to prepare students for interviews.
5. Clientele,Partnerships:
Ducat has partnerships with IT companies for corporate training and student placements. They are also
a trusted name for internship and project training in the IT sector.
6. Infrastructure:
o Well-equipped labs and classrooms.
o Flexible timings for working professionals.
o Availability of online and offline training modes.
If you're considering joining or working with Ducat in Sector 63, Noida, their emphasis on practical training 1.

5
Employment Assistance and Development
Ducat has built a reputation for bridging the skill gap and ensuring its students are ready for the industry.
• Placement Assistance:
o Strong collaborations with top IT companies and MNCs.
o Dedicated placement cell conducting mock interviews, aptitude tests, and resume-building
workshops.
o Students get access to job fairs and exclusive placement drives.
• Internship Opportunities:
o Provides internships with live projects to ensure real-world experience.
o Offers both in-house projects and collaborations with companies for hands-on learning.
• Soft Skills and Professional Development:
o Communication skills, time management, and leadership training to enhance employability.
o Special sessions on adapting to corporate culture.

2. Alumni Success and Career Outcomes


Ducat has a strong alumni network that showcases the success of its training programs:
• Alumni Achievements:
o Many alumni have secured positions in leading companies like TCS, Infosys, Wipro, IBM,
Google, and startups.
o A significant portion of alumni have gone on to establish their own ventures in the tech domain.
• Career Outcomes:
o High success rate in transitioning students from academic learning to professional careers.
o Alumni testimonials often highlight Ducat's role in their career growth.

3. Social Impact Initiatives


Ducat actively contributes to the community through various social impact programs:
• Scholarship Programs:
o Offers financial assistance to underprivileged but deserving students.
o Organizes skill-based competitions with free training incentives for winners.
• Community Training Workshops:
o Provides free or low-cost training programs in underserved communities.
o Focus on empowering youth and women with tech skills.
• CSR Initiatives:
o Collaboration with NGOs and social organizations to promote education and digital literacy.

6
4. Recognitions and Awards
Ducat's commitment to excellence has earned it multiple accolades:
• Awards for "Best IT Training Institute" at various state and national forums.
• Recognized by industry leaders for innovative teaching methodologies.
• Partnerships and certifications from global tech giants like Microsoft, AWS, and Cisco.

5. Vision for the Future


Ducat envisions itself as a catalyst for a skilled and tech-savvy future workforce:
• Innovative Learning:
o Expanding offerings in cutting-edge domains like AI, IoT, Blockchain, and Quantum
Computing.
o Leveraging augmented reality (AR) and virtual reality (VR) for immersive learning experiences.
• Inclusivity and Diversity:
o Aiming to train more women and marginalized groups in IT skills.
o Introducing programs tailored for differently-abled individuals.
• Global Outreach:
o Plans to establish international collaborations and training programs.
o Promote certifications that are globally recognized.
• Sustainability and Technology:
o Focus on green IT solutions and promoting sustainable tech practices through education.

Summary:
Ducat Noida Sector 63 is a leader in IT education with a proven track record in employment assistance, alumni
success, and social responsibility. Its forward-thinking vision positions it as a key player in shaping the future
workforce.

7
Introduction

Objective of the Project


1.1 Background

The Bachelor of Technology (B.Tech) degree is an undergraduate academic program requiring four years of
study to acquire. It is a blend of engineering, technology, and practical knowledge, aiming to equip students
with the necessary skills to address real-world challenges through innovative solutions. The primary goal of
the B.Tech program is to prepare students to become skilled professionals in their chosen field of
specialization. It emphasizes the development of technical expertise, problem-solving abilities, and project
management skills, providing a strong foundation for both professional and academic pursuits.

As part of the requirements for the B.Tech program, students must complete an internship of a minimum
duration of eight weeks. This internship aims to bridge the gap between theoretical knowledge and practical
application by immersing students in a professional environment. The hands-on experience gained during this
period helps students to apply their academic learning, enhance their technical and professional skills, and
gain insights into their career paths. This report encapsulates the practical knowledge acquired during my
internship and fulfills the partial requirement for the completion of the B.Tech degree program.

To fulfill this requirement, I undertook my internship at Ducat, Noida, where I worked as a Quality Assurance
Intern for a duration of three months. The internship provided a platform to demonstrate programming,
analytical, and technical skills in various assigned tasks. It offered valuable exposure to the working
environment of the IT industry and helped me gain real-world experience relevant to my career aspirations.

The internship is a vital component of the B.Tech curriculum, aimed at blending theoretical concepts with
practical insights. It enables students to explore and understand their field of study in a professional context,
thus preparing them for future challenges and opportunities in the industry. My internship at Ducat, Noida,
was an enriching experience, providing me with the opportunity to enhance my technical knowledge and
quality assurance skills while contributing meaningfully to the organization.

QA ENGINEER

1.2 Objectives of the Study:


Internship represents a crossover point between university and career. During internship period, students need
to analyze the existing system, evaluates loopholes critically, and help to overcome them. The major
objectives of this internship program is highlighted as follows:

8
 To strength professional skills and impersonal relationships in professional settings.
 To fulfill the Internship as PU requirement
 To learn the impact and importance of work.
 To develop meaningful career and experience.
 To explore career interest and develop skills.

1.2.1 Specific Objectives


• To learn various testing frameworks and tools.
• To understand the functions and responsibilities of a QA professional.
• To be familiar with different types of testing, such as manual and automated testing.
• To work smoothly with test case design, bug tracking, and reporting tools.

1.3 Methodology 1.3.1 Organization Selection Appropriate selection of an organization for the internship is
always a crucial task. Internee is interested in Quality Assurance. As an intern, internee wanted to be in an
organization where internee’s interest would be fully appreciated. So, Ducat Pvt. Ltd. was selected as internship
destination. While selecting this company for internship, first internee started to search the vacancy on various
job portals as well as the company’s websites. Then started to drop CV off selected list of suitable organizations.
Through the short interview, internee was selected as a Quality Assurance intern for interested organization.
Ducat pvt. Ltd was a good choice as it provided a very good and cooperative environment to learn.

1.3.3 Internship duration and planning


Start date 10th May, 2024
End date 10th Sep, 2024
Total duration 3 Months
Project Manager Er. Saroj Rai

QA Supervisor Mr. Aman Parajuli Position Intern

Office hour 10:30 am – 6:30 pm

1.4 Tools Used: Tools were being used during internship. Different tools help to perform as per the
requirement of the clients. Tools which were being used are listed as:
1 JIRA: JIRA is a project management tool. A bug tracking and agile project management is allowed
in JIRA.
2 MS EXCEL: MS Excel is a spreadsheet software. It is used for data analysis, calculation, and
visualization through various functions and tools.
3 3 GOOGLE SHEET: Google Sheets is a cloud-based spreadsheet tool. It enables real-time collaboration,
data analysis, and sharing capabilities with various built-in functions.

9
1.5 Brief Introduction of QA : Quality Assurance is popularly known as QA Testing, is
defined as an activity to ensure that an organization is providing the best possible product or
service to customers. QA focuses on improving the processes to deliver Quality Products to the
customer. An organization has to ensure, that processes are efficient and effective as per the
quality standards defined for software products. Quality assurance has a defined cycle called
PDCA cycle or Deming cycle. The phases of this cycle are:  Plan  Do  Check  Act.
These above steps are repeated to ensure that processes followed in the organization are
evaluated and improved on a periodic basis. Let's look into the above steps in detail:
 Plan - Organization should plan and establish the process related objectives and determine
the processes that are required to deliver a high-Quality end product.
 Do - Development and testing of Processes and also "do" changes in the processes.
 Check - Monitoring of processes, modify the processes, and check whether it meets the
predetermined objectives.
 Act - Implement actions that are necessary to achieve improvements in the processes.

1.6 Roles and Responsibilities : As an intern, the internee’s responsibilities at Broadway


Infosys was to cover the test as per the requirement and as assigned. For this it required
knowledge and skills about various SDLC and understanding of test principles, testing types
like black box testing & white box testing, error reporting, bug finding, use of automation
tools and use of SQL etc. and general knowledge of programming languages like PHP, C, C++,
JAVA, CSS etc. The main responsibility was to ensure that the web application developed or
any application/software developed must be bug free, meet the quality standards and most
importantly meet the expectations of client. While pursuing internship as QA, it also requires
continuous interactions with project managers and developers too. Dur ing my internship period
internee mostly worked on a web application.

10
About My Internship

2.1 Introduction Internee’s first day at internship mostly passed by getting basic concept and required
knowledge about QA. The internee made quite detailed notes each day about what he learned as well as of the
tasks he had to do each day throughout the internship. Since these tasks are mostly project related, he can’t
disclose these though so daily reporting isn’t possible. The internee’s 1st day at internship was at 5th march
2019, which was Tuesday. He got in at 10:00 am as was instructed to me by mail. He was given a quick tour
of the company and shown the place where from where he had to work. There were few other internees there
as well so shook hands with every internee there and waited for supervisor to come. After couple of minutes
the supervisor came and we had a 5 minutes introductory session. Then he began to explain basic concepts
with the starting question, what is QA? Then he started giving theoretical knowledge about QA till 1PM.
From1PM to1:30 PM lunch break was provided. After lunch break again it continued till 5PM. This process
continued for about 7 days where many topics like SDLC and brief concept of SQ was also given. The
internee was given detailed theoretical information at a rapid pace during these 7 days.
2.2 Testing Methods
2.2.1 Static Testing It is also known as Verification in Software Testing. Verification is a static method of
checking documents and files.
Verification is the process, to ensure that whether we are building the product right i.e., to verify the
requirements which we have and to verify whether we are developing the product accordingly or not.
2.2.2 Dynamic Testing -It is also known as Validation in Software Testing.
Validation is a dynamic process of testing the real product. Validation is the process, whether we are building
the right product i.e., to validate the product which we have developed is right or not.
2.3 Testing Types
2.3.1 Back-Box Testing Black box testing, also known as behavioral testing, is a software testing method in
which the internal structure/design/implementation of the item being tested is not known to the tester. These
tests can be functional or non-functional, though usually functional. This method is named so because the
software program, in the eyes of the tester, is like a black box; inside which one cannot see. This method
attempts to find errors in the following categories:  Incorrect or missing functions.  Interface errors. 
Errors in data structures or external database access.  Behavior or performance errors.  Initialization and
termination errors.
2.3.2 White-Box Testing White box testing (also known as Clear Box Testing, Open Box Testing, Glass Box
Testing, Transparent Box Testing, Code-Based Testing or Structural Testing) is a software testing method in
which the internal structure/design/implementation of the item being tested is known to the tester. The tester
chooses inputs to exercise paths through the code and determines the appropriate outputs. Programming
know-how and the implementation knowledge is essential. White box testing is testing beyond the user
interface and into the nitty-gritty of a system. This method is named so because the software program, in the
eyes of the tester, is like a white/transparent box; inside which one clearly sees.

11
2.4 Manual Testing: Manual testing is the process of testing the software manually to find the defects.
Tester should have the perspective of end users and to ensure all the features are working as mentioned in the
requirement document. In this process, testers execute the test cases and generate the reports manually
without using any automation tools. Here in Broadway test cases were written using MS-excel for manual
testing. The practice of writing test cases in Excel gave me chance to make a logical table for calculations as
well as for testing various outcomes were calculated according to input and were displaying correct output or
not. In general I covered with this following topics to write manual test cases.
 Test case ID Test title  Test summary  Pre conditions  Test Priority  Test steps Test data 
Expected Result  Actual result
Status 2.5
Automation testing : is the process of testing the software using an automation tool to find the defects. In
this process, testers execute the test scripts and generate the test results automatically by using automation
tools. Some of the famous automation testing tools for functional testing are QTP/UFT and Selenium.
Automated software testing's main benefit is that it simplifies as much manual effort as possible. If unit
testing consumes a large percentage of a QA team's resources, for example, then this process should be
evaluated as a candidate for automation. Automated testing tools execute tests, report outcomes and compare
results with earlier test runs. Automated tests can run repeatedly at any time of day. This approach fits in with
continuous testing, software development practices.
2.5.1 Benefits of automated testing  Run test Quickly and Effectively  Cost Effective  Technically
Beneficial  Reports Clarity During my internship period I got opportunity to learn about some automated
testing tools which I have described as following:

2.5.2 Jira Jira is a highly popular tool used by QA teams for tracking bugs, new feature requests, and tasks.
Its customizable nature allows for a broad set of use cases when it comes to managing software development
projects. Jira is great for managing high volume backlogs and for bringing teams together to focus on the
work that matters. The most common way software testing teams use Jira is to log bugs and new features. Jira
can also be used as a test case management tool, but because Jira has not been specifically designed for this
role, a number of time-intensive configurations need to be made to make it operable. For this reason, an
increasing number of users are choosing to integrate Jira with a reliable, purpose-built test case management
tool, such as TestLodge. The integration gives them access to the twin resources, letting them get on with the
actual job of testing far quicker than by using Jira alone. Some specific features of Jira that are useful for Test
Case Management:  Link to bugs and requirements  Custom issue types such as test case and user story 
Multiple affects/fix for versions  Automatic and manual issue assignment.  Subtasks for manual testing 
Integrates with source code repository  Reporting  Issue comments and attachments  Customizable After
running test cases written on excel, bugs used to be detected. These bugs were recorded by creating token at
Jira and were used to be assigned to the developers to solve using Jira. While emailing bugs to the developers

12
or walking up to a developer can be useful, but with such a large team it can hamper workflow and slow the
pace of work. To reduce this, bugs status is recorded in Jira, a project management software which can be
accessed in a browser. Jira allows a developer to create a new entry for each bug and provide detailed
information to reproduce the bug. In addition, bugs can be given relations to other bugs and priorities for
fixing. Bugs are either open, resolved (fixed but require validation), fixed in next release or closed. They are
reported in different categories, which can be filtered. In Jira the filter categories were as following:  Bugs
 Resolved (bugs supposedly fixed, require validation before closing)  Fixed in next release (not fixed in
current version but in next version of editor) While using Jira for reporting bugs, first knowing bug life cycle
is must. Bug life cycle is the process of creating ticket, assigning to the developer, fixing the bug and closing
the ticket.
2.5.3 Mantis ANTIS is an open source bug tracking software. It can be used to track bug for various software
projects. We can easily download and install the Mantis for our use. Mantis bug tracker now also provides a
hosted version of the software. Some salient features of Mantis bug tracker are:  Access Control: We can
control user access at a project level  Customize: We can easily customize Mantis as per your requirements.
 Mobile Support: Mantis supports iPhone, Android, and Windows Phone Platforms.  Plugins: An ever-
expanding library of plugins to add custom functionality to Mantis Issue Tracker. 2.5.4 JMeter The Apache
JMeterTM is pure Java open source software, which was first developed by Stefano Mazzocchi of the Apache
Software Foundation, designed to load test functional behavior and measure performance. You can use
JMeter to analyze and measure the performance of web application or a variety of services. Performance
Testing means testing a web application against heavy load, multiple and concurrent user traffic. JMeter
originally is used for testing Web Application or FTP application. Nowadays, it is used for a functional test,
database server test etc. Advantages of JMeter  Open source license: JMeter is totally free, allows developer
use the source code for the development .  Friendly GUI: JMeter is extremely easy to use and doesn't take
time to get familiar with it.  Platform independent: JMeter is 100% pure Java desktop application. So it can
run on multiple platforms.  Full multithreading framework. JMeter allows concurrent and simultaneous
sampling of different functions by a separate thread group.  Visualize Test Result: Test result can be
displayed in a different format such as chart, table, tree and log file.  Easy installation: You just copy and
run the *.bat file to run JMeter. No installation needed.  Highly Extensible: You can write your own tests.
JMeter also supports visualization plugins allow you to extend your testing.  Multiple testing strategy:
JMeter supports many testing strategies such as Load Testing, Distributed Testing, and Functional Testing. 
Simulation: JMeter can simulate multiple users with concurrent threads, create a heavy load against web
application under test. 2.5.5 Unified Functional Testing (UFT) UFT/QTP is an automated functional Testing
tool that helps testers to execute automated tests in order to identify any errors, defects or gaps in contrary to
the expected results of the application under test. It was designed by Mercury Interactive and later on
acquired by HP. Full form of QTP is Quick Test Professional while UFT means Unified Functional Testing.
UFT/QTP is the best testing tool because of following reasons.  It is an icon-based tool that automates the
13
regression and Functional Testing of an application  Both technical, as well as a non-technical tester, can
use Micro Focus QTP  It provides both features- Record as well as Playback .  We can test Desktop as
well as the Web-based applications  It allows Business Process Testing (BPT)  QTP Testing is based on
scripting language VB script  Micro Focus's UFT uses VBScript to automate applications  It supports the
largest pool of software development environments like SAP, Oracle etc.  QTP tool helps the testers to
perform an automated functional testing uninterrupted.

Some advantages of QTP Automation • It supports record and playback • It uses an active screen to record
scripts and helps tester in referring the screen object properties • It has excellent object identification process
or mechanism • It supports different add-ins like Oracle, Java, .NET, Web Forms etc. • It allows you to
enhance the existing tests even without the AUT through an active screen. • It supports popular automation
frameworks- keyword driven testing approach, modular testing approach, data-driven testing approach, etc. •
It comes with an inbuilt IDE. • Different types of suites like Smoke, Regression, and Sanity can be easily
maintained. • It supports XML. • Test reporting is possible through QTP for analysis purpose.

2.7 Testing webpage and website through Selenium :Selenium is a free (open source) automated testing suite
for web applications across different browsers and platforms. It is quite similar to QTP/UFT but difference is
only that Selenium focuses on automating web-based applications. Testing done using Selenium tool is
usually referred as Selenium Testing. As Selenium is an open source software and platform independent, it is
more popular than QTP/UFT. Also compared to QP/UFT, it is easier to use. Selenium was previously Firefox
extension which later grew up and became today’s web base application testing tool. Selenium has 4
components by far. They are  Selenium Integrated Development Environment  Selenium Remote Control
 WebDriver  Selenium Grid Selenium also allows record and play button like QTP/UFT but it didn’t
support complex locators like XPath and link name. Thus, selenium Remote control and WebDriver fused
and created Selenium 2 which later got improved and became Selenium 3. Selenium allows tester to create a
test code for each component such as dropdown, button or text field and provide detailed testing to find the
bug. It uses different functions such as find.Element and select.Element to find the exact component to test
and select the exact component to test.

2.8 Keeping bug status and reporting through Jira After running test cases written on excel, bugs used to be
detected. These bugs were recorded by creating token at Jira and were used to be assigned to the developers
to solve using Jira. While emailing bugs to the developers or walking up to a developer can be useful, but
with such a large team it can hamper workflow and slow the pace of work. To reduce this, bugs status is
recorded in Jira, a project management software which can be accessed in a browser. Jira allows a developer
to create a new entry for each bug and provide detailed information to reproduce the bug. In addition, bugs
can be given relations to other bugs and priorities for fixing. Bugs are either open, resolved (fixed but require
14
validation), fixed in next release or closed. They are reported in different categories, which can be filtered. In
Jira the filter categories were as following: 1. Bugs 2. Resolved (bugs supposedly fixed, require validation
before closing) 3. Fixed in next release (not fixed in current version but in next version of editor) While using
Jira for reporting bugs, first knowing bug life cycle is must. Bug life cycle is the process of creating ticket,
assigning to the developer, fixing the bug and ticket.

15
16
Technology Used

MongoDB: MongoDB is a NoSQL database that employs an adaptive, document-based data model.
It saves data as JSON-like documents, making it simple to integrate and alter data within the
application. Because of its scalability and ability to handle massive amounts of data, MongoDB is the
best solution for web applications that require dynamic data storage.

Express.js: Express.js is a simple and versatile Node.js web application framework. It provides a
comprehensive set of APIs and web app development tools and information. Express.js makes it
simpler to manage routes, process requests and responses, and build middleware. It is extremely
adaptable and effective for developing web apps due to its lightweight and modular architecture.

MERN Stack

React.js: React.js is a JavaScript library for developing user interfaces. It allows for the design of
reusable UI components as well as their efficient updating and rendering in response to data changes.
React.js' component-based architecture promotes reuse, modularity, and maintainability. It also
features a virtual DOM (Document Object Model) for enhanced performance and rendering.

Node.js: Node.js is a JavaScript server-side runtime environment that allows programmers to run
JavaScript code outside of a web browser. Its event-driven, non-blocking design makes it
exceptionally scalable and excellent at handling multiple requests simultaneously. Because it provides
server-side scripting, filesystem operations, and network connectivity, Node.js is an excellent choice
for building the backend of websites.

17
APPLICATION DEVELOPMENT

Doctor Appointment System Development


1. Set Up the Project Structure
• Initialize Project Repositories:
o Create separate folders for the backend (/server) and frontend (/client).
o Initialize a Git repository for version control.
• Install Dependencies:
o Backend: Install necessary libraries such as Express, Mongoose, and dotenv.
o Frontend: Set up React with libraries like React Router, Axios, and Tailwind CSS for UI
design.

2. Backend Development (Node.js + Express)


a. Set Up Express Server
• Create an Express server in the /server folder.
• Configure middleware:
o Use body-parser for parsing JSON data.
o Enable CORS for cross-origin requests.
b. Database Configuration (MongoDB)
• Connect the application to MongoDB using Mongoose.
• Store the MongoDB URI securely using environment variables.
c. User Authentication and Authorization
• User Model: Define a Mongoose schema for users, including roles like admin, doctor, and patient.
• JWT Authentication: Use JWT for secure user sessions.
• Role-Based Access Control: Differentiate access based on user roles.
d. Appointment and Doctor Models
• Doctor Model: Define a schema to store doctor details (name, specialization, availability, etc.).
• Appointment Model: Include fields for patient details, doctor ID, appointment time, and status
(pending, confirmed, or canceled).
e. Appointment Booking API
• Create RESTful endpoints:
o GET /doctors: Retrieve a list of available doctors.
o POST /appointments: Book a new appointment.
o GET /appointments/:id: Fetch appointment details.

18
o PATCH /appointments/:id: Update appointment status (e.g., confirmed or canceled).
f. Notification System
• Send email or SMS reminders using services like Twilio or Nodemailer.
• Notify users when appointments are booked, confirmed, or canceled.
g. Data Security
• Encrypt sensitive data like patient details.
• Implement role-based access to ensure only authorized users can access or modify specific data.

3. Frontend Development (React)


a. Project Setup
• Initialize a React app in the /client folder using create-react-app or Vite.
• Configure routing using React Router for pages like login, registration, appointment booking, and
dashboards.
b. Authentication and User Dashboard
• Login and Registration:
o Create pages for patient and doctor registration.
o Implement secure login functionality with JWT authentication.
• Role-Based Dashboards:
o Admin Dashboard: Manage doctors, view analytics, and handle system settings.
o Doctor Dashboard: View appointment schedules and patient details.
o Patient Dashboard: Book appointments, view appointment history, and manage profile.
c. Appointment Booking Interface
• Doctor Search:
o Implement filters for specialty, location, and availability.
• Appointment Form:
o Allow patients to choose a doctor, select a time slot, and confirm their booking.
d. Notifications and Reminders
• Display notifications for upcoming appointments.
• Use modals or alerts to notify users about updates or cancellations.
e. Reports and Analytics
• Create an admin page for visualizing data such as:
o Appointment trends (e.g., peak booking hours).
o No-show rates and user statistics.
• Use Chart.js or React Charts for interactive data visualization.

19
4. Key Features of the Doctor Appointment System
a. Appointment Scheduling
• Allow real-time slot booking for patients.
• Provide doctors with tools to block or update availability.
b. Telemedicine Integration
• Enable video consultations using WebRTC or third-party APIs like Twilio.
• Allow doctors to share e-prescriptions post-consultation.
c. Notifications
• Use push notifications for appointment reminders.
• Send confirmation or cancellation emails automatically.
d. Review and Rating System
• Allow patients to provide feedback on doctors.
• Display average ratings on the doctor profiles.
5. Testing and Debugging
• Unit Testing:
o Test API endpoints, models, and business logic using tools like Jest or Mocha.
• UI Testing:
o Ensure a seamless user experience with tools like Cypress or Playwright.
• Load Testing:
o Test the backend for handling concurrent user requests.
6. Deployment and Maintenance
a. Deployment
• Deploy the frontend on platforms like Vercel or Netlify.
• Deploy the backend on platforms like AWS, Heroku, or Render.
• Use MongoDB Atlas for a managed database solution.

20
Conclusion

5.1 Conclusion Working at Ducat pvt .ltd as a Quality Assurance (QA) intern was an immensely valuable
experience. This internship provided a unique opportunity to apply theoretical knowledge in a practical, real-
time environment. The program significantly enhanced the intern's skills in various testing techniques and
fostered a deeper understanding of the business environment. The knowledge and experience gained in using
test management tools, performing manual testing, and understanding QA processes will be incredibly
beneficial in the intern's future career. 5.2 Lessons Learned The internship at Ducat pvt .ltd was one of the most
valuable experiences of this semester, providing essential insights for a future career in quality assurance. Key
lessons learned during the internship include:
• Developing proficiency in various testing techniques, including manual testing and automated testing. •
Gaining hands-on experience with test management tools such as JIRA.
• Understanding the importance of creating detailed test cases and maintaining thorough documentation.
• Enhancing problem-solving skills by identifying and troubleshooting issues in software applications.
• Learning to prioritize and manage testing tasks effectively to meet project deadlines.
• Appreciating the role of quality assurance in the overall software development lifecycle.
• Understanding the importance of communication and collaboration within a QA team and with other
departments.
• Realizing the significance of staying updated with the latest testing methodologies and tools to ensure
efficient and effective QA processes.

21
Future Scope

The doctor appointment system has immense potential for future enhancements, focusing on improving
user experience and operational efficiency. A notable upgrade would be the integration of a health card
scanner, allowing patients to quickly share medical records and insurance details by scanning their
health IDs. This would streamline registration, minimize manual errors, and ensure accurate patient
identification.
Developing a dedicated mobile application is another key enhancement, enabling patients to book,
reschedule, or cancel appointments on the go, receive real-time notifications about doctor availability,
and participate in teleconsultations. Healthcare providers could also use the app to manage their
schedules, view patient records, and send reminders or updates from any location.
Future developments could include integration with wearable devices to share real-time health

22
Reference
1. Report Formatting (n.d.). Retrieved June 12, 2019, from
https://libguides.css.edu/APA6thEd/APAFormatting Selenium (n.d.).
2. Retrieved June 17, 2019, from https://www.guru99.com/introduction-to-selenium.html Jira
(n.d.).
3. Retrieved 18, 2019, from https://www.guru99.com/jira-tutorial-a-complete-guide-for-
beginners.html Jira (n.d.).
4. Retrieved 18, 2019, from https://www.w3schools.com/sql/

23

You might also like