STE_microproject[1]
STE_microproject[1]
Tal.Bhor,Dist.Pune–412206(M.S)India.
A MICROPROJECT REPORT
On
Is Submitted by
Subject:-Software Testing
Inpartial fulfilment of
DiplomainT.Y.ComputerEngineering
(AcademicYear2024-2025)
Page | 1
Maharashtra State Board of Technical Education, Mumbai
Certificate
Page | 2
ACKNOWLEDGEMENT
I am personally indebted to a number of people who gave me their useful insights toaid
in my overall progress for this project. A complete acknowledgement would therefore
beencyclopedic. First of all, I would like to give my deepest gratitude to my parents for
permitting me to take up this course.
My heartfelt sense of gratitude goes to our respected Principal Prof. Khopade D. K,for
all his efforts and administration in educating us in his premiere institution. I take this
opportunity to also thank our Head of the Department ,Prof. Khutwad S.S for his
encouragement throughout the seminar.
I would like to express my sincere thanks and gratitude to my guide Prof.Shelar .K.S for
her commendable support and encouragement for the completion of Project with perfection. I
also convey my sincere thanks to Prof. Khutwad S.S his invaluable suggestions and for his
technical support rendered during the course of my project.
I would like to thank all faculty members and staff of the Department of Electronicsand
Communication Engineering for their generous help in various ways for the guidance
ofthisproject.
Page | 3
ABSTRACT
The combined adoption of Agile and DevOps enables organizations to cope with the increasing
complexity of managing customer requirements and requests. It fosters the emergence of a more
collaborative and Agile framework to replace the waterfall models applied to software
development flow and the separation of development teams from operations.
This study aims to explore the benefits of the combined adoption of both models. A qualitative
methodology is adopted by including twelve case studies from international software
engineering companies. Thematic analysis is employed in identifying the benefits of the
combined adoption of both paradigms.
The findings reveal the existence of twelve benefits, highlighting the automation of processes,
improved communication between teams, and reduction in time to market through process
integration and shorter software delivery cycles.
Although they address different goals and challenges, the Agile and DevOps paradigms when
properly combined and aligned can offer relevant benefits to organizations.
The novelty of this study lies in the systematization of the benefits of the combined adoption of
Agile and DevOps considering multiple perspectives of the software engineering business
environment.
Page | 4
INTRODUCTION
The software development process can be viewed as a set of tasks required to produce
high-quality software. The literature shows that the quality of the software produced reflects
the way the process was carried out .Although several software development processes exist,
generic activities common to all of them stand out, as Sommerville highlights, such as software
specification (e.g.,requirements definition, software constraints), software development (e.g.,
software design and implementation), software validation (e.g., software must be validated to
ensure that the implemented functionality conforms to what was specified), and software
evolution (e.g., software evolves as per customer need).
The software development process provides an interaction between users and software
engineers, between users and technology, and between system engineers and technology. In this
sense, software development is an interactive learning process, and the result is an embodiment
of knowledge gathered, transformed, and organized as the process is conducted.
IMPLEMENTATION
Agile implementation is the process of executing a flexible project plan based on developing
small portions of a project at a time. It's an alternative to the waterfall method, with which
progress goes from the idea, to analysis and design, to building the product, testing it, and
then making it.
Implementation of DevOps practices help an organization deliver faster, better, higher quality,
and more reliable software. Successful DevOps relies on a culture of cooperation and
collaboration among all functions of the organization.
Page | 5
MICRO-PROJECTPROPOSAL
• AIMS/BENEFITSOFTHEMICROPROJECT:
1. Deliver early and often. The payoff for waterfall-based projects by definition
takes place at the end, if all. ...
2. Detect errors earlier. ...
3. Facilitate collaboration among DevOps and different lines of business. ...
4. Achieve greater visibility and transparency.
.
• COURSEOUTCOMES:
PROPOSED METHODOLOGY:
Agile refers to an iterative approach which focuses on collaboration, customer feedback, and
small, rapid releases. DevOps is considered a practice of bringing development and operations
teams together. Agile helps to manage complex projects. DevOps central concept is to manage
end-to-end engineering processes.
Page | 6
➢ What Is Agile Software Testing ?
• Agile testing is a software testing practice that follows the Agile software
development methodology. In Agile development, projects tend to evolve during each
sprint among collaborators and shareholders. Agile testing focuses on ensuring quality
throughout the Agile software development process.
• Continuous integration and continuous delivery are two important aspects of agile
testing. In continuous integration, developers integrate their code changes into a
shared mainline several times a day. In continuous delivery, every change that passes
all tests is automatically released into production.
• It breaks the product into small pieces and integrates them for final testing. It can be
implemented in many ways, such as Kanban, XP, Scrum, etc.
Page | 7
The Agile software development focus on the four core values, such as:
• Early and continuous testing: Testers should start testing the software early in the
development process. They should also test the software continuously throughout the
development cycle.
• Whole team approach: In agile development, all team members are responsible for ensuring
the quality of the product. This includes developers, testers, business analysts, and product
owners.
• Frequent deliveries: Agile teams deliver working software frequently, typically every two
weeks.
• Close collaboration: There is close collaboration between all team members in an agile
project. This helps to ensure that everyone is on the same page and that there are no
surprises.
• Customer involvement: Customers involve themselves throughout the agile development
process. They provide feedback at each iteration, which helps the team to make constant
improvements.
Page | 8
➢ Why Is Agile Testing Important?
• Agile testing is important because it helps to ensure that software meets the needs
of the customer. Agile teams work closely with customers to get feedback at each
iteration. This helps to ensure that the software is constantly improving.
• Agile testing also helps to find defects early in the development process. By
conducting frequent releases, agile teams can quickly get feedback from users and
make changes as needed.
How does a standard Agile testing campaign take place? What are the steps
involved?
Development teams can conduct Agile testing in several ways. The most common way is
for Agile teams to integrate their code changes into a shared mainline several times a day.
This allows for increased collaboration to point out project flaws and improve them
quickly.
Another way to perform agile testing is through test-driven development (TDD). In TDD,
developers write unit tests before they write the code for a new feature. These unit tests
define the requirements for the new feature.
Once the developers write the code, they'll perform unit tests to make sure that everything
works as expected.
Page | 9
➢ What is Devop’s Software Testing ?
• The DevOps is a combination of two words, one is software Development, and second
is Operations. This allows a single team to handle the entire application lifecycle, from
development to testing, deployment, and operations. DevOps helps you to reduce the
disconnection between software developers, quality assurance (QA) engineers, and
system administrators.
• DevOps can also be defined as a sequence of development and IT operations with better
communication and collaboration.
• DevOps has become one of the most valuable business disciplines for enterprises or
organizations. With the help of DevOps, quality, and speed of the application delivery
has improved to a great extent.
• DevOps is nothing but a practice or methodology of making "Developers" and
"Operations" folks work together. DevOps represents a change in the IT culture with a
complete focus on rapid IT service delivery through the adoption of agile practices in
the context of a system-oriented approach.
• DevOps stands for development and operations. It’s a practice that aims at merging
development, quality assurance, and operations (deployment and integration) into a
single, continuous set of processes. This methodology is a natural extension of Agile
and continuous delivery approaches.
Page | 10
➢ History of Devops
The DevOps movement started to coalesce some time between 2007 and 2008, when IT
operations and software development communities raised concerns what they felt was a fatal
level of dysfunction in the industry.They railed against the traditional software development
model, which called for those who write code to be organizationally and functionally apart
from those who deploy and support that code.Developers and IT/Ops professionals had
separate (and often competing) objectives, separate department leadership, separate key
performance indicators by which they were judged, and often worked on separate floors or
even separate buildings.
The result was siloed teams concerned only with their own fiefdoms, long hours, botched
releases, and unhappy customers. Surely there’s a better way, they said. So, the two communities
came together and started talking – with people like Patrick Debois, Gene Kim, and John Willis
driving the conversation.
The most obvious and impactful benefit of embracing a DevOps culture is streamlined,
frequent, and high-quality software releases. This not only increases company performance,
but also employee satisfaction.
A DevOps culture fosters high levels of trust and collaboration, results in higher quality
decision making, and even higher levels of job satisfaction, according to the book
“Accelerate: Building and Scaling High Performing Technology Organizations.” Embracing a
DevOps culture is key to building a high-performing engineering organization without
Page | 11
sacrificing employee contentment. It’s a win-win. For an engineer there is nothing like the
feeling of frequently and easily deploying and running stable, high-performing software that
makes its users happy, and for executives the improved business outcomes are a hit.
• Constant collaboration and communication. These have been the building blocks of
DevOps since its dawn. Your team should work cohesively with the understanding of the needs
and expectations of all members.
• Gradual changes. The implementation of gradual rollouts allows delivery teams to release
a product to users while having an opportunity to make updates and roll back if something
goes wrong.
• Shared end-to-end responsibility. When every member of a team moves towards one
goal and is equally responsible for a project from beginning to end, they work cohesively and
look for ways of facilitating other members’ tasks
• Early problem-solving. DevOps requires that tasks be performed as early in the project
lifecycle as possible. So, in case of any issues, they will be addressed more quickly.
Page | 12
➢ 5 Ways to Use DevOps and Agile Services Together
As mentioned earlier, the integration of DevOps and Agile processes will enhance the
customer experience along with quick deliveries of the project to the market. Their conjunction
redefines the path of digital transformation. To ensure effective transformation, follow the
below-mentioned steps:
The integration between Agile and DevOps will bring some fruitful results in the following
areas. Such as;
• The integration involves fewer bugs and fixes faster that increases visibility into secure
areas.
Page | 13
➢ Agile VS Devop’s
Page | 14
CONCLUSION
This study demonstrates that the Agile and DevOps paradigms are not incompatible but
can bring benefits to organizations when properly aligned. While Agile brought about a fast
delivery model aligned with customer expectations, DevOps optimized this system. In this
sense, an alternative that usually gives great results is the adoption of both methodologies. They
not only complement each other but also help companies to face changes in a team.
Changing the strategy and methodology of a team can be a delicate process full of
obstacles. Therefore, organizations must address this challenge in a cross-cutting way within the
organization to avoid isolated silos that do not contribute to collaborative work. Agile creates a
space for more agile work with partial deliveries, while DevOps creates an environment
conducive to managing these processes, with effective communication.
This study offers both theoretical and practical relevant contributions. In the theoretical
dimension, this study has enabled the identification of a set of benefits of the combined
adoption of both paradigms through the adoption of multiple case studies of software
companies in the international market. The study identifies a total of 12 benefits and allows us
to explore the relative relevance of each of them. From a practical perspective, the benefits
identified are relevant to companies that, having adopted Agile and DevOps alone, have not
yet taken steps towards the combined adoption of both models. The findings of the study
made it evident that the two models are not incompatible, but when combined they can
amplify their impacts on organizations.
Page | 15
REFERENCE
Page | 16