Professional Documents
Culture Documents
A PROJECT REPORT
Submitted by
KEDAR SONEJI
190630107210
BACHELOR OF ENGINEERING
In
Computer Engineering
May, 2023
Madhuben and Bhanubhai Patel Institute of Technology
CERTIFICATE
This is to certified that the project report submitted along with the project
entitled QA Based Testing Project has been carried out by Kedar Soneji
(190630107210) under my guidance in partial fulfillment for the degree of
Bachelor of Engineering in, 8th Semester of Gujarat Technological University,
Ahmadabad during the academic year 2022-23.
DECLARATION
We hereby declare that the summer Internship report submitted along with the
Project entitled QA Based Testing Project submitted in partial fulfillment for
the degree of Bachelor of Engineering in Computer Engineering to Gujarat
Technological University, Ahmedabad, is a bonafide record of original project
work carried out by me/us at Zignuts Technolab Pvt. Ltd. under the
supervision of Mentor Nikita Dadhania and that no part of this report has
been directly copied from any students reports or taken from any other source,
without providing due reference.
ACKNOWLEDGEMENT
I hereby, would like to have the privilege to show our gratitude to all the persons, helped me in whatever
way for the successful completion of this Internship without hindrance. I am grateful to all our mentors
who inspired me by setting an example for them for the kind purpose of motivating me to reach my
targeted objective. Without their knowledge and wisdom along with experience and specialization in
their specific field, I would not have been able to think of doing or completing this work. All the persons
who have contributed directly or indirectly with their kind support and humble approach are highly
appreciative and I would always remain indebted to them in all ways. I am especially thankful of Prof.
Dhruv Dalwadi who is my internal guide, for her kind support and motivation. I extend my heartfelt
ABSTRACT
In conclusion, this was an opportunity to develop and enhance the skills and
competencies in my career field which I achieved.
LIST OF FIGURES
Fig 7.3.1(i) increase item and decrease item button missing in cart also 35
TABLE OF CONTENTS
Acknowledgement i
Abstract ii
Table of Contents iv
3.2 Purpose 5
3.3 Objective 6
3.4 Scope 6
3.5 Technologies 7
Chapter 7 : Implementation 29
7.2 Technologies 30
7.3 Results 31
Chapter 8 : Conclusion 37
References 38
HTML
CSS
JAVASCRIPT
REACT.JS
ANGULAR
NODE.JS
REACT-NATIVE
FLUTTER
Zignuts Technolab have more than 200+ employees with specialized skills in
software development, custom software development, and e-commerce software
development.
Main end product of our company is mostly the software. Software is a very different thing
other than industry’s End products. Its process is very different. The main flow of software
development is as per below:
1. Client requirement understanding: First step to build something is to know what to
build. Specially in the case of software it is very important to understand the client
requirement completely as if the requirement changes, then it will create huge problems
in later part of the development. Often a requirement document is created which is
called a client requirement document to make things clearer.
3. Development: After sufficient planning comes the development part. In this part actual
software is built. Or at least part of the software is built in methods like agile delivery
methods.
4. Review and QA: Internal review and QA is done to ensure the quality of the final
product as in software in this case. It also helps to identify the bugs before releasing
the software.
5. Release or Deployment: In this phase the software is delivered to the client either the
direct code or hosted service.
6. Maintenance: This part comes in picture after the final delivery of the software. This
phase includes tasks such as making sure the service is always running, bug fixes etc.
At our company we mostly use an agile development process in which the software is
delivered in different parts or phases which are called the sprints. Each sprint contains the
upgraded version of the software and it is kept upgrading unless we reach the final product.
A QA-based testing project typically involves the use of Quality Assurance (QA)
methodologies to test software applications and ensure that they meet the expected quality
standards. This may involve a variety of testing techniques such as unit testing, integration
testing, functional testing, performance testing, and security testing. The goal of a QA-
based testing project is to identify any defects or issues in the software before it is released
to users. The project team will typically work closely with developers to understand the
requirements and design of the software, and to develop and execute test cases to verify
that the software works as intended. By thoroughly testing the software, the project team
can increase the overall quality and reliability of the application, and improve user
satisfaction.
3.2 PURPOSE
The main objective of a QA-based testing project is to ensure that the software application
meets the desired quality standards and performs as intended. The project team aims to
identify any defects or issues in the software through various testing techniques, such as
unit testing, integration testing, functional testing, performance testing, and security
testing.
The project team also ensures that the software meets the functional and non-functional
requirements specified in the project scope, including usability, accessibility, reliability,
and scalability. By achieving these objectives, the QA-based testing project helps to
improve the overall quality of the software application, reduce the risk of defects or errors
in production, and enhance user satisfaction. Additionally, it helps the organization to
maintain a competitive edge in the market by delivering high-quality software products.
3.4 SCOPE
1. Defining the objectives of the project: The project team needs to understand the goals
and objectives of the software application being developed to identify the scope of the
testing project.
2. Identifying the testing requirements: The project team needs to identify the functional
and non-functional requirements that the software application needs to meet. This includes
understanding the business requirements, user needs, and technical specifications.
3. Developing a testing strategy: Based on the testing requirements, the project team
needs to develop a testing strategy that includes the types of testing, testing tools, and
resources required for testing.
4. Creating test plans: The project team needs to create test plans that outline the test
scenarios, test cases, and expected results for each type of testing.
5. Executing tests: The project team executes the test plans to identify any defects or issues
in the software application. The team also performs regression testing to ensure that fixes
have not introduced new defects.
6. Reporting and tracking defects: The project team reports and tracks defects in a defect
tracking system, prioritizes them, and assigns them to the development team for resolution.
7. Providing testing status and metrics: The project team provides testing status and
metrics to stakeholders to ensure that they are aware of the progress and quality of the
software application.
8. Test closure: Once all testing is complete and defects are resolved, the project team
performs a final round of testing to ensure that the software application meets the testing
requirements and is ready for release.
Overall, the scope of a QA-based testing project involves ensuring that the software
application is thoroughly tested and meets the desired quality standards before it is released
to users.
JIRA
JIRA is a web-based project management and issue tracking tool developed by Atlassian.
It is widely used by software development teams to track and manage tasks, bugs, and
issues throughout the software development lifecycle. JIRA allows teams to plan and
prioritize tasks, track progress, and collaborate with team members in real-time. It also
provides advanced reporting and analytics capabilities to help teams gain insights into their
project performance. JIRA integrates with a wide range of development tools and supports
agile development methodologies such as Scrum and Kanban.
BROWSER STACK
Browser Stack is a cloud-based cross-browser testing tool that allows developers and testers
to test their web applications on a variety of browsers, operating systems, and mobiledevices.
With Browser Stack, users can test their web applications on over 2,000 real devices and
browsers, including the latest versions of popular browsers such as Chrome, Firefox, Safari,
and Microsoft Edge. Browser Stack offers advanced features such as automated testing,
live testing, and visual regression testing to help teams catch bugs and issues early in the
development cycle. It also integrates with popular development tools such as JIRA,
GitHub, and Bitbucket to streamline the testing and development process.
GOOGLE SHEETS
Google Sheets can be used for bug reporting by creating a spreadsheet to track bugs found
during testing. The spreadsheet can include columns for bug ID, bug description, severity,
status, assignee, and comments. Multiple team members can collaborate on the same
spreadsheet, allowing for real-time updates and feedback.
Google Sheets can also be used for managing test scenarios by creating a spreadsheet to
track test cases. The spreadsheet can include columns for test case ID, test case description,
expected results, actual results, pass/fail status, and comments. Testers can update the
spreadsheet as they execute the test cases, and team members can review the results and
provide feedback.
Overall, Google Sheets is a flexible and collaborative tool that can be customized to meet
the needs of a variety of testing and bug reporting scenarios.
Here are some key steps for project planning in a QA based testing project:
1. Define project scope and objectives: Clearly define the scope and objectives of the
project, including the expected deliverables, timelines, and budget.
3. Identify testing requirements: Identify the testing requirements, including the types of
testing to be performed (e.g. functional, performance, security), testing tools and
frameworks to be used, and testing environment requirements.
4. Define testing schedule: Define the testing schedule, including testing cycles,
milestones, and deadlines.
5. Allocate resources: Allocate the necessary resources, including testers, developers, and
project managers, and assign responsibilities and roles.
6. Develop a testing plan: Develop a comprehensive testing plan that includes test
scenarios, test cases, and test scripts.
8. Define quality metrics: Define quality metrics that will be used to measure the success
of the testing project, such as defect density, test coverage, and defect closure rate.
9. Monitor and report progress: Monitor and report project progress regularly to ensure
that the project stays on track, and any issues or risks are identified and addressed in a
timely manner.
Scheduling a QA-based testing project requires careful planning and coordination to ensure
that all tasks are completed on time and within budget. Here are some steps to follow when
scheduling a QA-based testing project:
1. Identify project milestones: Identify the major project milestones, such as the start and
end dates of testing, completion of test plan and reports, and delivery of the final system to
the client. Use these milestones to create a timeline for the project.
2. Break down tasks: Break down the testing process into smaller tasks, such as test
planning, test execution, and defect management. Estimate the time required for each task
based on the complexity of the system and the level of testing required.
3. Allocate resources: Identify the resources required for each task, such as personnel,
equipment, and testing tools. Allocate resources based on the estimated time for each task
and the availability of resources.
4. Create a Gantt chart: Create a Gantt chart or project timeline that includes all the tasks
and milestones for the project. This will help you visualize the schedule and identify any
potential conflicts or delays.
5. Establish dependencies: Identify any dependencies between tasks and ensure that they
are scheduled in the correct order. For example, you cannot execute test cases until the test
plan is completed.
6. Set deadlines: Set deadlines for each task and milestone to ensure that the project stays
on track. Be sure to include some contingency time in case of unexpected delays or issues.
7. Monitor progress: Monitor the progress of the project regularly and update the schedule
as needed. Identify any delays or issues and take corrective action to keep the project on
track.
By following these steps, you can create a realistic and achievable schedule for a QA-based
testing project that ensures timely delivery of a high-quality system..
System analysis is an important aspect of QA based testing projects, as it helps to identify the
requirements, constraints, and risks associated with the system being tested. Here are some key
steps for conducting system analysis in a QA based testing project:
1. Define system requirements: Define the system requirements, including the functional and
non-functional requirements, and ensure that they are clearly documented.
2. Identify system architecture: Identify the system architecture, including the hardware and
software components, and understand how they interact with each other.
3. Conduct risk analysis: Identify potential risks and their impact on the system, and develop
mitigation strategies to manage them.
4. Define testing objectives: Define the testing objectives, including the types of testing to be
performed, and ensure that they align with the system requirements.
5. Identify testing tools and resources: Identify the testing tools and resources required to carry
out the testing, including hardware, software, and personnel.
6. Develop a testing strategy: Develop a comprehensive testing strategy that defines the testing
approach, test scenarios, test cases, and test data.
7. Plan test execution: Plan the test execution process, including the scheduling of testing cycles,
test environment setup, and test case execution.
8. Monitor and report progress: Monitor and report progress throughout the testing process to
ensure that the testing is progressing as planned, and any issues or risks are identified and
addressed in a timely manner.
By conducting system analysis, QA teams can ensure that they have a comprehensive
understanding of the system being tested, its requirements, and its risks, enabling them to
develop an effective testing strategy and carry out high-quality testing.
Based on the results of the study, the organization can develop an action plan to improve
its human resource management system. This plan may include reviewing people policies
and procedures, enhancing training and development programs, improving employee
engagement, and other initiatives aimed at improving the organization's overall
performance.
1. Insufficient testing coverage: If the testing coverage is not comprehensive enough, some
defects or issues may be missed, leading to a lower quality product.
2. Lack of testing resources: If there are insufficient resources for testing, such as personnel
or hardware, it may be challenging to execute the testing plan effectively and efficiently.
4. Unclear requirements: If the system requirements are not well defined or documented, it
can be challenging to develop an effective testing strategy or to accurately measure the success
of the testing process.
5. Inadequate testing methodology: If the testing methodology used is not appropriate for the
project's specific requirements, the testing process may be less effective or efficient.
By proactively identifying and addressing these potential issues, QA teams can help to ensure
that the testing process is effective, efficient, and produces high-quality results.
Gujarat Technological University 14 MBIT
Project id: 302353 Chapter 4: System Analysis
As the specific system or project being referred to is not specified, it is difficult to provide a
specific list of requirements. However, in general, a QA based testing system should have the
following requirements:
1. Ability to test various software applications and systems: The system should be able to
test a wide range of software applications and systems, including desktop, web, and mobile
applications.
3. Integration with testing tools and frameworks: The system should be able to integrate with
testing tools and frameworks, such as Selenium, Appium, and JMeter.
4. Easy test scenario and test case creation: The system should be easy to use, with a user-
friendly interface, and enable easy test scenario and test case creation.
5. Support for multiple platforms and environments: The system should support testing on
multiple platforms and environments, including Windows, Mac, Linux, and different mobile
devices.
6. Reporting and analytics: The system should provide reporting and analytics capabilities to
enable analysis of testing results and identify areas for improvement.
By meeting these requirements, a QA based testing system can help to ensure effective, efficient,
and comprehensive testing of software applications and systems.
1. Technical feasibility: The system must be technically feasible, meaning that it can be
developed and implemented within the available resources and constraints.
2. Operational feasibility: The system must be operationally feasible, meaning that it can be
used effectively and efficiently by the intended users.
3. Economic feasibility: The system must be economically feasible, meaning that it can be
developed and implemented within the available budget and expected returns on investment.
4. Legal feasibility: The system must be legally feasible, meaning that it complies with all
relevant laws, regulations, and standards.
5. Market feasibility: The system must be market feasible, meaning that there is a demand for
it and it meets the needs of the intended market.
Based on the above factors, a feasibility study can be conducted to assess the viability of the QA
based testing system. This may involve conducting market research to identify potential users
and their needs, assessing the technical requirements and available resources, and evaluating the
economic and legal considerations. The feasibility study should provide insights into whether
the system can be developed and implemented within the available resources, and whether it can
provide the expected benefits and returns on investment. If the feasibility study indicates that
the system is viable, further steps can be taken to develop and implement the system.
The specific features of a QA based testing system can vary depending on the requirements and
scope of the project. However, here are some common features that can be included in such a
system:
1. Test case management: The system should enable the creation, execution, and management
of test cases and test suites.
2. Test automation: The system should support test automation, enabling the creation and
execution of automated test scripts.
3. Test data management: The system should enable the management of test data, including
the creation, storage, and retrieval of test data sets.
4. Defect tracking: The system should enable the tracking and management of defects or issues
found during testing, including defect logging, tracking, and reporting.
5. Reporting and analytics: The system should provide reporting and analytics capabilities,
enabling the analysis of testing results and identification of areas for improvement.
7. Integration with testing tools and frameworks: The system should integrate with testing
tools and frameworks, such as Selenium, Appium, and JMeter.
8. Platform and environment support: The system should support testing on multiple
platforms and environments, including Windows, Mac, Linux, and different mobile devices.
9. Test environment management: The system should enable the creation and management of
test environments, including the setup and configuration of test servers and systems.
By providing these features, a QA based testing system can help to ensure that software
Gujarat Technological University 17 MBIT
Project id: 302353 Chapter 4: System Analysis
applications and systems are tested effectively and efficiently, with a focus on improving quality
and minimizing defects.
Hardware (Recommended)
• Processor: i5
• RAM: 4GB
Software
• BROWSER STACK
• GOOGLE SHEETS
1. Test Planning: In this step, the QA team identifies the objectives of testing, the scope of
the testing, and the resources required.
2. Test Design: In this step, the QA team develops a test plan that includes the types of tests
to be performed, the test scenarios, and the test cases.
3. Test Execution: In this step, the QA team performs the tests according to the test plan
and reports any defects found during testing.
4. Defect Reporting and Tracking: In this step, the QA team reports any defects found
during testing and tracks them to ensure they are resolved.
5. Test Closure: In this step, the QA team evaluates the testing process, reports the results,
and prepares a test closure report.
The current QA based testing system also involves the use of various tools such as automated
testing tools, bug tracking tools, and performance testing tools to improve the efficiency and
effectiveness of the testing process. Additionally, the use of AI and machine learning in
testing has gained traction in recent years, allowing for more advanced and intelligent testing
techniques.
However, one of the challenges with the current QA based testing system is that it can be
time-consuming and labor-intensive, especially for complex software systems.
The scope of a QA based testing project typically includes testing a software application or
system to ensure that it meets the specified requirements, functions correctly, and is user-
friendly. The project may involve testing the application at various stages of the software
development life cycle, including during development, integration, and deployment. The
project scope may also include:
1. Test planning: identifying the objectives of testing, the scope of testing, and the resources
required.
2. Test design: developing a test plan that includes the types of tests to be performed, the
test scenarios, and the test cases.
3. Test execution: performing the tests according to the test plan and reporting any defects
found during testing.
4. Defect reporting and tracking: reporting any defects found during testing and tracking
them to ensure they are resolved.
5. Test closure: evaluating the testing process, reporting the results, and preparing a test
closure report.
The scope of a QA based testing project may also involve the use of various tools such as
automated testing tools, bug tracking tools, and performance testing tools to improve the
efficiency and effectiveness of the testing process. The project may also require
collaboration with the development team, stakeholders, and end-users to ensure that the
software application or system meets the specified requirements and is user-friendly.
By proactively identifying and addressing these potential issues, QA teams can help to
ensure that the testing process is effective, efficient, and produces high-quality results.
A reusable project component is a piece of code or software that can be used across different
projects or applications. These components are typically designed to be flexible, scalable,
and customizable, so that they can be easily integrated into different software systems.
1. Libraries and APIs: Libraries and APIs (Application Programming Interfaces) provide
a set of functions or methods that can be used by other software programs. These components
can be reused across multiple projects or applications, providing a consistent and reliable
way to access certain functionality.
2. Frameworks: Frameworks provide a set of guidelines, standards, and tools for developing
software applications. These components can be reused across different projects, helping to
ensure consistency and efficiency in the software development process.
3. Modules and Plugins: Modules and plugins are pre-built pieces of code that can be added
to a software application or system to provide additional functionality. These components
can be customized and reused across multiple projects or applications, saving time and effort
in the development process
The specific features of a QA based testing system can vary depending on the requirements
and scope of the project. However, here are some common features that can be included in
such a system:
1. Test case management: The system should enable the creation, execution, and
management of test cases and test suites.
2. Test automation: The system should support test automation, enabling the creation and
execution of automated test scripts.
3. Test data management: The system should enable the management of test data, including
the creation, storage, and retrieval of test data sets.
4. Defect tracking: The system should enable the tracking and management of defects or
issues found during testing, including defect logging, tracking, and reporting.
5. Reporting and analytics: The system should provide reporting and analytics capabilities,
enabling the analysis of testing results and identification of areas for improvement.
7. Integration with testing tools and frameworks: The system should integrate with testing
tools and frameworks, such as Selenium, Appium, and JMeter.
8. Platform and environment support: The system should support testing on multiple
platforms and environments, including Windows, Mac, Linux, and different mobile devices.
9. Test environment management: The system should enable the creation and management
Gujarat Technological University 23 MBIT
Project id: 302353 Chapter 5: Project Management
of test environments, including the setup and configuration of test servers and systems.
By providing these features, a QA based testing system can help to ensure that software
applications and systems are tested effectively and efficiently, with a focus on improving
quality and minimizing defects.
Scheduling a project involving reusable project components requires careful planning and
consideration of various factors such as the project scope, development approach, available
resources, and timeline. Here are some steps that can help in scheduling a project:
1. Define the project scope: Start by defining the project's goals and objectives, as well as
the scope of the work involved. This will help you determine the required resources and the
estimated time needed to complete the project.
2. Break down the project into smaller tasks: Break the project down into smaller tasks
and estimate the time required for each task. This will help in identifying potential delays or
bottlenecks and enable you to adjust the schedule accordingly.
3. Create a project timeline: Once you have estimated the time required for each task,
create a project timeline that includes the start and end dates for each task. This will help you
visualize the project's progress and ensure that the project is on track.
4. Identify dependencies: Identify any dependencies between tasks, such as one task that
must be completed before another can start. This will help you adjust the schedule in case of
delays or changes in the project scope.
5. Allocate resources: Assign resources to each task based on their availability and skillset.
This will help ensure that the project is adequately resourced and that resources are not
overworked or underutilized.
6. Monitor and adjust the schedule: Monitor the project's progress regularly and adjust the
schedule as necessary. This will help you stay on track and ensure that the project is
completed within the specified timeline.
Gujarat Technological University 24 MBIT
Project id: 302353 Chapter 5: Project Management
It is also important to keep in mind that unexpected delays or issues may arise during the
project, so it is essential to build some flexibility into the schedule and be prepared to adjust
the timeline accordingly.
CHAPTER 7: IMPLEMENTATION
7.1 IMPLEMENTATION PLATFORM
The implementation platform for a QA based testing project or system can depend on various
factors, such as the requirements and scope of the project, the budget, and the technical
expertise of the team. Here are some possible implementation platforms for a QA based testing
system:
2. On-premises platform: An on-premises platform can provide greater control and security
over the testing environment, as the testing infrastructure is managed and maintained within
the organization's own data center or server room. This approach may be more suitable for
organizations with strict security or compliance requirements.
3. Hybrid platform: A hybrid platform can combine the benefits of both cloud and on-
premises platforms, providing a flexible and scalable testing environment that can be tailored
to the organization's needs.
The selection of the implementation platform should be based on the specific needs and
requirements of the project, and should be evaluated based on factors such as cost, scalability,
security, and technical feasibility.
7.2 TECHNOLOGIES
For a manual QA based testing project or system, the basic technologies used may include:
1. Test management tools: Test management tools such as JIRA, TestRail, or test can be
used to manage test cases, test runs, and defects.
3. Bug tracking tools: Bug tracking tools such as JIRA, Bugzilla, or Mantis can be used to
track and manage software defects or issues.
4. Collaboration tools: Collaboration tools such as Microsoft Teams, Slack, or Asana can
be used to communicate and coordinate testing activities among team members.
5. Documentation tools: Documentation tools such as Microsoft Word or Google Docs can
be used to create and maintain testing documentation, such as test plans, test cases, or user
manuals.
6. Web browsers: Web browsers such as Google Chrome, Mozilla Firefox, or Microsoft
Edge can be used to manually test web applications.
The selection of basic technologies for a manual QA based testing project or system should
be based on the specific requirements and goals of the project, as well as the technical
expertise and resources available within the team or organization.
7.3 RESULTS
Fig 7.3.1(i) increase item and decrease item button missing in cart also
CHAPTER 8: CONCLUSION
To ensure the success of the project, it is crucial to have a clear understanding of the project's
objectives, requirements, scope, and limitations. The project team should have the necessary
technical expertise, resources, and tools to effectively plan, design, and execute the testing
activities.
Overall, a well-executed QA based testing project or system can significantly improve the
quality of the software being developed, reduce the risk of defects or issues, and ultimately
enhance the user experience and satisfaction.
Project id: 302353 Reference
s
REFERENCE
1. Tutorials points
https://www.tutorialspoint.com/management_concepts/stakeholder_management.htm
2. Atlassian
https://www.atlassian.com/agile/project-management/project-management-intro
3. Geekforgeeks
https://www.geeksforgeeks.org/software-testing-basics/
4. Java T point
https://www.javatpoint.com/types-of-software-testing
5. YouTube
https://www.youtube.com/watch?v=MFHbKILH_Ak