Mid Defense Internship Report
Mid Defense Internship Report
Internship Report
On
“Quality Assurance”
At
Submitted to
Bafal, Kathmandu
In partial fulfillment of the requirements for the Bachelor’s in Computer Science and
Information Technology
Submitted by
Abhimanyu Yadav
May, 2025
Kathmandu Bernhardt College
Bafal, Kathmandu
SUPERVISOR’S RECOMMENDATION
LETTER OF APPROVAL
ACKNOWLEDGEMENT
3
and valuable insights have played a crucial role in shaping my internship experience. I am
truly grateful for his dedication and the collective efforts of the team in making this
journey enriching and fulfilling.
It is with great pleasure that I extend my heartfelt gratitude to everyone who supported
me throughout the course of this project. I am deeply grateful to my supervisor, Mr.
Abhimanyu Yadav, for his invaluable guidance and support during my Quality
Assurance internship. His continuous encouragement, insightful suggestions, and
expertise have played a crucial role in helping me successfully complete this internship. I
sincerely appreciate his mentorship and the knowledge I have gained under his
supervision.
Last but not the least, I would like to express my thanks to all the faculty members,
friends and family who have direct and indirect contribution during this internship.
Satish Maharjan
TU Exam Roll No.: 26110/077
4
ABSTRACT
5
TABLE OF CONTENTS
SUPERVISOR’S RECOMMENDATION.............................................................................
LETTER OF APPROVAL.....................................................................................................
ACKNOWLEDGEMENT.....................................................................................................
ABSTRACT............................................................................................................................
LIST OF FIGURES...............................................................................................................
LIST OF TABLES................................................................................................................
LIST OF ABBREVIATIONS................................................................................................
CHAPTER 1: INTRODUCTION.......................................................................................
1.1. Introduction...................................................................................................................1
1.2. Problem Statement........................................................................................................2
1.3. Objectives......................................................................................................................2
1.4. Scope and Limitations....................................................................................................2
1.4.1. Scope.........................................................................................................................2
1.4.2. Limitations.................................................................................................................2
1.5. Report Organization.......................................................................................................3
CHAPTER 2: ORGANIZATION DETAILS AND LITERATURE REVIEW.............
6
3.4.5. API Testing using Postman.......................................................................................22
3.4.6. Jira...........................................................................................................................23
CHAPTER 4: CONCLUSION AND LEARNING OUTCOMES.................................
4.1. Conclusion....................................................................................................................24
4.2. Learning Outcomes......................................................................................................24
REFERENCES......................................................................................................................
APPENDICES..........................................................................................................................
7
LIST OF FIGURES
8
LIST OF TABLES
9
LIST OF ABBREVIATIONS
AI Artificial Intelligence
QA Quality Assurance
UI User Interface
10
CHAPTER 1: INTRODUCTION
1.1. Introduction
In addition to web automation, I also conducted API testing on Trello’s API using
Postman. I tested various endpoints, validated response structures, and automated API test
scripts to ensure the proper functioning of Trello’s API services. This helped in
identifying potential issues related to request handling, authentication, and data integrity,
contributing to a more stable and efficient API ecosystem.
Throughout my internship, I also leveraged Jira for project management and issue
tracking, effectively documenting bugs, managing test cases, and collaborating with
developers to resolve issues efficiently. Using Jira streamlined the testing workflow,
allowing better communication and tracking of reported defects.
11
1.2. Problem Statement
1.3. Objectives
1.4.1. Scope
12
This report may not provide a comprehensive understanding of the entire
company’s functioning.
Certain details related to project may be omitted due to privacy policy of the
company.
The report may not include all the activities conducted within the company.
The report is structured into four chapters, each serving a specific purpose and providing
overview of the project and internship experience. The organization of the report is as
follows:
Chapter 1: Introduction
This chapter contains the internship overview with its problem statement, objectives,
scope and limitations.
13
CHAPTER 2: ORGANIZATION DETAILS AND
LITERATURE REVIEW
The company services cover a wide range of areas to support the digital transformation of
businesses. They assist in the development of new digital services, conduct research to
explore the potential of these services, and design user-friendly interfaces based on the
"User First" principle.
From web to mobile app development, the company follow an agile approach to handle
rapid changes in customer needs and market trends. Additionally, they offer operation
services to maintain and optimize the performance of our clients' products. In the realm of
artificial intelligence (AI), the company specialize in developing AI models using
machine learning or deep learning techniques. These models are tailored to meet various
business needs, from natural language processing to image and video analysis.
Website www.chulo-solutions.com
14
2.2. Organizational Hierarchy
Chulo Solution Ltd. Pvt. demonstrates a hierarchical organization structure with various
departments that work cohesively to facilitate business processes. The Director of Chulo
Solutions plays a crucial role in directing both the management team and technology
teams, ensuring good decision-making, and achieving favorable outcomes for the
business. Under the guidance of a Project Manager, several teams operate such as Web
team, ML team, Android team, iOS team and QA team. During the internship tenure, the
intern had the opportunity to work with the QA team.
Chulo Solutions Pvt. Ltd. provides multiple services in the area of website design and
application development. The areas of expertise of the organization are:
Web Applications
iOS and Android applications IT consulting
AWS, GCP and other cloud computing
Machine Learning, Deep Learning
Blockchain applications, smart contracts
15
2.4. Description of Intern Department
In Chulo Solutions, the department of intern is run by the senior developers which is
designed to nurture young talent, providing them with hands-on experience, mentorship,
and the opportunity to work on real-world projects. Experienced employees are assigned
to guide interns and provide technical support, career advice, and regular feedback. The
work environment of the company was very welcoming and friendly. Interns were also
included in office events. Office events helped interns interact with other employees and
build bonds.
End Date
Total Duration
Working Hours 11 AM – 5 PM
In the simplest terms, Software Testing is a process to ensure the accuracy, completeness
and quality of any developed software. Rather than limiting this to a formally technical
process used to investigate and measure quality of the developed computer software in
terms of correctness, completeness and security, it is imperative to test the software
components and the software as a whole for integrity, capability, reliability, efficiency,
portability, maintainability, compatibility and usability of the software. This is
particularly important in an operating environment where it is planned to be implemented,
and testing will need to adhere to the technical requirements as described under ISO
16
standard ISO 9126. Effective testing requires the presence of adequate and suitable test
data. (Regulwar, 2010)
Selenium is an online web based software testing tool. In this article, we have study the
design and functioning of the selenium tool and used it to test various online applications.
In order to test an application, testers do need not to learn the selenium web driver tool
completely. This tool is helpful for a developer and tester, they can analyze their code
owing to screen shot characteristics of framework. It generates the adapted test report to
the tester. It is very simple to sustain and restore the test suite for new version of the
application by this tool. (Devi, Bhatia, & Sharma, 2017)
Aiming at the problems of how to improve the quality of mobile applications and user
experience continuously, and how to use automation testing technology rationally to
avoid wasteful duplication of effort, a design method of the automation testing based on
Appium is proposed. Appium is applicable to testing native, Web applications or hybrid
mobile applications, and it is a cross-platform testing framework, which supports mobile
application testing on iOS, Android and Firefox OS platforms. (Wang & Wu, 2019)
Postman is one of the greatest API automation and documentation tools available
today. The old methods of manually creating and testing APIs no longtime scale as
today’s software and services can interface with hundreds of APIs within a single
application. Development, testing, and delivery teams must work together to make sure
that applications work barrier with APIs to provide a business advantage, rather than
cause a business obstacle. Collaboration and operational efficiency are the keys to sharing
modern API- powered applications. And this is the space that Postman plays in. (Kore,
Jadhav, & Lohar, 2022)
In Software is an important thing that makes our life easier in day to day living. In
creating a software in any field of expertise requires an engineering process and it
includes software testing. Testing requires manpower that it needs bug monitoring tool
like Jira. (Gorro, 2019)
17
CHAPTER 3: INTERNSHIP ACTIVITIES
18
Week 4 Learned about Mocha.js for test automation and
(Mar 10 – Mar 14) successfully installed it to run automated tests.
Conducted Appium testing for MyDemoApp, ensuring
mobile app functionality and performance across
Android devices.
The TechBrain.ai website was automated using Selenium in Python to test key
functionalities like login, course navigation, and user interactions. Test scripts were
developed to streamline the testing process, reduce manual effort, and ensure that features
remained functional after updates.
Appium was used to automate testing for MyDemoApp on Android devices. Automated
tests focused on UI interactions, form submissions, and app navigation, ensuring
consistent user experience and identifying performance issues across different Android
devices.
API testing was performed using Postman for the Trello API, validating endpoints, status
codes, and response formats. Postman scripts were written to automate these tests,
ensuring API reliability and accurate data exchange.
19
Jira was utilized for issue tracking and project management, where defects were logged,
and progress was tracked to ensure timely resolutions. It helped in prioritizing tasks and
improving communication within the team.
Manual testing of the TechBrain.ai website involved verifying key functionalities such as
user registration, course navigation, and content accessibility. Test cases were created and
managed using a Google Spreadsheet, which allowed easy collaboration and tracking of
test execution. Bugs, UI inconsistencies, and performance issues were identified, ensuring
the platform’s overall usability and reliability.
It should Pass
redirect to login
1. Navigate to
Url: page with
signup page from
https://techbrain. following
the sign in page.
ai/users/sign_up notification:
Verify if the 2. Enter valid
Email: "A message
user can sign email.
kurosubin@gma with a
SU_0 up using The user is 3. Enter valid
il.com confirmation
1 valid on signup password.
Password: link has
user page. 4. Enter valid
P@ssword123 been sent to
credentials confirmation
Confirm your email
password.
Password: address. Please
5. Click on "Sign
P@ssword123 follow the link
up" button.
to activate your
account."
SU_0 Verify if the 1. Navigate to N/A The user should Pass
20
email account the
The user user used to
user gets have got
has sign up register.
confirmation confirmation
2 using valid 2. Check if the
link mail from
credentials user has received
via email Techbrain.ai
. confirmation
mail.
1. Navigate to Pass
email account.
Verify if the It should
2. Click on
user gets redirect to login
confirmation link
registered page with
The user sent via email.
SU_0 successfully following
has sign up 3. Check if the N/A
3 after visiting notification:
using valid link redirects to
confirmation "Your email has
email. login page and
mail sent via been confirmed
the
email successfully."
user is registered
successfully.
1. Navigate to Pass
login.
Verify if the
2. Click on
user can The user should
The user "Didn't receive
SU_0 resend be able to resend
has sign up confirmation N/A
4 confirmation confirmation
using valid message".
message to mail.
email. 3. Type the email
mail.
you used to sign
up.
SU_0 Verify if the 1. Navigate to N/A The registered Pass
5 user with The user login. user should not
confirmed has sign up 2. Click on be able
email tries using valid "Didn't receive resend
to resend email. confirmation confirmation
confirmation message". message with
21
mail. 3. Type already message
confirmed email displaying:
and click "Email was
"Resend". already
1. Navigate to Url: Pass
signup page from https://techbrain.
There should be
Verify if the sign in page. ai/users/sign_up
validation
user can sign 2. Enter valid Email:
message
SU_0 up with The user is user credentials [email protected]
displaying:
6 already on signup with already Password:
"Email has
registered page. registered P@ssword123
already been
mail account email. Confirm
taken"
3. Click on "Sign Password:
up" button. P@ssword123
1. Navigate to Pass
Url:
signup page from
https://techbrain.
the sign in page. There should be
Verify if ai/users/sign_up
2. Leave the validation
user can sign Email: (empty)
SU_0 The user is email field message
up with Password:
7 on signup empty. displaying:
empty email P@ssword123
page. 3. Enter valid "Please fill out
field. Confirm
password and this field"
Password:
confirm
P@ssword123
password.
SU_0 Verify if 1. Navigate to Url: There should be Pass
8 user can sign The user is signup page from https://techbrain. validation
up with on signup the sign in page. ai/users/sign_up message
empty page. 2. Enter valid Email: displaying:
password email. kurosubin@gma "Please fill out
and 3. Leave il.com this field"
22
password password and Password:
confirmation password (empty)
field. confirmation Confirm
1. Navigate to Pass
signup page from Url:
the sign in page. https://techbrain. There should be
Verify if 2. Enter invalid ai/users/sign_up validation
user can sign email. Email: test message
SU_0 The user is
up with 3. Enter valid Password: displaying:
9 on signup
invalid password and P@ssword123 "Email must be
page.
email. confirmation Confirm in example@
password. Password: email.com
4. Click on "Sign P@ssword123 format"
up" button.
1. Navigate to Pass
signup page from
Url: There should be
the sign in page.
https://techbrain. validation
2. Enter valid
ai/users/sign_up message
Verify if email.
Email: displaying:
user can sign 3. Enter invalid
SU_1 The user is [email protected] "Password must
up with password.
0 on signup Password: be at least 8
invalid 4. Enter valid
page. Passwo1 alphanumeric
password confirmation
Confirm characters
password.
Password: with mixed
5. Click on
Passwo1 case"
""Sign up""
button.
23
different page. 2. Enter valid Email: displaying:
password in email. [email protected] "Password
confirmation 3. Enter valid Password: confirmation
password. password. P@ssword123 doesn't
4. Enter invalid Confirm match Password"
different Password:
24
P@ssword1
23
Url:
1. Navigate to sign https://techb
There should
in page. rain.ai/users/
be validation
Verify if user 2. Enter valid sign_in
message
can login with The user is email. Email:
L_03 displaying: Pass
incorrect on login 3. Enter incorrect kurosubin@
"Invalid
password. page. password. gmail.com
Email or
4. Click on Password:
password."
""Login"" button." notp@sswor
d123
Url:
1. Navigate to sign https://techb There should
in page. rain.ai/users/ be validation
Verify if user
2. Leave the email sign_in message
can login with The user is
L_04 field empty. Email: displaying: Pass
empty on login
3. Enter password. (empty) "Please fill
email. page.
4. Click on Password: out this
""Login"" button." P@ssword1 field."
23
1. Navigate to sign Url:
in page. https://techb There should
2. Enter valid rain.ai/users/ be validation
Verify if user
email. sign_in message
can login with The user is
L_05 3. Leave the Email: displaying: Pass
empty on login
password field kurosubin@ "Please fill
password. page.
empty. gmail.com out this
4. Click on Password: field."
""Login"" button." (empty)
L_06 Verify if N/A The website Pass
"Forget The user is 1. Click on forget should
Password" on login password. redirect to
25
the
redirects to 2. Check if the
password
password page. password recovery
recovery
recovery page page loads.
page.
1. Navigate to sign
in page. The user
Verify if the
2. Click on forget receive
user receives Email:
The user is password. email with
L_07 mail with link kurosubin@ Pass
on login 3. Enter your link
to recover gmail.com
page. email. to recover
password.
4. Click on password.
"Submit".
1. Navigate to sign
Verify the user in page. There should
can send 2. Click on forget be validation
Email:
recovery email The user is password. message
L_08 asdasd83@g Pass
to on login 3. Enter non displaying:
mail.com
non-existential page. existential email. "Email not
email. 4. Click on found"
"Submit".
1. Go to the link
from your email.
2. Check if the New
The user The user
Verify if the password recovery Password:
has should be
user can reset page loads. newP@sswo
received able to
their password 3. Enter "New rd123
L_09 password update Pass
via link Password" and Confirm
recovery their
received from "Confirm Password:
link on password
email. Password" newP@sswo
their and sign in.
4. Click "Update rd123
email.
Password"
26
from your email.
2. Check if the
password recovery
user can The user be validation
page loads.
update their has Password: message
3. Enter "New
password with received newP@sswo displaying:
Password"
unmatched password rd123 "Password
4. Enter different
"New recovery Confirm confirmation
unmatched
Password" link on Password: doesn't
"Confirm
and "Confirm their demo123 match
Password"
Password" email. Password"
5. Click "Update
Password"
1. Go to the link
from your email.
Verify if the
2. Check if the
user can The user There should
password recovery New
update their has be validation
page loads. Password:
password with received message
3. Enter empty (empty)
L_11 empty "New password displaying: Pass
"New Password" Confirm
Password" and recovery "Please fill
and "Confirm Password:
"Confirm link on out this
Password" fields. (empty)
Password" their field."
4. Click "Update
fields email.
Password"
27
4. Click "Update
via email. email. Password"
28
by the course.
1. Start any course
Verify that the
and finish at least
"Start" on The "Start"
one
course on home should
lesson.
page changes to change into
CL_04 2. Go back to the N/A Pass
"Continue" User is logged "Continue"
home page and
after starting in of course in
check if the
the course home page.
"Start" changes to
lessons.
"Continue"
1. Start any course
Verify that the
and finish at least The next
"Next Lesson"
one lesson for the
CL_05 is functional User has N/A Pass
lesson. course should
after starting completed a
2. Click on "Next load.
the lesson. lesson
Lesson".
Verify that the The "Next
1. Go to course
"Next Lesson" Lesson"
lessons and complete
changes to should
User has all the
"Finish" after change to
CL_06 completed all lesson of the course. N/A Pass
the user has "Finish" after
lessons of the 2. Check if the "Next
completed all completion
course. Lesson" changes to
the of all the
"Finish".
lessons. lessons
The old
Verify if the old 1. Complete all progress
progress do not lesson of a course. should not
get reset User has 2. Go to Home page get lost
CL_07 when restarting completed all and start the same N/A when Pass
already lessons of a course. restarting
completed course. 3. Check if the old already
course. progress is reset. completed
course.
29
Verify if the
1. Start a different
previous
new course. The progress
progress of the User is
2. Return to home to of another
CL_08 course will not enrolled in at N/A Pass
see if old progress of course should
be lost when least one
another not be lost.
starting new course.
course is not lost.
course.
There should
1. Complete all
Verify if the be an option
lesson of a course.
user can reset User has to reset the
2. Go to Home page
CL_09 the progress of completed all N/A progress of Fail
to see if there is any
completed lessons of a already
option
course course. completed
to reset the course.
course.
1, Login and
complete lesson of
any course.
2. Check if the
Verify if the The progress
progress is reflected
progress bar should
User has on the progress
remains saved not be reset
completed at bar.
CL_10 when N/A when the Pass
least one 3. Logout and login
the user logouts user logouts
lesson of any in the same account
and logins and logins
course again.
again. again
4. Check if the
progress bar was
saved and has not
been reset.
Automation using Selenium involved creating test scripts in Python to automate the
testing of key features on the TechBrain.ai website. Selenium was used to interact with
30
web elements like buttons, forms, and navigation links to verify that all functionalities
worked as expected. This automation streamlined the testing process, reduced manual
effort, and ensured consistent validation across different test scenarios.
Automation of MyDemoApp using Appium involved writing test scripts to verify the
app's functionality on Android devices. Appium Inspector was used to inspect the app’s
UI elements, allowing the identification of XPath and ID attributes for the elements.
These identifiers were then used in the automation scripts to interact with buttons, forms,
and other UI components, ensuring consistent app performance across devices and
facilitating early detection of issues.
31
Figure 3.4 - Appium Inspector to get XPath
API testing for the Trello API was conducted using Postman to validate various endpoints
and ensure accurate responses. Test scripts were written to check status codes, data
formats, and response content for API requests. Postman allowed for automated testing of
the API, ensuring reliable data exchange and functionality across different endpoints of
the Trello service.
32
3.4.6. Jira
Jira was used to report and track issues encountered during testing. Defects were logged
with detailed descriptions, including steps to reproduce, severity, and screenshots. The
issues were then assigned to the development team, with priority levels set to ensure
timely resolution. Jira facilitated efficient communication, allowing for seamless
collaboration between QA and development teams to ensure issues were addressed and
resolved promptly.
33
CHAPTER 4: CONCLUSION AND LEARNING
OUTCOMES
4.1. Conclusion
During the internship at Chulo Solutions, a solid understanding of manual and automated
testing was gained, along with proficiency in using tools like Selenium, Appium, and
Postman. Automation of websites and mobile applications provided hands-on experience
with test scripts, and the use of Selenium in Python helped streamline testing processes
for web platforms, while Appium facilitated mobile app testing. Additionally, API testing
using Postman allowed for the validation of endpoints and response accuracy,
contributing to a better understanding of backend services and their role in application
functionality.
The internship also provided practical exposure to project management tools like Jira. By
utilizing Jira for issue tracking and defect reporting, an understanding of how to manage,
prioritize, and resolve bugs efficiently was developed. Furthermore, learning to create test
plans, define entry and exit conditions, and write detailed test cases enhanced the ability
to structure and execute effective testing strategies. This experience strengthened
problem-solving skills and provided a comprehensive understanding of the entire
software development and testing lifecycle.
34
REFERENCES
Devi, J., Bhatia, K., & Sharma, R. (2017). A Study on Functioning of Selenium
Automation Testing Structure. International Journal of Advanced Research in
Computer Science and Software Engineering .
Kore, P. P., Jadhav, S., & Lohar, M. J. (2022). API Testing Using Postman Tool.
International Journal for Research in Applied Science and Engineering
Technology .
Wang, J., & Wu, J. (2019). Research on Mobile Application Automation Testing
Technology Based on Appium. Jishou, China: IEEE.
35
APPENDICES
Techbrain.ai Website