mysvvt
mysvvt
mysvvt
PRACTICAL FILE
SOFTWARE VERIFICATION VALIDATION AND
TESTING
Session (2021-2025)
1
INDEX
Sno Practical Page Date Signature
Name No
system)
To identify the usage of Regression Testing
6.
2
PRACTICAL 1
AIM: To identify the role of software in today’s world across a few significant
domains related to day to day life.
1. Health Care
2. Airlines
3. Banking Insurance
4. Retail
5. Education
Health Care:
The rise of information technology has delivered numerous benefits in
various industries, including healthcare. Health institutions and medical
firms are now shifting their focus towards the application of IT by the
healthcare software systems.
Healthcare Software:
Many hospitals now turn to the Electronic Health Record (EHR) platform as
their main patient file server. Nursing departments now utilize
appointment scheduling software for better tracking and scheduling of
shifts. The software for handling medical equipment is also used to
monitor patients at the ICU (intensive care units).
Google leads the way mainly with AI and big data solutions, leveraging these in
all areas of healthcare from diagnosis to insurance.
3
Key benefits of healthcare software:
Airlines:
They can be divided into four types: landside operations, airside operations, billing and
invoicing, and information management.
Airlines operations include aircraft landing and navigation, airport traffic management,
runway management, and ground handling safety.
Software providers: AIS, Adacel, Transoft, Pacific Controls, SITA, ACAMS Airport
Tower Solutions
4
Airside operations comprise control and facilitation of aircraft handling and parking.
This includes air traffic control equipment and management solutions for air
navigation. Most airside solutions are oriented toward aeronautics and plane
allocation. Aeronautical Fixed Telecommunication Network (AFTN) Systems. AFTN
Systems handle communication and exchange of data including navigation services.
Usually, airports exchange traffic environment messages, safety messages,
information about the weather, geographic material, disruptions, etc. They serve as
communication between airports and aircraft.
Each flight an airport handles generates a defined revenue for the airport
paid by the airline operating the aircraft. Aeronautical invoicing systems
make payment possible for any type and size of aircraft. It accepts
payments in cash and credit in multiple currencies. The billing also extends
to ATC services.
1. Banking Insurance:
By nature, the banking, financial services, and insurance (BFSI) sector have
always been data- driven. However, today, institutions in the BFSI sector
are increasingly striving to adopt a full- fledged data-driven approach that
can only be possible with Big Data technologies. With Big Data Analytics,
companies in the BFSI sector can not only grow their business but also work
towards increasing customer satisfaction.
The most significant areas of application of Big Data in the BFSI industry are:
By leveraging Big Data technologies to dissect the data derived from digital
channels (like social media), BFSI institutions to enhance their quality of
products/services as they can gain a deeper understanding of customer
pain points, preferences, and needs
5
It is not an unknown fact that the BFSI sector has long been the victim of
fraud. Over time, the techniques and methods of hacks and breaches have
evolved and upgraded to become more complex and sophisticate.
Enhanced risk management
When it comes to risk management, Big Data finds application in areas like
operational risks, integrated risk management, fraud management, credit
management, and market and commercial loans. Big Data tools can:
The risk management teams can obtain highly accurate risk intelligence by gathering
data from disparate sources in real-time.
Apart from all the ‘technical’ benefits, Big Data has another pivotal benefit
– enhancing the employee experience. By leveraging Big Data tools and
techniques correctly, companies can track, monitor, and analyze the
performance metrics of their employees. This will help identify the
strongest performers in the company as well as the weak or unhappy
performers.
2. Retail:
3. Education
7
Global Accessibility: Online courses and educational resources created through software
engineering can be accessed by learners worldwide. This has expanded access to education
for people who may not have had traditional opportunities for learning.
Accessibility for Diverse Learners: Software engineering can lead to the development of tools
and applications that cater to diverse learning needs, including individuals with disabilities.
This ensures that education is inclusive and accessible to all.
Summary
In summary, software engineering is crucial in education because it enables the development
of innovative tools, platforms, and methodologies that enhance the learning experience,
improve administrative efficiency, and provide access to education on a global scale. It
empowers both educators and learners, making education more effective and inclusive
8
PRACTICAL-2
AIM: To identify any scenario and identify suitable software development model for the given
scenario.
Scenario: Developing a New Online Banking System.
Explanation: The most suitable model is spiral model.
Spiral model :
Spiral model is one of the most important Software Development Life Cycle models, which
provides support for Risk Handling. In its diagrammatic representation, it looks like a spiral
with many loops. The exact number of loops of the spiral is unknown and can vary from
project to project. Each loop of the spiral is called a Phase of the software development
process. As the project manager dynamically determines the number of phases, so the
project manager has an important role to develop a product using the spiral model.
Each phase of the Spiral Model is divided into four quadrants as shown in the above figure.
The functions of these four quadrants are discussed below-
Requirements are gathered from the customers and the objectives are identified, elaborated,
and analyzed at the start of every phase. Then alternative solutions possible for the phase are
proposed in this quadrant.
The development of an online banking system involves a high level of risk due to the sensitivity
of financial transactions and the need for security. The Spiral Model allows for thorough risk
analysis and management at each iteration, ensuring that potential risks are identified and
mitigated early in the development process.
9
3.Changing Requirement
In the banking industry, requirements are likely to change over time due to evolving
regulations, market demands, and technological advancements. The Spiral Model
accommodates changes through its iterative nature, allowing for the incorporation of new
requirements in subsequent spirals.
Users in the banking sector might have specific requirements regarding the user interface,
security features, and functionality. The Spiral Model facilitates the creation of prototypes in
each iteration, allowing users to provide feedback and ensuring that the final product aligns
with their expectations.
The Spiral Model supports incremental development, meaning that the project is developed
and delivered in small parts. This can be beneficial for the banking system as it allows for the
gradual introduction of features, ensuring that each component is thoroughly tested and
validated before being integrated into the complete system.
The Spiral Model emphasizes verification and validation at each iteration. This is crucial for a
banking system where accuracy and security are paramount. Regular testing and validation
ensure that the system meets the required standards and is free from critical errors.
During the third quadrant, the identified features are developed and verified through testing.
At the end of the third quadrant, the next version of the software is available.
In the fourth quadrant, the Customers evaluate the so far developed version of the software.
At the end, planning for the next phase is started.
A risk is any adverse situation that might affect the successful completion of a software
project. Such risk resolutions are easier done by developing a prototype. The spiral model
10
supports coping up with risks by providing the scope to build a prototype at every phase of
the software development.The Prototyping Model also supports risk handling, but the risks
must be identified completely before the start of the development work of the project.In each
phase of the Spiral Model, the features of the product dated and analyzed, and the risks at
that point in time are identified and are resolved through prototyping. Thus, this model is
much more flexible compared to other SDLC models.
The Spiral model is called a Meta-Model because it subsumes all the other SDLC models. For
example, a single loop spiral actually represents the Iterative Waterfall Model. The spiral
model uses the approach of the Prototyping Model by building a prototype at the start of each
phase as a risk- handling technique. Also, the spiral model can be considered as supporting
the Evolutionary model – the iterations along the spiral can be considered as evolutionary
levels through which the complete system is built.
Advantages
1.Risk Handling: The projects with many unknown risks that occur as the development
proceeds, in that case, Spiral Model is the best development model to follow due to the risk
analysis and risk handling at every phase.
2.Good for large projects: It is recommended to use the Spiral Model in large and complex
projects.
4.Customer Satisfaction: Customer can see the development of the product at the early phase
of the software development and thus, they habituated with the system by using it before
completion of the total product.
Disadvantages
1.Complex: The Spiral Model is much more complex than other SDLC models.
3.Too much dependability on Risk Analysis: The successful completion of the project is very
much dependent on Risk Analysis. Without very highly experienced experts, it is going to be a
failure to develop a project using this model.
11
4.Difficulty in time management: As the number of phases is unknown at the start of the
project, so time estimation is very difficult.
Conclusion
In summary, the Spiral Model is suitable for the development of a new online banking system
due to its ability to manage risks effectively, accommodate changing requirements, facilitate
prototyping and user feedback, support gradual development, and emphasize verification and
validation throughout the development process.
PRACTICAL – 3
AIM: To classify the requirements into functional and non-functional requirements. Write at
least four functional and non-functional requirements, for any two scenarios.
Functional Requirements Non-functional requirements
Functional requirements help to understand the They help to understand the system's
functions of the system. performance.
Functional requirements are mandatory. While non-functional requirements are not
mandatory.
They are easy to define. They are hard to define.
They describe what the product does. They describe the working of the product.
It concentrates on the user's requirement. It concentrates on the expectation and
experience of the user.
It helps us to verify the software's functionality. It helps us to verify the software's
performance.
These requirements are specified by the user. These requirements are specified by the
software developers, architects, and technical
persons.
There is functional testing such as API testing, There is non-functional testing such as
system, integration, etc. usability, performance, stress, security, etc.
Examples of the functional requirements are - Examples of the non-functional requirements
Authentication of a user on trying to log in to are- The background color of the screens should
the system. be light blue.
These requirements are important to system These are not always the important
operation. requirements; they may be desirable.
Completion of Functional requirements While the system will not work only with non-
allows the system to perform, irrespective functional requirements.
of meeting the non-functional
requirements.
12
Scenario 1: Ecommerce Website
Functional Requirements:
1.User Registration and Authentication: - The system must allow users to register with a valid
email address and password. - Users must be able to log in securely with their credentials.
Registered users should have personalized profiles.
2.Product Management: - The system should support the addition, modification, and removal
of products by administrators. - Users should be able to view detailed information about
products. - Shopping carts must allow users to add, remove, and update items.
3.Order Processing: - Users must be able to place orders securely. - The system should
generate order confirmations with detailed information. - Administrators should have access
to order history and processing tools.
4.Payment Integration: - The system must support secure online payments. - Users should be
able to choose from various payment methods (credit card, PayPal, etc.).
1.Performance: - The system should load product pages within 3 seconds. - Concurrent user
support: The website must handle at least 1000 simultaneous users.
2.Security: - User data must be encrypted during transmission. - The system should implement
secure coding practices to prevent common vulnerabilities.
3.Scalability: - The system should scale to accommodate a 20% increase in users over the next
year. - Database scalability: The database should handle a 30% increase in product entries.
4.Usability: - The website should be accessible and usable on major web browsers. - Mobile
responsiveness: The interface must adapt to various screen sizes.
1.Book Management: - Librarians should be able to add, edit, and delete book records. – User
must be able to search for books based on title, author, or genre. - The system should display
real-time availability status for each book.
2.Member Management: - Librarians should be able to register new members and update
member information. - Users should have the ability to view their borrowing history. - The
system must send overdue notifications to members.
3.Checkout and Return: - Users must be able to check out books, and the system should
update availability. - The system must track and manage return dates for borrowed items.
13
4.Reporting: - Librarians should have access to reports on popular books, overdue books, and
member statistics.
1.Reliability: - The system should be available 99.9% of the time. - Backup and recovery:
Regular backups must be performed, and data recovery should be possible within 24 hours.
2.Data Integrity: - The system must ensure the integrity of the book and member data.
Transactions and updates should be atomic to prevent data corruption.
3.Response Time: - The system should respond to book search queries within 2 seconds. -
Check-out and return processes should be completed in less than 5 seconds.
4.Compliance: - The system should adhere to privacy regulations regarding user data. – The
interface should comply with accessibility standards.
PRACTICAL – 4
AIM: Do comparative study of various Software development models.
A software process model is an abstraction of the software development process. The models
specify the stages and order of a process. So, think of this as a representation of the order of
activities of the process and the sequence in which they are performed.
Every software development process model includes system requirements as input and a
delivered product as output. Many such model have been proposed over the years. Let us
look at several most popular models to understand their commonalities and differences.
There are many kinds of process models for meeting different requirements. We refer to these
as SDLC models (Software Development Life Cycle models).
14
process into the phases as shown in the figure 1.The different phases of this model are
feasibility study, requirement analysis and specifications design, coding and unit testing,
integration and system testing and maintenance. The different phases starting from the
feasibility study to the integration and system testing are known as the development phases.
During each phase of the life cycle, a set of well-defined activities are carried out. Each phase
typically requires relatively different amount of efforts.
Each phase of the life cycle has a well-defined starting and ending point. Therefore, the
development engineers know precisely when to stop a phase and start the next phase. Most
organizations usually define standards on the outputs (deliverable) produced at the end of
every phase and the entry and exit criteria for every phase. We now briefly discuss the main
activities carried out during each phase and the corresponding entry and exit criteria.
Feasibility Study
The aim of feasibility study is to determine whether developing the product is financially and
technically feasible or not. The feasibility study involves analysis of the problem and collection
of data which would be input to the system, the processing required to be carried out on these
data, the output data required to be produced by the system, as well as study of various
constraints on the behaviour of the system. The collected data are analyzed to arrive at the
following:
15
The aim of this phase is to understand the exact requirements of the
customer and to document them properly. This phase consists of two
distinct activities:
1. Requirement analysis
2. Requirement specification
1.Requirement Analysis
The goal of the requirement analysis is to collect and analyze all related data and information
with a view of understanding the customer requirements clearly and weeding out
inconsistencies and incompleteness in these requirements.
Requirement analysis starts with the collection of all relevant data regarding the product from
the users through interviews and discussion. For example to perform requirement analyst has
to interview all the accountants of the organization to ascertain their requirements The data
collected from a group of users usually contain several contradictions and ambiguities because
each user typically has only a partial and incomplete view of the system. After all ambiguities,
inconsistencies and incompleteness have been resolved and all the requirements properly
understood, the requirements are systematically organised into a Software Requirements
Specification (SRS) documents.
2.Requirement Specification
During requirement specification, the user requirements are properly organized and
documented in a SRS document. The SRS documents address the functional requirements,
the non-functional requirements and the special requirements on the maintenance and
development of the software product. The SRS document serves as a contract between the
development team and the customer. Therefore it is an important document which must be
thoroughly understood by all the developers and periodically reviewed jointly with the
customer.
Design
The design phase translates the SRS into the design document which depicts the overall
modular structure of the program and the interaction between these modules In technical
terms, through the design phase we derive the software architecture from the SRS
document. Two distinct design approaches are being followed in different industries.
This design approach requires two different activities to be performed. First a structural
analysis of the requirements specification is carried out and then this structured analysis is
transformed into software design also called as software architecture.
2.Object-oriented design
16
This is a relatively new technique. In this technique. various objects that occur in the
problem domain and the solution domain an first identified and different kind of
relationships that exist among these objects are identified. This object structure is further
refined to obtain the detailed design. This approach has several advantages such as less
development effort and time and better maintainability.
The purpose of this phase (also called the implementation phase) of software development
is to translate the software design into source code. During this phase, each component of
the design is implemented as a program module, and each of these programs module is unit
tested, debugged and documented.
The purpose of unit testing is to determine the correct working of the individual modules.
Unit testing involves a precise definition of the test cases, testing criteria and management
of test cases. The end-product of the implementation phase is a set of programs modules
that have been individually tested.
During this phase the different modules are integrated in a planned manner. The different
modules making up a system are never integrated in a single shot. Integration is normally
carried out through a number of steps. During each integration step, the partially integrated
system is tested. Finally when all the modules have been successfully integrated and tested,
system testing is carried out. The goal of system testing is to ensure that the developed
system functions according to its requirements as specified in the SRS document. The system
testing usually consists of three different kind of testing activities:
Maintenance
It is estimated that maintenance of any software product requires much more effort than
the effort necessary to develop the product. Many studies indicate that the relative effort of
development of a typical system to its maintenance effort is roughly in the 40 :60 ratio.
Maintenance involves performing any one or more of the following kinds of activities:
1.Corrective Maintenance: Correcting errors that were not discovered during the product
development phase. This is called corrective maintenance.
2.Perfective Maintenance: Improving the implementation of the system and enhancing the
functionalities of the system according to the customer's requirements. This is called
perfective maintenance.
3.Adaptive Maintenance: Porting the software to a new environment e.g, to a new computer
or to a new operating system. This is called adaptive maintenance.
17
Advantages
Disadvantages
This model is just like a one-way street. Once the phase X is complete and the next phase Y
has started, then there is no provision of going back. In other words this model is sequential
in nature.
The model starts with an initial requirements gathering phase. A quick design is carried out
and the prototype model is built using several shortcuts. The shortcut might involve using
inefficient, inaccurate, or dummy functions e.g., a function may produce the desired result
by using a table look-up rather than performing the actual computation. The prototype
18
product usually turns out to be a very crude version of the actual system. The prototype
model is shown in the figure 2.
The developed prototype is submitted to the customer for his evaluation. Based on the user
feedback, the requirements are refined. This cycle continues until the user approves the
prototype. The actual system is then developed using the classical waterfall model.
prototype may be a usable program, but is not suitable as the final software product. The
reason may be poor performance, maintainability or overall quality. The code for the
prototype is thrown away, however the experience gathered from developing the prototype
helps in developing the actual system.
Objective of exploratory development is to work with the user to explore their requirements
and deliver a final system. It starts with the parts of the system that are understood and then
evolve as the user proposes new features.
Objective of throw away prototype is to understand the users requirements and develop a
better requirements definition for the system. It concentrates on poorly understood
19
components. In exploratory development, developers refine an initial prototype into the final
system based on feedback from users, while in throwaway prototyping, developers use a
prototype together and validate requirements, then discard the prototype and proceed with
a different development process.
Advantages
20
Fig 3: The V-shaped software development life cycle model
The following list contains a brief description of each phase of the V-shaped from project and
requirements planning through acceptance testing:
• Project and requirements planning
Determines the system requirements and how the resources of the organization will
be allocated to meet them. (Where appropriate, this phase allocates functions to
hardware and software.)
• Product requirements and specification analysis
Includes analysis of the software problem at hand and concludes with a complete
specification of the expected external behavior of the software system be built.
• Architecture or high-level design
Defines how the software functions are to implement the design Detailed
designDefines and documents algorithms for component that was defined during the
architecture phase. These algorithms will be transited into code.
• Coding
Transforms the algorithms defined during the detailed design phase into software.
• Unit testing
Checks each module for errors.
• Integration and testing
Interconnects the sets of previously unit-tested modules to ensure that the sets
behave as well as the independently tested modules did during the unit-testing phase
Advantages
21
• The model plans for verification and validation activities early in the life cycle thereby
enhancing the probability of building an error free and good quality product.
• The V-shaped model encourages definition of the requirements before designing the
system, and it encourages designing the software before building the components.
• It defines the products that the development process should generate; each
deliverable must be testable
• It enables project management to track progress accurately, the progress of the
project follows a time-line, and the completion of each phase is a milestone.
Disadvantages
• The model does not support iteration of phases and change in requirements
throughout the life cycle.
• It does not take into account risk analysis.
• The model is not equipped to handle dynamic changes in requirements throughout
the life cycle.
• The requirements are tested too late in the cycle to make changes without affecting
the schedule for the project. • It does not easily handle concurrent events.
During the first requirement analysis phase, customers and developers specify as may
requirements as possible and prepare a SRS document. Developers and customer then
prioritize these requirements. Developers implement the specified requirements one or more
cycles of design, implementation and test based on the defined priorities The model is given
in figure 4.
The aim of the waterfall and prototype models is the delivery of a complete, operational and
good quality product. In contrast, this model does deliver an operational quality product at
each release, but one that satisfies only a subset of the customer's requirements
The complete product is divided into releases, and the developer delivers the product release
by release. A typical product will usually have many releases as shown in the figure
At each release, customer has an operational quality product that does a portion of what is
required. The customer is able to do some useful work after first release. With this model,
first release is available within few weeks or months, whereas the customer generally waits
months or years to receive a product using other models.
22
Fig 4.4 Iterative model Advantages
• Limited number of persons can be put on project because work is to be delivered in
parts.
• Product is to be delivered in parts, total cost of project is distributed.
• Customers or end users get the choice to see the useful functionality only in the
software development life cycle.
• End user's feedback requirements for successive releases become more clear.
• As functionality is incremented in steps, testing also becomes easily.
• Risk of failure of a product is decreased as users start using the product early.
Disadvantages
• Model requires well defined project planning schedule to distribute the work
properly.
• Testing of modules results into overhead and increased cost.
• Product is delivered in parts, total development cost is higher
• Well defined interfaces are required to connect modules developed with each phase.
The spiral model encompasses the strengths of the waterfall model while including risk
analysis, risk management, and support and management processes. It also allows for the
23
development of the product to be performed using a prototyping technique or rapid
application development through the use of fourth-generation (and beyond) languages and
development tools.
Figure 5: Spiral life cycle model
24
of a design, development of code, inspection of code, testing, and packaging of the
product. The first build is the customer's first look at the system. After this, a planning
phase begins-the program is reset to respond to customer's reaction. With each
subsequent build, a better idea of customer requirements is developed. The degree
of change from one build to the next diminishes with each build, eventually resulting
in an operational system.
• Plan next phase
Finally, the fourth stage consists of reviewing the result of the stages traversed so far
with the customer and planning the next iteration around the spiral. Typical activities
in this quadrant could be development of the project plan, development of the
configuration management plan, development of the test and development of the
installation plan.
With each iteration around the spiral (beginning at the center and moving outwards), a more
complete version of the software gets build progressively. Usually, after several iterations
along the spiral, all risks are resolved and the software is ready for development. At this point
a waterfall model of software development is adopted. A detailed figure of spiral life cycle
model is shown in figure 6.
26
PRACTICAL – 5
AIM: Preparation of requirement document for standard application problems in standard
format.(e.g Library Management System, Railway Reservation system, Hospital
management System, University Admission system).
INTRODUCTION: -
Borrowing books, returning books or viewing the available books at the Library of the local
University is currently done manually where in the student has to go to the Library and
check the available books.
Then the librarian checks the student id and allows the member to check out the book and
the librarian then updates the member database and also the books database.
This takes at least one to two hours if the member is available at the nearby place otherwise
it may take more time.
We have decided to investigate the use of an Online Library Management System. This
system would be used by members who may be students or professors of that University to
check the availability of the books and borrow the books, and by the librarian to update the
databases. Purpose: -
1.The main objective of this document is to illustrate the requirements of the project Online
Library Management system.
2.The document defines and describes the operations, interfaces, performance, and quality
assurance requirements of the Online Library System description.
3.The document also describes the nonfunctional requirements such as the user interfaces.
4.The document is developed after a number of consultations and considering the complete
requirement specifications of the given Project.
5.It also describes the design constraints that are to be considered when the system is to be
designed, and other factors necessary to provide a complete and comprehensive description
of the requirements for the software.
Scope: -
The Software Requirements Specification captures all the requirements in a singledocument.
The Online Library System is supposed to have the following features:
1.The system should provide login facility to the users.
2.The system provides the members with the option to check their account and/or change
their options like password of the account whenever needed all through the day during the
library hours.
3.The system should allow seeing the status of the books/journals borrowed/reserved by him
and the respective due dates and other relevant details.
27
4.The system should allow searching for a particular book/journal and also list for
books/journals.
5.The system should allow to cancel the reservation made earlier for a particular
book/journal.
6.It should allow reserving a particular book/journal borrowed by others currently.
7.The system allows the Librarian to create the books catalog, add/delete books and maintain
the books catalog.
8.The system should be able to send an automatic mail as soon as a reservation is made for a
particular book, to the person who made the reservation. Then, a mail should be sent to
people who are having the book currently, stating a reservation has been made on that book.
Abbreviation Description
Administrator Librarian who controls the operation of library, all the
transactions in the library.
View List of all books in the library and all the details of it.
Business rules:
28
Library management system will be accessible in Intranet for browsing and viewing purposes
Overall Description
Product perspective:
Product functions:
• The Online Library System provides online real time information about the books
available in the Library and the user information.
• The Product functions are more or less the same as described in the product
perspective. The functions of the system include the system providing different type
of services based on the type of users [Member/Librarian].
• The member should be provided with the updated information about the books catalog.
• Provisions for the members to borrow the books they want, if all the other required
rules hold good.
• The member is given a provision to check his account information and change the
account information any time in the given valid period.
29
• The members should be allowed to see the status of the books/journals
borrowed/reserved by him and the respective due dates and other relevant details.
• The members should be able to place requests for purchasing new books to the library,
by giving details about the name of the book, name of the author, publisher.
• The librarian is provided with interfaces to add/delete the books available in the book
catalog
Design Constrains:
constraints Description
Software technologies
Application Server / Web Web sphere application server (WAS)
Server
Programming language Java / J2EE
J2EE Services Core java, Servlets, JSP, JDBC, JNDI, JAXB
SOA / Web services SOAP, WSDL, XML, XSD, AJAX
Scripting CSS, Javascript
database DB2
IDE RAD
Language constraints
Language English to be known
Functional Requirements:
1.Administrator login
• In login screen, the authorized administrator will login to the system using username
and password.
• The authorized administrator has the following functions:
• An authorized user can register the member. The process happens physically, where
member fills in the register form manually and this would be keyed in to system by
administrator to create membership.
• System provides Inbox to the admin users to view all the requests. The process
defined below
An “Active” member makes a request to the Admin.
The request will be in “pending”
Admin can view all pending request and he/she can approve or reject the
request
30
If the request is approved then notification will be sent to the requester and
status will be marked to “Borrow” with end date
• Administrator can check the status of all the books whether the book has been
issued/reserved. He can check all the details of the book.
• Search facility is provided to administrator, he can Search for all the books based on
the title, subject, author, publisher.
• Administrator can add new books to the library based on the requests made by the
users for the same with all the details of the new book.
• Administrator can remove any book from the library.
2. User login:
• In login screen, the authorized users will login to the system using username
and password.
• Users of the system include four categories:
• Book name
• Subject
• Author
• Publisher
• User can view the list book details. The fields are mentioned
below
• Book Id
• Book Name
• Author
• Status (Reserved / Borrowed / Cancelled/ Available)
31
• Due date
• Reservation date
• Borrowed User ( In case if the status is “Borrowed”)
• User can make a request to reserve the book. The request will
be posted to administrator for approval.
• System provides interface to the user to post request for the
non-availability of the book. Admin will view the request
through his inbox and he/she can reject or accept the request.
• User can reserve book in case the book is borrowed by other
members.
• User should able to cancel the reservation.
• System sends a notification after registering the book. The
notification will be sent through Email In case of the due date,
system keeps track and sends reminder at regular interval of
time. A static value of 4 days will be set in system
Fig
3.Book Status:
To maintain status of the book, the system as predefined status to maintain the life
cycle of the book. The status and the behavior is explained below
1. Pending
32
• The book status will be in “Pending”, once the member
makes a request for the book
2. Approved
• The current status will be maintained once the Admin
approves the member request.
•
3. Rejected / Canceled
• The current status will be maintained in case Admin rejects the requested
book
4. Borrowed
• The current status will be maintained, in case, if book is borrowed from
other members.
• Administrator should change the status to “Borrowed” from
“Approved” status after member collects the book.
5. Available
• If the book is not occupied by any member then the status of
the book will be in available status, so that member can
reserve the book
6. Not Available
• If the book stock is not available then the status of the book will be “Non
available”
7. Not Available
• If the book stock is not available then the status of the book will be “Non
available”
4.Search Engine
Books can be searched based on the name, subject, status, author and publisher. A book
listing is given with all the required columns along with details of the transaction made on
that particular book for both user and administrator
Report: -
Book
• Book Id
• Book Name
• Author
• Status (Reserved / Borrowed / Cancelled/ Available)
• Due date
• Reservation date
33
• Borrowed User ( In case if the status is “Borrowed”)
Database Storage:-
Database is the storage device, in which the application information will be stored in
database. The information is normalized in the form of tables. The main entity of the storage
are mentioned below
Non-Functional Requirements: -
34
PRACTICAL – 6
AIM: To identify the usage of Regression Testing
Regression Testing is a type of software testing that ensures that new code changes or
modifications to an existing system do not negatively impact the existing functionality of the
software. Its primary purpose is to verify that the new changes haven't introduced new
defects or caused unintended side effects in the previously tested features.
1. Code Changes:
2. Bug Fixes:
• Example: If users reported a bug where certain images were not displaying
correctly, the development team fixes the issue. Regression testing is then
carried out to confirm that the fix didn't introduce new problems elsewhere
in the application.
3. Integration of Modules:
4. Environment Changes:
5. Configuration Changes:
36
• Scenario: Configuration settings, such as server configurations or application
settings, are modified.
6. Periodic Releases:
Summary
In essence, regression testing acts as a safety net, assuring that the software remains robust and
reliable as it undergoes changes, updates, and improvements throughout its development lifecycle. It
helps maintain the integrity of the existing features, reducing the likelihood of introducing new issues
when modifications are made to the codebase.
37
PRACTICAL – 7
AIM: To identify the usage of Agile Testing.
• 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.
38
The agile testing life cycle is the process that agile teams use to plan, execute, and
track their testing activities.
• Planning: The team decides which features are testable and which tests are
necessary.
• Tracking: The team tracks the results of the tests and defect reports.
• Closure: The team reviews the test results and closes out any remaining defects.
1. Iterative Development:
2. Cross-Functional Teams:
39
• Example: A cross-functional Agile team may consist of developers,
testers, designers, and product owners. Testers collaborate with
developers to understand requirements and contribute to the
definition of acceptance criteria.
5. Automation Testing:
40
• Usage: Agile projects are driven by user stories and acceptance
criteria, which define the expected behavior of features.
7. Continuous Feedback:
• Usage: Agile emphasizes continuous feedback through regular
meetings like sprint reviews and retrospectives. Testing feedback is
crucial for improving processes.
8. Exploratory Testing:
9. Regression Testing:
41
Summary
In summary, Agile testing is deeply integrated into the Agile development process, promoting
collaboration, continuous feedback, and flexibility. It aims to deliver high-quality software in
a dynamic and iterative manner, responding to changing requirements and customer
feedback throughout the development lifecycle.
PRACTICAL – 8
The following figure is a graphical representation of the various stages of a typical SDLC.
Let's consider the development of a web application using SDLC. The SDLC typically
consists of several phases:
42
• Requirements Gathering:
• Example: The client specifies that the web application should allow
users to create accounts, post content, and interact with other users.
• Design:
• Development:
• Testing:
• Deployment:
43
• Importance: Deployment involves releasing the application to a
production environment for users to access. A well-planned
deployment ensures a smooth transition from development to the
live environment.
• Maintenance:
2. STLC Importance:
The Software Testing Life Cycle (STLC) is a systematic approach to testing a software
application to
ensure that it meets the requirements and is free of defects. It is a process that follows a series of
steps or phases, and each phase has specific objectives and deliverables. The STLC is used to ensure
that the software is of high quality, reliable, and meets the needs of the end-users.
The main goal of the STLC is to identify and document any defects or issues in the
software application as early as possible in the development process. This allows
for issues to be addressed and resolved before the software is released to the
public.
STLC Phases
There are following six major phases in every Software Testing Life Cycle Model (STLC
Model):
44
STLC Model Phases
Requirement Analysis
Test Planning
Test case development
Test Environment setup
Test Execution
Test Cycle closure
• Test Planning:
• Test Design:
• Test Execution:
• Example: Testers execute the test cases, recording whether each test
passes or fails. They document any issues, such as a user registration
process not functioning correctly.
45
• Defect Tracking and Reporting:
• Regression Testing:
Summary
46