Prac 1-10 SE
Prac 1-10 SE
1.Introduction
Managing employees is a big part of running any organization. It involves keeping track of their
details, performance, and communication. Doing this manually or with outdated systems often leads
to mistakes and wasted time. An Employee Management System (EMS) can solve these problems
by organizing everything in one place and making processes faster and easier.
1.1 Problem Statement
Right now, many organizations handle employee data using paper records or old systems. This can
lead to mistakes, delays, and difficulties in finding or updating information. An EMS can automate
these tasks, helping organizations save time and reduce errors while improving productivity.
1.2 Purpose of the System
The purpose of an EMS is to make it easy to manage employee information, track performance, and
handle tasks like attendance, payroll, and leave requests. It provides tools for HR staff to add,
update, and view employee records quickly and efficiently.
1.3 Scope of the System
The scope of the Employee Management System includes the following key functionalities:
• Employee Records: A central place to store employee details like name, job title, and contact
info.
• Performance Tracking: Tools to monitor and review employee performance.
• Attendance and Leave: Track attendance, approve leave requests, and calculate leave
balances.
• Payroll Integration: Automatically calculate salaries based on attendance and other data.
• Access Control: Limit access to sensitive information to authorized users only.
• Reports: Create reports on attendance, performance, and other metrics.
• Search Function: Find employee details using filters like name or department.
This system is perfect for medium and large organizations that need a secure and scalable solution.
1
1.4 Existing System and Literature Review(can be in tabular format also)
In the past, organizations managed employee data manually, which was slow and error-prone. Over
time, desktop-based systems were introduced, but they lacked flexibility. Today, web-based systems
like BambooHR and Zoho People make managing employees easier by offering cloud storage,
mobile access, and better features.
Modern systems also use AI to analyze data and give recommendations, and mobile apps let
employees check attendance or request leave on the go. Cloud-based systems are now common, as
they are cost-effective and easy to maintain. However, challenges like high costs, training needs,
and data security still exist.
Despite these advancements, challenges persist. Implementation costs can be high for small
organizations, and training is necessary for effective use. Data security is also a critical concern
when dealing with sensitive employee information.
Limitations
• The system might be expensive for smaller organizations.
• Customization might be needed to fit specific needs.
• It requires stable internet and IT infrastructure to work properly.
2
2. Future Scope
The Employee Management System has a bright future, with many new possibilities to make it even
better and easier to use. Here are some key ideas for improvement:
• Artificial Intelligence and Machine Learning Integration
• Advanced AI algorithms can enhance personalized recommendations, helping users
discover new resources based on their interests, borrowing history, and search
behavior.
• Automated classification and metadata extraction for new materials can minimize
manual cataloging efforts.
• Predictive analytics can be used to analyze trends in library usage, suggesting
resource acquisitions tailored to the changing needs of the community.
• Enhanced Search and Discovery
• The adoption of Natural Language Processing (NLP) will allow more intuitive and
human-like search experiences. Users will be able to find resources by asking questions
or using conversational queries.
• Semantic search capabilities can help users find related materials, even with vague or
imprecise search terms, increasing the chances of resource discovery.
• Smart Libraries Using IoT (Internet of Things)
• IoT-enabled libraries can offer real-time inventory tracking of physical resources,
ensuring books and materials are accurately located.
• Self-service kiosks, integrated with IoT, could enable seamless borrowing and returning
workflows, even during non-operational hours.
• Cloud-Based and Distributed Systems
• Greater reliance on cloud-based services will facilitate centralized management for
multi-branch libraries and consortiums.
• Real-time data synchronization across branches will ensure users have consistent
experiences regardless of their location.
• Cloud LMS will lower maintenance costs, as libraries outsource software updates and
infrastructure management to service providers.
• Mobile-First and Progressive Web Applications (PWA)
Future LMS platforms will increasingly cater to mobile users with apps and PWAs,
providing on-the-go access to resources, reminders, and digital catalogs.Augmented Reality
(AR) enhancements can allow users to navigate physical libraries or browse through
bookshelves digitally using mobile
• Employee Engagement and Feedback
Employee engagement is essential for boosting productivity and retaining talent. Integrating
feedback mechanisms and engagement features into an Employee Management System
(EMS) creates a more connected and motivated workforce.
3
• Conclusion
An Employee Management System makes managing employees easier and more efficient. It saves
time, reduces errors, and improves productivity by automating routine tasks. As technology
improves, these systems will become even smarter and more useful for businesses everywhere. It is
a valuable tool for modern organizations, helping manage employee data and streamline HR
processes. By adopting advanced technologies like AI, IoT, and cloud services, organizations can
improve efficiency and employee satisfaction. The system will continue to evolve, providing better
solutions for the changing needs of the workforce.
4
Practical-2
Project planning and scheduling are essential steps in system development. These processes involve
setting objectives, breaking tasks into manageable parts, allocating resources, and estimating
timelines to ensure successful project completion. In the case of an Employee Management System
(EMS), planning includes defining system features, designing its architecture, developing the
application, and ensuring timely delivery.Scheduling assigns deadlines and milestones, helping track
progress, manage risks, and allocate resources effectively.
An Employee Management System (EMS) is software that simplifies tasks like employee data
management, performance tracking, leave management, and payroll processing. Proper project
planning and scheduling ensure that the system meets organizational needs and is delivered on time.
• Flexibility: Agile allows for changes in requirements, even in the middle of development.
• Frequent Deliverables: The system is built in smaller parts, ensuring continuous progress.
• Improved Collaboration: Regular feedback from stakeholders leads to better outcomes.
• Reduced Risk: Frequent testing and adjustments reduce the chances of project failure.
5
Concept and Inception
Design Steps:
o Plan the database schema. Deliverable: Wireframes, database schema, and basic
working prototypes.Develop user interface mockups for user-friendly interaction with
the system.
Objective: Develop the core features in multiple sprints. Each sprint focuses on a specific
module:.
Development Steps:
6
Deployment and User Training (Sprint 11-12) Objective:
Deployment Steps:
1. Task Identification:
Identify specific tasks needed to develop and deploy the LMS, such as requirement
gathering, module design, testing, and deployment.
2. Task Sequencing and Dependencies:
Some tasks depend on others to be completed first. For
example: o The User Management Module depends on
database design. o Testing can only begin once all modules are
implemented.
3. Estimating Task Duration:
Estimate the time required to complete each activity based on complexity and available
resources.
4. Resource Allocation:
Assign team members to specific tasks according to their expertise. Example:
o The Database Developer works on database design during weeks 2–3.
o QA Engineers conduct testing during weeks 8–9.
5. Milestones:
Define key checkpoints in the project, such as completion of requirement analysis, testing,
and deployment.
7
Table :1 Schedule Overview
Task Duration Description
Requirement Analysis 1 week Document functional and non-functional requirements.
System Design 2 weeks Create system architecture, data flowcharts, and mockups.
Employee Registration Develop features for employee registration and
1 week
Module management.
Leave Management Module 1 week Implement leave tracking and approvals
Payroll Module 1 week Create payroll processing functionality.
Performance Tracking
1 week Develop performance evaluation features.
Module
Notification and Reports
1 week Implement reminders, notifications, and reporting.
Module
Conduct system testing, including unit and integration
Testing 1 week
testing
Deployment & Training 1 week Deploy EMS and train HR staff..
2.3.1 Project scheduling Using Gantt Chart
A Gantt Chart is a visual scheduling tool that shows tasks along a timeline, their durations, dependencies,
and milestones. Below is an illustration of how the EMS tasks are scheduled over 7 Sprint.
A well-structured schedule ensures that the Employee Management System development progresses
systematically while maximizing efficiency, meeting deadlines, and delivering a high-quality product. By
visualizing timelines and resource usage through tools like Gantt charts, the project achieves its goals in
a planned and controlled manner.
8
● System Analyst: Handles requirements gathering and documentation.
● Database Developer: Designs and optimizes the database.
● Front-End Developer: Creates an intuitive user interface for both librarians and members.
● Back-End Developer: Implements APIs, system modules, and business logic.
● QA Engineer: Conducts thorough testing of the system.
2.6 Deliverables
Key deliverables for the EMS project include:
By following the Agile Model, the development of the Employee Management System becomes more flexible
and adaptable to changes. Each sprint ensures steady progress and allows for continuous improvements. The
scheduling and resource allocation strategies help the project stay on track, while risk mitigation strategies
ensure a successful outcome. Through effective planning, the EMS will meet organizational requirements and
provide a seamless user experience.
9
Practical 3
Cost and Effort Estimation for Software Development
Aim
Perform a cost and effort estimation for the Employee Management System (EMS) by understanding
the scope of the software to be developed.
Cost estimation and effort analysis are essential for planning and managing software projects,
helping predict the required resources, time, and budget. Function Point Analysis (FPA) is a widely
used method to estimate software size, effort, and cost. It measures the functionality delivered to the
user, independent of programming languages or technologies.
Function points are calculated based on five key components: External Inputs (EI), External Outputs
(EO), External Inquiries (EQ), Internal Logical Files (ILF), and External Interface Files (EIF). Each
component is assigned a weight based on its complexity (Low, Medium, High), and these are
summed up to determine the system's size. This quantitative measure is then used with productivity
rates or cost factors to estimate the total effort (in person-hours) and cost of the project, ensuring
accurate and standardized planning.
Formula:
VAF = 0.65 + (TDI × 0.01)
AFP = UFP × VAF
Where TDI (Total Degree of Influence) is the sum of the ratings for 14 General System
Characteristics (GSCs).
AFP = 44 × 1.18 = 52
3.9 Conclusion
Function Point Analysis (FPA) provides a structured approach to estimating software development
costs and effort. By analyzing system functionalities, classifying them into function types, and
applying standard weightage, we can derive accurate estimations. The EMS, estimated at 52 function
points, requires approximately 2.6 person-months of effort and a $13,000 budget for development.
These estimations enable better planning, budgeting, and resource allocation for the successful
execution of the project.
1. Presentation Layer: A web-based user interface that allows employees, HR, and admins to
interact with the system.
2. Business Logic Layer: Handles core functionalities such as attendance tracking, payroll
processing, and leave management.
3. Database Layer: Stores all employee records, attendance logs, payroll data, leave requests,
and performance reviews.
● Admin Dashboard: Displays employee records, attendance summaries, and report generation
options.
● HR Dashboard: Manages payroll, leave requests, and performance evaluations.
● Employee Dashboard: Allows employees to view their attendance, leave balances, and
performance reviews.
● Payroll Screen: Displays salary details, deductions, bonuses, and net pay.
● Leave Application Screen: Allows employees to apply for leave and view approval status.
● Performance Review Screen: Displays employee ratings and feedback history.
● Notification System: Pop-up and email alerts for payroll updates, leave approvals, and
performance review submissions.
The database design of the Employee Management System is structured to efficiently store and manage
information related to employee , users, transactions. It ensures data integrity, consistency, and fast retrieval of
information. The database follows a relational model, with multiple interconnected tables representing
different entities and their relationships.
The database design for the Employee Management System is structured to efficiently store and
manage information related to employees, attendance, payroll, and performance. It ensures data
integrity, consistency, and fast retrieval.
1.HR Managers:
● Login to the system.
● Track employee activities and records.
● Generate reports related to employee performance and attendance.
● Oversee payroll processing.
● Manage attendance records.
2.System Administrators:
● Login to the system.
● Check attendance details of employees.
● Provide technical support for system-related issues.
Use Cases
A use case represents a specific functionality of the system that is performed by an actor. The key use cases of
the Employee Management System are:
For HR Managers:
● Login – Access the system securely.
● Track Employee – Monitor employee records and performance.
● Generate Reports – Create reports related to attendance, payroll, and employee performance.
● Oversee Payroll – Manage salary processing and payroll details.
● Manage Attendance – Record and analyze employee attendance.
For Administrators:
● Apply for Leave – Submit leave requests for approval. ● View Attendance – Check personal attendance
history.
● Check Payslips – View and download salary slips.
1.Class Name
● The name of the class appears in the first partition.
2.Class Attributes
● Attributes are shown in the second partition.
● The attribute type is shown after the colon.
● Attributes map onto member variables (data members) in code.
3.Class Operations (Methods)
● Operations are shown in the third partition. They are services the class provides.
● The return type of a method is shown after the colon at the end of the method signature.
● The return type of method parameters is shown after the colon following the parameter
name.
● Operations map onto class methods in code
●
4.Class Relationships
A class may be involved in one or more relationships with other classes. A relationship can be one of
the following types: (Refer to the figure on the right for the graphical representation of relationships).
Inheritance (or Generalization):
● Represents an "is-a" relationship.
● An abstract class name is shown in italics.
● SubClass1 and SubClass2 are specializations of Super Class.
● A solid line with a hollow arrowhead that point from the child to the parent class
Aggregation:
A special type of association. It represents a "part of" relationship.
● Class2 is part of Class1.
● Many instances (denoted by the *) of Class2 can be associated with Class1.
● Objects of Class1 and Class2 have separate lifetimes.
● A solid line with an unfilled diamond at the association end connected to the class of
composite
Composition:
A special type of aggregation where parts are destroyed when the whole is destroyed.
● Objects of Class2 live and die with Class1.
● Class2 cannot stand by itself.
● A solid line with a filled diamond at the association connected to the class of composite.
Dependency:
● Exists between two classes if the changes to the definition of one may cause changes to the
other (but not the other way around).
● Class1 depends on Class2
● A dashed line with an open arrow
Multiplicity
How many objects of each class take part in the relationships and multiplicity can be expressed as:
● Exactly one - 1
● Zero or one - 0..1
● Many - 0..* or *
● One or more - 1..*
2. Interfaces
Specify a set of operations that a component offers or requires, serving as a contract between the
component and its environment.
Symbol: Circles (lollipops) for provided interfaces and half-circles (sockets) for required interfaces.
Function: Define how components communicate with each other, ensuring that components can be
developed and maintained independent.
3.Relationships
Depict the connections and dependencies between components and interfaces.
● Symbol: Lines and arrows.
-Dependency (dashed arrow): Indicates that one component relies on another.
● Function: Visualize how components interact and depend on each other, highlighting
communication paths and potential points of failure.
●
4. Ports
Role: Represent specific interaction points on the boundary of a component where interfaces are
provided or required.
Symbol: Small squares on the component boundary.
Function: Allow for more precise specification of interaction points, facilitating detailed design and
implementation.
5. Artifacts
Represent physical files or data that are deployed on nodes.
Symbol: Rectangles with the artifact stereotype («artifact»).
Function: Show how software artifacts, like executables or data files, relate to the components.
Aim: Design function-oriented diagram for the selected system using Data Flow Diagrams
8.1 Data Flow Diagrams(DFD)
Purpose of Data Flow Diagrams:
A data flow diagram (DFD) maps out the flow of information for any processor system.
It uses defined symbols like rectangles, circles and arrows, plus short text labels, to
show data inputs, outputs, storage points and the routes between each destination.
● Entities:
- Entities include source and destination of the data. Entities are represented by
rectangle with their corresponding names. ● Process:
- The tasks performed on the data is known as process. Process is represented by
circle. Somewhere round edge rectangles are also used to represent process. ● Data
Storage:
- Data storage includes the database of the system. It is represented by rectangle with
both smaller sides missing or in other words within two parallel lines.
● Data Flow:
- The movement of data in the system is known as dataflow. It is represented with the
help of arrow. The tail of the arrow is source and the head of the arrow is destination.
Level 1
Practical 9
Behavioral View diagram
Aim: Design the behavioral view diagram for the selected system. Use following diagrams
1. Interaction Diagrams a. Sequence Diagrams b. Collaboration Diagram
Dimpal Bagda(92310103023) 34 TC4 - C
2. State–Chart Diagrams
3. Activity Diagrams
Behavioral diagrams are used to visualize, specify, construct, and document the dynamic aspects of
a system. It shows how the system behaves and interacts with itself and other entities (users, other
systems). They show how data moves through the system, how objects communicate with each
other, how the passage of time affects the system, or what events cause the system to change
internal states. Since behavior diagrams illustrate the behavior of a system, they are used extensively
to describe the functionality of software systems. As an example, the activity diagram describes the
business and operational step-by-step activities of the components in a system. In other words, a
behavioral diagram shows how the system works ‘in motion’, that is how the system interacts with
external entities and users, how it responds to input or event and what constraints it operates under.
❖ Name
- It is used to refer to the life line within a specific interaction.
- The name of a life line is optional.
❖ Type
- It is the name of a classifier of which the life line represents an instance.
❖ Selector
- It is a Boolean condition which is used to select a particular instance that satisfies the
requirement.
- Select or attribute is also optional.
Messages
● A message is a specific type of communication between two lifelines in an interaction. A message
involves following activities ● A call message which is used to call an operation. ● A message to
create an instance.
● A message to destroy an instance.
● For sending a signal.
Message Type Description Example
Notation Symbol
Actor
● A type of role played by an entity
that interacts with the subject (e.g.,
by exchanging signals and data)
● External to the subject (i.e., in the
sense that an instance of an actor is
not a part of the instance of its
corresponding subject).
● Represent roles played by human
users, external hardware, or other
subjects.
Lifeline
● A lifeline represents an individual
participant in the Interaction.
Activations
● A thin rectangle on a lifeline) represents the period
during which an element is performing an operation.
● The top and the bottom of the of the rectangle are
aligned with the initiation and the completion time
respectively
Return Message
● A message defines a particular communication
between Lifelines of an Interaction.
● Return message is a kind of message that represents
the pass of information back to the caller of a
corresponded former message.
Self Message
● A message defines a particular communication
between Lifelines of an Interaction.
● Self message is a kind of message that represents the
invocation of message of the same lifeline.
Recursive Message
● A message defines a particular communication
between Lifelines of an Interaction.
● Recursive message is a kind of message that represents
the invocation of message of the same lifeline. It's
target points to an activation on top of the activation
where the message was invoked from.
Create Message
● A message defines a particular communication
between Lifelines of an Interaction.
● Create message is a kind of message that represents
the instantiation of (target) lifeline.
Destroy Message
● A message defines a particular communication
between Lifelines of an Interaction.
● Destroy message is a kind of message that represents
the request of destroying the lifecycle of target lifeline.
Note
A note (comment) gives the ability to attach various remarks
to elements. A comment carries no semantic force, but may
contain information that is useful to a modeler.
Message and Focus of Control
● An Event is any point in an interaction where something occurs.
● Focus of control: also called execution occurrence, an execution occurrence
● It shows as tall, thin rectangle on a lifeline)
● It represents the period during which an element is performing an operation. The top and the
bottom of the rectangle are aligned with the initiation and the completion time respectively.
Sequence Fragments
● Sequence fragments make it easier to create and maintain accurate sequence diagrams
● A sequence fragment is represented as a box, called a combined fragment, which encloses a
portion of the interactions within a sequence diagram
● The fragment operator (in the top left cornet) indicates the type of fragment
● Fragment types: ref, assert, loop, break, alt, opt, neg
Operator Fragment Type
alt Alternative multiple fragments: only the one whose condition is true will execute.
opt Optional: the fragment executes only if the supplied condition is true. Equivalent to an alt
only with one trace.
par Parallel: each fragment is run in parallel.
loop Loop: the fragment may execute multiple times, and the guard indicates the basis of
iteration.
Collaboration diagrams (known as Communication Diagram) are used to show how objects
interact to perform the behavior of a particular use case, or a part of a use case. Along with
sequence diagrams, collaboration are used by designers to define and clarify the roles of the
objects that perform a particular flow of events of a use case. They are the primary source of
information used to determining class responsibilities and interfaces.
● A Collaboration is a collection of named objects and actors with links connecting them. They collaborate
in performing some task.
● A Collaboration defines a set of participants and relationships that are meaningful for a given set of
purposes
● A Collaboration between objects working together provides emergent desirable functionalities in Object-
Oriented systems
● Each object (responsibility) partially supports emergent functionalities
● Objects are able to produce (usable) high-level functionalities by working together
● Objects collaborate by communicating (passing messages) with one another in order to work together
Objects
An object is represented by an object symbol showing the name of the object and its class
underlined, separated by a colon:
Object_name : class_name
You can use objects in collaboration diagrams in the following ways:
● Each object in the collaboration is named and has its class specified
● Not all classes need to appear
● There may be more than one object of a class
● An object’s class can be unspecified. Normally you create a collaboration diagram with
objects first and specify their classes later.
Actors
Normally an actor instance occurs in the collaboration diagram, as the invoker of the interaction. If
you have several actor instances in the same diagram, try keeping them in the periphery of the
diagram.
● Each Actor is named and has a role
● One actor will be the initiator of the use case
Links
Links connect objects and actors and are instances of associations and each link corresponds to an
association in the class diagram Links are defined as follows:
● A link is a relationship among objects across which messages can be sent. In collaboration
diagrams, a link is shown as a solid line between two objects.
● An object interacts with, or navigates to, other objects through its links to these objects.
● A link can be an instance of an association, or it can be anonymous, meaning that its
association is unspecified.
● Message flows are attached to links, see Messages.
Messages
A message is a communication between objects that conveys information with the expectation that
activity will ensue. In collaboration diagrams, a message is shown as a labeled arrow placed near a
link.
● The message is directed from sender to receiver
● The receiver must understand the message
● The association must be navigable in that direction
Time Event
● This refers to an event that stops the flow for a
time; an hour glass depicts it.
Merge Event
● A merge event brings together multiple flows that
are not concurrent.
Sent and Received Signals
● They appear in pairs of sent and received signals,
because the state can't change until a response is
received.
Interrupting Edge
● They An event, such as a cancellation, that
interrupts the flow denoted with a lightning
bolt.
1. Tool Overview: Provide an overview of several commonly used testing tools, including their
features and capabilities.
2. Types of Testing Supported: Discuss the types of testing each tool supports (e.g., unit testing,
integration testing, system testing, regression testing).
3. Comparison: Compare and contrast the tools in terms of ease of use, compatibility, cost, and
effectiveness.
4. Practical Applications: Analyze the real-world application of these tools in software development
projects.
5. Pros and Cons: Highlight the advantages and disadvantages of each testing tool based on your
research.
1. Tool Overview
1.1. Selenium
Overview: Selenium is an open-source tool primarily used for automating web browsers. It
provides a suite of tools for different aspects of automation (Selenium WebDriver, Selenium IDE,
and Selenium Grid).
Features:
o Supports multiple programming languages (Java, Python, C#, Ruby, etc.).
o Cross-browser testing support (Chrome, Firefox, Internet Explorer, etc.).
o Can automate web applications across different operating systems.
o Provides integration with CI/CD tools like Jenkins.
1.2. JUnit
Overview: JUnit is a widely used testing framework for Java applications. It supports unit testing
and is widely adopted in the Java development community.
Features:
o Framework for writing and running tests.
o Annotations for setting up and running tests (e.g., @Test, @Before, @After).
o Integration with build tools like Maven and Gradle.
o Supports test-driven development (TDD) practices.
1.3. LoadRunner
Overview: LoadRunner is a performance testing tool developed by Micro Focus. It is used for
load testing and stress testing to simulate multiple virtual users interacting with an application.
1.4. Postman
Overview: Postman is a popular tool for testing APIs. It provides a user-friendly interface for
designing, sending, and analyzing HTTP requests and responses.
Features:
o Supports RESTful API testing.
o Can create and execute automated API test scripts.
o Allows parameterization and data-driven testing.
o Supports collection management and automated testing using Postman Collections.
1.5. TestComplete
Overview: TestComplete is an automated testing tool for functional testing of desktop, web, and
mobile applications.
Features:
o Supports keyword-driven and script-based testing.
o Integrates with CI/CD tools.
o Record-and-playback functionality for ease of use.
o Cross-platform testing support (Windows, macOS, and mobile platforms).
2.1. Selenium
2.2. JUnit
2.3. LoadRunner
2.4. Postman
2.5. TestComplete
4.1. Selenium
4.2. JUnit
Real-World Application: JUnit is extensively used by Java developers for unit testing and is
integrated into build systems like Maven and Gradle. It is a staple tool in Test-Driven
Development (TDD) workflows.
4.3. LoadRunner
4.4. Postman
Real-World Application: Postman is widely used by developers and QA testers for API testing.
It is often employed in scenarios where microservices or REST APIs need to be tested
independently of the front-end interface.
4.5. TestComplete
5.1. Selenium
Pros:
o Open-source and free to use.
o Supports various programming languages and browsers.
o Strong community support and widespread adoption.
Cons:
5.2. JUnit
Pros:
o Simple and easy to use for Java developers.
o Seamlessly integrates with other tools in the Java ecosystem.
o Encourages Test-Driven Development.
Cons:
o Limited to Java applications.
o Cannot be used for functional or UI testing.
5.3. LoadRunner
Pros:
o Powerful tool for performance and load testing.
o Simulates thousands of virtual users to test scalability.
o Detailed reporting and analysis.
Cons:
o Expensive, with a high cost for licensing.
o Steep learning curve for beginners.
5.4. Postman
Pros:
o Free for basic usage.
o User-friendly interface and easy to set up.
o Great for API testing and automated script execution.
Cons:
o Limited to API testing; cannot handle UI or functional testing.
o Lacks advanced performance testing features.
5.5. TestComplete
Pros:
o Supports functional, regression, and performance testing.
o Easy to use with record-and-playback functionality.
o Cross-platform testing for web, mobile, and desktop applications.
Cons:
o Expensive commercial product.
o May not be suitable for very complex testing scenarios.
Conclusion