SlideShare a Scribd company logo
1 of 62
Agenda
1. Introduction To Software Testing
 Definition of Testing
 Objective of Testing & Why Necessary?
 Cases of Software Testing
 Developer Vs. Tester
 Different between defect, error, bug, failure and fault
 Software Testing Verification and Validation
 When to stop testing?
2. A} Understand the software development and testing methodologies commonly used during the
development life cycle to quality assure software
 User requirements and typical software project job roles
 Characteristics of common software testing methodologies
 Features of testing for different software development methodologies
O
Introduction To Software Testing
What is Testing?
To verify that it satisfies specified requirements
or identify differences between expected and
actual results.
To exercising a program with the specific intent
of finding errors prior to delivery to the end
user.
Testing can be defined as A process of analyzing
a software item to defect the differences
between existing and required conditions (that
is defects/errors/bugs) and to evaluate the
features of the software item.
Objectives of Testing
 To ensure that the solution meets the business and user
requirements.
 To catch errors that can be bugs or defects.
 To determining user acceptability.
 To ensuring that a system is ready for use.
 To gaining confidence that it works.
 Evaluating the capabilities of a system to show that a system
performs as intended and verifying documentation.
Why Testing is Necessary?
 Find errors because they cost a lot
 Ensures quality for user/customer
 System optimum performance
Cases of Software Defects
 The human factor
o Human make mistakes
Ex: inaccurate understanding of end user requirements.
o Poor training
o Time pressure
o Code complexity
o Complexity of infrastructure
o Changing technologies
 Organizational factors
o Inefficient communication
Ex: Late discovery of serious project flaws.
o Unclearly defined requirements
 Environmental conditions
o Radiation, Magnetism, Electronic fields,
Pollution, Etc.
o These can change the hardware
conditions
Developing Vs. Testing
Category Testers Developers
A Way of Thinking Are perceives as destructive - only
happy when they are finding faults!
Are perceived as very creative – they
write code without which there would
be no system
Communication skills Usually require good communication
skills, tact & diplomacy.
Are rarely good communicators
Technical skills Normally need to be multi-talented
(technical, testing, team skills).
Can often specialize in just one or two
skills (VB, C++, JAVA, SQL)
What their team do Testing
1. Running test cases, finding failures.
2. Can be done without looking at the
code.
3. Can be automated by putting a
test suite in a shell script or make
file.
Debugging
1. Finding and correcting faults.
2. Need to work with the code & use
a debugger
3. Can`t be automated
If same person does both coding
and testing
 Need “split personality”: when you start testing, become paranoid and malicious.
 This is surprisingly difficult: people don`t like to find out that they made mistakes.
Different between defect, error,
bug, failure and fault
 A mistake in coding is called error[mistake].
 Error found by tester is called defect.
 Defect accepted by development team that it is called bug.
 Build does not meet the requirements then it is failure.
Ex: For any integer n, square (n) = n*n Output or Result
Int square (int x)
{ Square 2 = 4
reture x*2; Square 3 = ?
}
Software Testing Verification and Validation
Verification Validation
Verification is a static practice of verifying
documents, design, code and program.
Validation is a dynamic mechanism of
validating and testing the actual product.
It does not involve executing the code. It always involves executing the code.
It is human based checking of documents
and files.
It is computer based execution of program.
Verifications uses methods like inspection,
reviews, walkthroughs, and desk – checking.
Validation uses methods like black box
(functional) testing, gray box testing, and
white box (structural) testing.
Verification is to check whether the software
conforms to specifications.
Validation is to check whether software
meets the customer expectation and
requirements.
When to Stop Testing?
Unlike when to start testing it is difficult to determine when to stop testing, as testing is a never ending process and
no one can say that any software is 100% tested. Following are the aspects which should be considered to stop the
testing:
 Testing Deadlines.
 Completion of test case execution.
 Completion of Functional and code coverage to a certain point.
 Bug rate falls below a certain level and no high priority bugs are identified.
 Management decision.
O
A} Understand the software development
and testing methodologies commonly used
during the development life cycle to quality
assure software
A1) Roles & Responsibilities in a
Software Development Team
 Business Analyst
Translates business need into requirements and ensures they are documented correctly.
Key Responsibilities
 Define the scope and prioritize it, and provide technological solutions.
 Define, analyze, and manage technical and business requirements.
 Verify that project deliverable meet the requirements.
 Product Owner
It represents the client or end-users and has a clear vision of the end-product.
Key Responsibilities
 Set and communicate the requirements of the product.
 Ensure an effective communication between the client and the development team.
 Maintain and update the product backlog.
 Project Manager
It responsible for knowing the “who, what, where, when, and why” of the software plan.
Key Responsibilities
 Plan, schedule, budget, execute, and deliver the software project.
 Supervise the development team.
 Team Lead
Acts as a mentor to help the team keep focused on the tasks, deliver work on time, and meet the
project goals.
Key Responsibilities
 Guide the team towards successful project delivery.
 Prevent and solve any conflict or issue that may arise.
 Software Architect
Defines the overall architecture system and makes high-level design choices based on non-functional
requirements.
Key Responsibilities
 Define the technical and functional architecture of the system.
 Develop the most critical components of the system.
 Scrum Master
Is a team facilitator responsible for addressing any impediments and the one in charge of ensuring that all
team members follow the scrum methodology.
Key Responsibilities
 Assure that team members follow agile values and implement the methodology correctly.
 Follow up and facilitate team impediments to clear obstacles.
 Developers
They are in charge of writing the code and developing the software product.
Key Responsibilities
 Develop the feature laid out in the sprint.
 Update the status of the software project to the project manager.
 Testers
They are responsible for ensuring that the software solution meets the requirements and complies
with the quality standards.
Key Responsibilities
 Understand feature requirements.
 Create and execute test cases to detect bugs or defects.
A2) Characteristics of common
software testing methodologies
Just as there are different software development methodologies,
there are also a range of software testing methodologies and tools
that can be used to test the product of a development. Some of the
development methodologies dictate how testing should be
undertaken. For example, consider the V-shaped development
methodology.
In this section you will explore a range of these methodologies and
techniques.
(1) Requirements Analysis
 In this phase Software testers analyze the customer requirements and work with
developers during the design phase to see which requirements are testable and how they
are going to test those requirements.
 It is very important to start testing activities from the requirements phase itself because the
cost of fixing defect is very less if it is found in requirements phase rather than in future
phases.
(2) Test Planning
In this phase all the planning about testing is done like what needs to be tested like
 How the testing will be done,
 Test strategy to be followed,
 What will be the test environment,
 What test methodologies will be followed,
 Hardware and software availability,
 Resources, risks etc.
A high level Test plan document is created which includes all the planning inputs mentioned
above and circulated to the stakeholders.
(3) Test Analysis
 In this phase we need to dig deeper into project and figure out what testing needs to be carried
out in each SDLC phase.
 Automation activities are also decided in this phase
 Non functional testing areas (Stress and performance testing) are also analyzed
(4) Test Design
 In this phase various black-box and white-box test design techniques are used to design the test cases
for testing.
 Testers start writing test cases by following those design techniques.
 Automation scripts also needs to written in this phase.
(5) Test Construction and Verification
 In this stage we need to done all test activities
 Complete the all test plans and test cases.
 In this stage need to done stress, performance
(6) Testing Cycles: Test Execution and Bug Reporting
In this stage we need to done test cycles until test cases are executed without errors. And our test plans is reached
(7) Final Testing and Implementation
 In this phase the final testing is done for functional testing and non functional testing.
 The software is also verified in the production kind of environment. Final test execution reports and
documents are prepared in this phase.
(8) Post Implementation
 In this phase the test environment is cleaned up and restored to default state, the process review
meeting's are done and lessons learns are documented.
 A document is prepared to cope up similar problems in future releases
Software development life cycle models there are defined phases like requirement gathering and analysis, design,
coding or implementation, testing and deployment. Each phase goes through the testing. Hence there are various
levels of testing.
(A) Functional Testing:
Functional testing is to testing the functionality of the software application under test. Basically, it is to check the
basic functionality mentioned in the functional specification document. Also check whether software application
is meeting the user expectations.
(B) Non Functional Testing:
Non-functional testing the quality characteristics of the component or system is tested. Non-functional refers to
aspects of the software that may not be related to a specific function
Various Level of Functional Testing
Unit testing
Unit testing involves the testing of each unit or an individual component of the software application. It is the first
level of functional testing. The aim behind unit testing is to validate unit components with its performance. A unit
is a single testable part of a software system and tested during the development phase of the application software.
The purpose of unit testing is to test the correctness of isolated code. A unit component is an individual function or
code of the application. White box testing approach used for unit testing and usually done by the developers.
Some crucial reasons are listed below:
o Unit testing helps tester and developers to understand the base of code that makes them able to change
defect causing code quickly.
o Unit testing helps in the documentation.
o Unit testing fixes defects very early in the development phase that's why there is a possibility to occur a smaller
number of defects in upcoming testing levels.
o It helps with code reusability by migrating code and test cases.
Various Level of Functional Testing
Integration testing
Integration testing validates the developed components of the product by testing how well they interconnect with
each other. It uses end-to-end testing strategies to test the flow of data through the product to check that data
integrity will be maintained.
a) Big bang integration testing:
In Big Bang integration testing all components or modules are integrated simultaneously, after which everything is
tested as a whole.
b) Top down:
Testing takes place from top to bottom, following the control flow or architectural structure A-B-D-E
c) Bottom up:
Testing takes place from the bottom of the control flow upwards. Components or systems are substituted by drivers.
E-D-B-A
d) Functional incremental:
Integration and testing takes place on the basis of the functions and in the functional specification.
A-D-G-C-E
Component Integration Testing:
 To test the interactions between software components
 The software components themselves may be specified at different times by different specification
groups, yet the integration of all of the pieces must work together.
Regression Testing:
egression testing is a black box testing technic. It is used to authenticate a code change in the software does not
impact the existing functionality of the product. Regression testing is making sure that the product works fine
with new functionality, bug fixes, or any change in the existing feature.
We do regression testing whenever the production code is modified.
We can perform regression testing in the following scenario, these are:
When new functionality added to the application.
Example:
A website has a login functionality which allows users to log in only with email. Now providing a new feature to
do login using Facebook.
Smoke Testing:
Smoke Testing comes into the picture at the time of receiving build software from the development team. The
purpose of smoke testing is to determine whether the build software is testable or not. It is done at the time of
"building software." This process is also known as "Day 0". It is a time-saving process. It reduces testing time
because testing is done only when the key features of the application are not working or if the key bugs are not
fixed. The focus of Smoke Testing is on the workflow of the core and primary functions of the application. testing
the basic & critical feature of an application before doing one round of deep, rigorous testing (before checking all
possible positive and negative values) is known as smoke testing. In the smoke testing, we only focus on the positive
flow of the application and enter only valid data, not the invalid data.
Sanity Testing:
sanity testing is performed to make sure that all the defects have been solved and no added issues come into the
presence because of these modifications. Sanity testing also ensures that the modification in the code or functions
does not affect the associated modules. Consequently, it can be applied only on connected modules that can be
impacted.
The objective of sanity testing:
 The primary aim of executing the sanity testing is to define that the planned features work unevenly as
expected. If the sanity test fails, the build is refused to save the costs and time complexity in more
severe testing.
 The execution of sanity testing makes sure that new modifications don't change the software's current
functionalities.
 It also validates the accuracy of the newly added features and components.
System Testing
Is a type of software testing that is performed on a complete integrated system to evaluate the compliance of
the system with the corresponding requirements. In system testing, integration testing passed components
are taken as input. The goal of integration testing is to detect any irregularity between the units that are
integrated together. System testing detects defects within both the integrated units and the whole system. The
result of system testing is the observed behavior of a component or a system when it is tested. System
Testing is carried out on the whole system in the context of either system requirement specifications or
functional requirement specifications or in the context of both. System testing tests the design and behavior
of the system and also the expectations of the customer. It is performed to test the system beyond the bounds
mentioned in the software requirements specification(SRS). System Testing is basically performed by a testing
team that is independent of the development team that helps to test the quality of the system impartial. It has
both functional and non-functional testing. System Testing is a black-box testing. System Testing is performed
after the integration testing and before the acceptance testing.
System Testing Process: System Testing is performed in the following steps:
 Test Environment Setup: Create testing environment for the better-quality testing.
 Create Test Case: Generate test case for the testing process.
 Create Test Data: Generate the data that is to be tested.
 Execute Test Case: After the generation of the test case and the test data, test cases are executed.
 Defect Reporting: Defects in the system are detected.
 Regression Testing: It is carried out to test the side effects of the testing process.
 Log Defects: Defects are fixed in this step.
Retest: If the test is not successful then again test is performed
Advantages of System Testing:
 The testers do not require more knowledge of programming to carry out this testing.
 It will test the entire product or software so that we will easily detect the errors or defects which cannot
be identified during the unit testing and integration testing.
 The testing environment is similar to that of the real time production or business environment.
 It checks the entire functionality of the system with different test scripts and also it covers the technical
and business requirements of clients.
 After this testing, the product will almost cover all the possible bugs or errors and hence the development
team will confidently go ahead with acceptance testing.
Disadvantages of System Testing:
 This testing is time consuming process than another testing techniques since it checks the entire product
or software.
 The cost for the testing will be high since it covers the testing of entire software.
 It needs good debugging tool otherwise the hidden errors will not be found.
Acceptance testing
Acceptance testing is often referred to as build verification testing or 'smoke' testing and it is carried out based
on tests designed to confirm that the key elements of the system, as required by the client, are present and
work as intended. The tests are written based on the client's original requirements specification and carried out
by the client/ customer/user so that the project can be signed off.
This is arguably the most importance type of testing as it is conducted by the Quality Assurance Team who will
gauge whether the application meets the intended specifications and satisfies the client's requirements. The
goal of acceptance testing is to establish confidence in the system. Acceptance testing is most often focused on
a validation type testing.
Verification testing involves performing special tests to model or simulate a portion
of a product or system.
Signed off a formal announcement of the end of a project, after everything has been tested and confirmed to have passed the quality
assurance process.
Alpha Testing:
This test takes place at the developer's site. Alpha testing is final testing before the software is released to the
general public. It has two phases:
In the first phase of alpha testing, the software is tested by in-house developers.
In the second phase of alpha testing, the software is handed over to the software QA staff, for additional testing
in an environment that is similar to the intended use.
Beta Testing:
 It is also known as field testing. It takes place at customer's site.
 It sends the system to users who install it and use it under real-world working conditions.
 The goal of beta testing is to place your application in the hands of real users outside of your own
engineering team to discover any flaws or issues from the user's perspective that you would not want to
have in your final, released version of the application.
Various Level of Non-Functional Testing
Performance Testing:
It is the most important part of non-functional testing.
Generally, this testing defines how quickly the server responds to the user's request.
While doing performance testing on the application, we will concentrate on the various factors like Response
time, Load, and Stability of the application.
Response time  Response time is the time taken by the server to respond to the client's request.
Load  Here, Load means that when N-number of users using the application simultaneously or sending the
request to the server at a time.
Stability  For the stability factor, we can say that, when N-number of users using the application simultaneously
for a particular time.
When we use the performance testing?
We will do performance testing once the software is stable and moved to the production, and it may be
accessed by the multiple users concurrently, due to this reason, some performance issues may occur. To avoid
these performance issues, the tester performs one round of performance testing. Since it is non-functional
testing which doesn't mean that we always use performance testing, we only go for performance testing when
the application is functionally stable.
Note: Performance testing cannot be done manually since its costly and accurate result can`t be maintained.
Type of performance testing:
 Load testing
 Stress testing
 Scalability testing
 Stability testing
Load Testing
The load testing is used to check the performance of an application by applying some load which is either less
than or equal to the desired load is known as load testing.
For example: In the below image, 1000 users are the desired load, which is given by the customer,
and 3/second is the goal which we want to achieve while performing a load testing.
Stress testing
The stress testing is testing, which checks the behavior of an application by applying load greater than the
desired load.
Typical tests could include simultaneous occurrences of:
 logins from a significant number of users
 machines starting up and drawing on a system's resources
 automated processes such as virus scanning
 backups happening at the same time and using the same resources
 high numbers of transactions
 large amounts of data being added.
The objective of stress testing is to observe how a system behaves under extreme conditions by monitoring the
resources of the system, the error messages which it displays and its ability to recover from stress back to
operational normality.
For example: If we took the above example and increased the desired load 1000 to 1100 users, and the goal is
4/second. While performing the stress testing in this scenario, it will pass because the load is greater (100 up)
than the actual desired load.
Scalability testing
Checking the performance of an application by increasing or decreasing the load in particular scales (no of a
user) is known as scalability testing. Upward scalability and downward scalability testing are called scalability
testing.
Scalability testing is divided into two parts which are as follows:
o Upward scalability testing
o Downward scalability testing
Upward scalability testing
It is testing where we increase the number of users on a particular scale until we get a crash point. We will use
upward scalability testing to find the maximum capacity of an application.
Downward scalability testing
The downward scalability testing is used when the load testing is not passed, then start decreasing the no. of
users in a particular interval until the goal is achieved. So that it is easy to identify the bottleneck (bug).
Stability testing
Checking the performance of an application by applying the load for a particular duration of time is known
as Stability Testing.
Performance testing process
The performance testing cannot be done manually since:
 We need a lot of resources, and it became a costlier approach.
 And the accuracy cannot maintain when we track response time manually.
The Performance testing process will be completed in the following steps:
 Identify performance scenarios
 Plan and design performance test script
 Configure the test environment & distribute the load
 Execute test scripts
 Result
 Analysis result
 Identify the Bottleneck
 Re-run test
Usability testing
Nowadays, we have n-numbers of application available in application store in order to help the people in their
works.
And where they can give a negative response or a poor rating, which leads a particular product towards their ends
before it is downloaded or installed by a limited number of end-users.
In short, we can say that one bad review can damage all the resources skill, extended hours of planning,
enthusiasm to develop the product, and so on.
That is why Usability testing comes into the picture to resolve these types of issues, as usability testing has a
vibrant significance and is executed by the test engineers throughout the software testing life cycle.
What is usability testing?
Usability Testing is a significant type of software testing technique, which is comes under the non-function testing.
It is primarily used in user-centered interaction design on order to check the usability or ease of using a software
product. The implementation of usability testing requires an understanding of the application, as it is extensive
testing.
Generally, usability testing is performed from an end-user viewpoint to verify if the system is efficiently working or
not.
The primary purpose of executing the usability testing is to check that the application should be easy to use for the
end-user who is meant to use it, whereas sustaining the client's specified functional and business requirements.
When we use usability testing, it makes sure that the developed software is straightforward while using the system
without facing any problem and makes end-user life easier.
In Usability Testing, the user-friendliness can be described with the help of the following characteristics:
o Easy to understand
o Easy to access
o Look and feel
o Faster to Access
o Effective Navigation
o Good Error Handling
Easy to understand
 All the features of software or applications must be visible to the end-users.
Easy to Access
 A user-friendly application should be accessible by everyone.
Easy to Access
 The look and feel of the application should be excellent and attractive to get the user's interest.
 The GUI of the software should be good because if the GUI is not well, the user may be lost his/her interest
while using the application or the software.
 The quality of the product is up to the mark as given by the client.
Faster to Access
 The software should be faster while accessing, which means that the application's response time is quick.
 If the response time is slow, it might happen that the user got irritated. We have to ensure that our application
will be loaded within 3 to 6 seconds of the response time.
Effective Navigation
 Effective navigation is the most significant aspect of the software. Some of the following aspects for effective
navigation:
 Good Internal Linking
 Informative header and footer
 Good search feature
Good Error Handling
 Handling error at a coding level makes sure that the software or the application is bug-free and robust.
 By showing the correct error message will help to enhance the user experience and usability of the application.
Compatibility testing
It is part of non-functional testing. Once the application is stable, we moved it to the production, it may be used or
accessed by multiple users on the different platforms, and they may face some compatibility issues, to avoid these
issues, we do one round of compatibility testing.
Generally, we go for compatibility testing, only when the application or software is functionally stable.
Types of compatibility testing:
 Software
 Hardware
 Network
 Mobile
Software
Here, software means different operating systems (Linux, Window, and Mac) and also check the software
compatibility on the various versions of the operating systems like Win98, Window 7, Window 10, Vista, Window
XP, Window 8, UNIX, Ubuntu, and Mac.
And, we have two types of version compatibility testing, which are as follows:
 Forward compatibility testing: test the software or application on the new or latest versions.
For example: Latest Version of the platforms (software)
Win 7 → Win 8 → Win 8.1 → Win 10
 Backward Compatibility Testing: Test the software or application on the old or previous versions.
For example:
Window XP → Vista → Win 7 → Win 8 → Win 8.1
And different browsers like Google Chrome, Firefox, and Internet Explorer, etc.
Hardware
The application is compatible with different sizes such as RAM, hard disk, processor, and the graphic card, etc.
Mobile
Check that the application is compatible with mobile platforms such as iOS, Android, etc.
Network
Checking the compatibility of the software in the different network parameters such as operating speed,
bandwidth, and capacity.
Security testing
Security testing is essential to protect systems and data. There are a number of different types of security testing:
Static testing - occurs where the system is examined and reviewed. Dynamic testing means that the code is running
when tested.
Vulnerability scanning - a common testing strategy which uses software to explore and test the system for
predictable and known vulnerabilities.
Penetration testing- often abbreviated to pen testing, this is considered a form of ethical hacking. The idea is to
test a system, a web application or network to identify and exploit the types of vulnerabilities that an attacker
would be able to find and exploit. This is carried out to identify potential security flaws which could lead to data
loss and account protection issues.
When it comes to security, there are four different terms which describe those who test systems:
Hackers use techniques with the intention of accessing a system or a computer network illegally and without any
authorization.
Ethical hackers have the permission of the system or network's owners and are often paid to take this role.
Crackers want to illegally break into systems with the intention of stealing or destroying data.
Script kiddies are often new programmers who are familiar with a programming language. While they are not yet
able to write their own hacking code, they are able to find and use existing 'hacks' to test system security.
Different between Black box testing White box testing Grey box
testing
Black Box Testing Grey Box Testing White Box Testing
The Internal Workings of an
application are not required to be
known
Performed by end users and also by
testers and developers
Testing is based on external
expectations - Internal behavior of the
application is unknown
This is the least time consuming and
exhaustive
Not suited to algorithm testing
This can only be done by trial and
error method
Somewhat knowledge of the internal
workings are known
Performed by end users and also by
testers and developers
Testing is done on the basis of high
level database diagrams and data flow
diagrams
Partly time consuming and exhaustive
Not suited to algorithm testing
Data domains and Internal boundaries
can be tested, if known
Tester has full knowledge of the
Internal workings of the application
Normally done by testers and
developers
Internal workings are fully known and
the tester can design test data
accordingly
The most exhaustive and time
consuming type of testing
Suited for algorithm testing
Data domains and Internal boundaries
can be better tested
A3) Features of testing for different software development
Methodologies
Manual Testing:
 This type includes the testing of the Software manually.
 without using any automated tool or any script.
 In this type the tester takes over the role of an end user and test the Software to identify any un-expected
behavior or bug.
 There are different stages for manual testing like unit testing, Integration testing, System testing and User
Acceptance testing.
 Testers use test plan, test cases or test scenarios to test the Software to ensure the completeness of testing.
Manual testing also includes exploratory testing as testers explore the software to identify errors in it.
- Waterfall model
-V Model
-Google Sheet
-Agile
-Scrum
-Jira
-Kanban
Waterfall Model
When to use Waterfall?
Projects which not focus on changing the requirements, for example, projects initiated from a request for proposals,
the customer has a very clear documented requirements
Advantages Disadvantages
•Easy to explain to the users.
•Structures approach.
•Stages and activities are well defined.
•Helps to plan and schedule the
project.
•Verification at each stage ensures
early detection of errors /
misunderstanding
•Each phase has specific deliverables.
•Assumes that the requirements of a
system can be frozen.
•Very difficult to go back to any stage
after it finished.
•A little flexibility and adjusting scope
is difficult and expensive.
•Costly and required more time, in
addition to the detailed plan.
V-Model
The usage
• Software requirements clearly defined and known
• Software development technologies and tools are well-known
Advantages Disadvantages
•Simple and easy to use
•Each phase has specific deliverables.
•Higher chance of success over the
waterfall model due to the development
of test plans early on during the life cycle.
•Works well for where requirements are
easily understood.
•Verification and validation of the
product in the early stages of product
development.
•Very inflexible, like the waterfall model.
•Adjusting scope is difficult and
expensive.
•The software is developed during the
implementation phase, so no early
prototypes of the software are produced.
•The model doesn’t provide a clear path
for problems found during testing
phases.
•Costly and required more time, in
addition to a detailed plan
Agile Development
When to use Agile?
• It can be used with any type of the project, but it needs more engagement from the customer and to be
interactive. Also, we can use it when the customer needs to have some functional requirement ready in less
than three weeks and the requirements are not clear enough.
• This will enable more valuable and workable piece for software early which also increase the customer
satisfaction.
Advantages Disadvantages
•Decrease the time required to avail
some system features.
•Face to face communication and
continuous inputs from customer
representative leaves no space for
guesswork.
•The end result is the high-quality
software in the least possible time
duration and satisfied customer.
•Scalability.
•The ability and collaboration of the
customer to express user needs.
•Documentation is done at later
stages.
•Reduce the usability of
components.
•Needs special skills for the team.
Scrum
• Scrum is an agile method that focuses on managing iterative development rather than specific agile
practices.
• There are three phases in Scrum.
• The Initial phase is an outline planning phase where you establish the general objectives for the project and
design the software architecture.
• This is followed by a series of sprint cycles, where each cycle develops an increment of the system.
• The project closure phase wraps up the project, completes required documentation such as system help
frames and user manuals and assesses the lessons learned from the project.
Scrum Sprint
Cycle
 Sprints are fixed length, normally 2–4 weeks.
 The starting point for planning is the product backlog, which is the list of work to be done on the
project.
 The selection phase involves all of the project team who work with the customer to select the
features and functionality from the product backlog to be developed during the sprint.
The Sprint Cycle
 Once these are agreed, the team organize themselves to develop the software.
 During this stage the team is isolated from the customer and the organization, with all communications
channeled through the so-called ‘Scrum master’.
 The role of the Scrum master is to protect the development team from external distractions.
 At the end of the sprint, the work done is reviewed and presented to stakeholders. The next sprint cycle
then begins.
Agile Scrum Framework
Jira Tool
 JIRA is a project management tool used for issues and bugs tracking system. It is widely used as an
issue-tracking tool for all types of testing. This tutorial introduces the readers to the fundamental
features, usage, and advantages of JIRA. This tutorial will guide the users on how to utilize this tool to
track and report bugs in different applications.
 JIRA is developed by Atlassian Inc., an Australian Company
 JIRA is a commercial tool and available as a Trial version for a limited time.
 To utilize JIRA services, a license is required.
 JIRA provides free license for academic projects.
 A 15-day trial version is available for an individual person to use.
Use of Jira
 Following are some of the most significant uses of JIRA.
 JIRA is used in Bugs, Issues and Change Request Tracking.
 JIRA can be used in Help desk, Support and Customer Services to create tickets and track the resolution
and status of the created tickets.
 JIRA is useful in Project Management, Task Tracking and Requirement Management.
 JIRA is very useful in Workflow and Process management.
Advantages Disadvantages
• JIRA is a bug tracking tool that allows software
developers to plan, track and work faster.
• JIRA is the main source of information for future
software release. Developers can plan new
features to be added and bugs to be fixed in the
next release.
• Organize Documentation Tasks
• Track Documentation Progress
• Helps Meet Deadlines
• Provides Faster Feedback
• Integration Available with third-party software
• Restricted File Size Upload
• Reports generated are not re-usable
• Complicated User Interface
Jira Boards
Kanban
 This methodology was originally developed for manufacturing systems, particularly Toyota, and involves the
concept of 'just in time' production focused entirely on customer demand.
 Implemented with or without fixed-length iterations, which can deliver either a single enhancement or
feature upon completion, or can group features together to release at once.
Advantages Disadvantages
• continuous delivery during the
development phase
• changes in scope are flexible - in
this respect it reflects the
adaptability of Agile
• a good model for existing
applications or software
maintenance developments
• lack of work - this causes
downtime for the development
team
• not suited to research and
development projects where
work is not imminent
• not suited to projects that
require detailed planning
Google Sheet
This methodology for the fresher, beginner, or who wants to learn and manage tests using Google
spreadsheets, and you will be familiar with the following:
• Manage Features, Test Scenarios, and Test cases
• Hide rows/columns and spreadsheet
• Spreadsheet Charts
• Data Validation
• Conditional Format
• Spreadsheet in-built Function and Usage
Google Sheet
Advantages Disadvantages
 Accessibility: Google Sheets can be
accessed from any device with an
internet connection, making it easy to
collaborate and share data with others.
 Integration: Google Sheets can be
easily integrated with other Google
tools such as Google Forms and Google
Calendar.
 Real-time collaboration: Multiple users
can access and edit the same
spreadsheet at the same time, making
it easy to work on projects as a team.
 Automation: Google Sheets offers a
wide range of built-in functions and the
ability to use Google Apps Script to
automate tasks.
 Cost: Google Sheets is free to use for
basic functionality.
 Limited functionality: While Google
Sheets offers many basic spreadsheet
functions, it may not have all the
advanced features of more robust
spreadsheet software like Microsoft
Excel.
 Dependence on internet connection:
Google Sheets requires an internet
connection to access and edit data,
which can be a problem in areas with
poor connectivity or during power
outages.
 Security: As with any cloud-based
service, there is always a risk of data
breaches or hacking. It's important to
be aware of the security features
offered by Google Sheets and take
necessary precautions to protect
sensitive data.
Google Sheet Boards
THANK YOU!

More Related Content

Similar to Aim (A).pptx (20)

Quality Assurance and Testing services
Quality Assurance and Testing servicesQuality Assurance and Testing services
Quality Assurance and Testing services
 
Fundamentals of Testing Section 1/6
Fundamentals of Testing   Section 1/6Fundamentals of Testing   Section 1/6
Fundamentals of Testing Section 1/6
 
38475471 qa-and-software-testing-interview-questions-and-answers
38475471 qa-and-software-testing-interview-questions-and-answers38475471 qa-and-software-testing-interview-questions-and-answers
38475471 qa-and-software-testing-interview-questions-and-answers
 
CTFL Module 01
CTFL Module 01CTFL Module 01
CTFL Module 01
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
stm f.pdf
stm f.pdfstm f.pdf
stm f.pdf
 
Stm unit1
Stm unit1Stm unit1
Stm unit1
 
Software Testing 2/5
Software Testing 2/5Software Testing 2/5
Software Testing 2/5
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEW
 
L software testing
L   software testingL   software testing
L software testing
 
11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot
 
General technical interview questions
General technical interview questionsGeneral technical interview questions
General technical interview questions
 
CHAPTER 1 BASIC CONCEPTS AND PRELIMINARIES
CHAPTER 1 BASIC CONCEPTS AND PRELIMINARIESCHAPTER 1 BASIC CONCEPTS AND PRELIMINARIES
CHAPTER 1 BASIC CONCEPTS AND PRELIMINARIES
 
Check upload1
Check upload1Check upload1
Check upload1
 
Prvt file test
Prvt file testPrvt file test
Prvt file test
 
Testing
TestingTesting
Testing
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 
Software coding and testing
Software coding and testingSoftware coding and testing
Software coding and testing
 
STLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxSTLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptx
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 

More from 14941

Function of Organization.ppsx
Function of Organization.ppsxFunction of Organization.ppsx
Function of Organization.ppsx14941
 
connectivity.ppsx
connectivity.ppsxconnectivity.ppsx
connectivity.ppsx14941
 
emergingtechnologiesinmis-230718112835-62e8b460.pptx
emergingtechnologiesinmis-230718112835-62e8b460.pptxemergingtechnologiesinmis-230718112835-62e8b460.pptx
emergingtechnologiesinmis-230718112835-62e8b460.pptx14941
 
typesofoperatingsystem2-231016050714-e1a0f6fd.pptx
typesofoperatingsystem2-231016050714-e1a0f6fd.pptxtypesofoperatingsystem2-231016050714-e1a0f6fd.pptx
typesofoperatingsystem2-231016050714-e1a0f6fd.pptx14941
 
basiccomponentsofacomputernetwork-210820131631.pptx
basiccomponentsofacomputernetwork-210820131631.pptxbasiccomponentsofacomputernetwork-210820131631.pptx
basiccomponentsofacomputernetwork-210820131631.pptx14941
 
Internet of Things XL by Slidesgo (1).pptx
Internet of Things XL by Slidesgo (1).pptxInternet of Things XL by Slidesgo (1).pptx
Internet of Things XL by Slidesgo (1).pptx14941
 
network-topology.ppt
network-topology.pptnetwork-topology.ppt
network-topology.ppt14941
 
Cloud Computing Minitheme by Slidesgo.pptx
Cloud Computing Minitheme by Slidesgo.pptxCloud Computing Minitheme by Slidesgo.pptx
Cloud Computing Minitheme by Slidesgo.pptx14941
 
U11..All.Past papers.TaskA.Activity1.RiskAssessment.pptx
U11..All.Past papers.TaskA.Activity1.RiskAssessment.pptxU11..All.Past papers.TaskA.Activity1.RiskAssessment.pptx
U11..All.Past papers.TaskA.Activity1.RiskAssessment.pptx14941
 
IBM_Q3_Security_Roadshow_IBRS_JTurner_v04.ppt
IBM_Q3_Security_Roadshow_IBRS_JTurner_v04.pptIBM_Q3_Security_Roadshow_IBRS_JTurner_v04.ppt
IBM_Q3_Security_Roadshow_IBRS_JTurner_v04.ppt14941
 

More from 14941 (10)

Function of Organization.ppsx
Function of Organization.ppsxFunction of Organization.ppsx
Function of Organization.ppsx
 
connectivity.ppsx
connectivity.ppsxconnectivity.ppsx
connectivity.ppsx
 
emergingtechnologiesinmis-230718112835-62e8b460.pptx
emergingtechnologiesinmis-230718112835-62e8b460.pptxemergingtechnologiesinmis-230718112835-62e8b460.pptx
emergingtechnologiesinmis-230718112835-62e8b460.pptx
 
typesofoperatingsystem2-231016050714-e1a0f6fd.pptx
typesofoperatingsystem2-231016050714-e1a0f6fd.pptxtypesofoperatingsystem2-231016050714-e1a0f6fd.pptx
typesofoperatingsystem2-231016050714-e1a0f6fd.pptx
 
basiccomponentsofacomputernetwork-210820131631.pptx
basiccomponentsofacomputernetwork-210820131631.pptxbasiccomponentsofacomputernetwork-210820131631.pptx
basiccomponentsofacomputernetwork-210820131631.pptx
 
Internet of Things XL by Slidesgo (1).pptx
Internet of Things XL by Slidesgo (1).pptxInternet of Things XL by Slidesgo (1).pptx
Internet of Things XL by Slidesgo (1).pptx
 
network-topology.ppt
network-topology.pptnetwork-topology.ppt
network-topology.ppt
 
Cloud Computing Minitheme by Slidesgo.pptx
Cloud Computing Minitheme by Slidesgo.pptxCloud Computing Minitheme by Slidesgo.pptx
Cloud Computing Minitheme by Slidesgo.pptx
 
U11..All.Past papers.TaskA.Activity1.RiskAssessment.pptx
U11..All.Past papers.TaskA.Activity1.RiskAssessment.pptxU11..All.Past papers.TaskA.Activity1.RiskAssessment.pptx
U11..All.Past papers.TaskA.Activity1.RiskAssessment.pptx
 
IBM_Q3_Security_Roadshow_IBRS_JTurner_v04.ppt
IBM_Q3_Security_Roadshow_IBRS_JTurner_v04.pptIBM_Q3_Security_Roadshow_IBRS_JTurner_v04.ppt
IBM_Q3_Security_Roadshow_IBRS_JTurner_v04.ppt
 

Recently uploaded

FULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | DelhiFULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | DelhiMalviyaNagarCallGirl
 
SHIVNA SAHITYIKI APRIL JUNE 2024 Magazine
SHIVNA SAHITYIKI APRIL JUNE 2024 MagazineSHIVNA SAHITYIKI APRIL JUNE 2024 Magazine
SHIVNA SAHITYIKI APRIL JUNE 2024 MagazineShivna Prakashan
 
FULL ENJOY - 9953040155 Call Girls in Laxmi Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in Laxmi Nagar | DelhiFULL ENJOY - 9953040155 Call Girls in Laxmi Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in Laxmi Nagar | DelhiMalviyaNagarCallGirl
 
Russian⚡ Call Girls In Sector 39 Noida✨8375860717⚡Escorts Service
Russian⚡ Call Girls In Sector 39 Noida✨8375860717⚡Escorts ServiceRussian⚡ Call Girls In Sector 39 Noida✨8375860717⚡Escorts Service
Russian⚡ Call Girls In Sector 39 Noida✨8375860717⚡Escorts Servicedoor45step
 
Triangle Vinyl Record Store, Clermont Florida
Triangle Vinyl Record Store, Clermont FloridaTriangle Vinyl Record Store, Clermont Florida
Triangle Vinyl Record Store, Clermont FloridaGabrielaMiletti
 
Greater Noida Call Girls : ☎ 8527673949, Low rate Call Girls
Greater Noida Call Girls : ☎ 8527673949, Low rate Call GirlsGreater Noida Call Girls : ☎ 8527673949, Low rate Call Girls
Greater Noida Call Girls : ☎ 8527673949, Low rate Call Girlsashishs7044
 
Downtown Call Girls O5O91O128O Pakistani Call Girls in Downtown
Downtown Call Girls O5O91O128O Pakistani Call Girls in DowntownDowntown Call Girls O5O91O128O Pakistani Call Girls in Downtown
Downtown Call Girls O5O91O128O Pakistani Call Girls in Downtowndajasot375
 
Zagor VČ OP 055 - Oluja nad Haitijem.pdf
Zagor VČ OP 055 - Oluja nad Haitijem.pdfZagor VČ OP 055 - Oluja nad Haitijem.pdf
Zagor VČ OP 055 - Oluja nad Haitijem.pdfStripovizijacom
 
Khanpur Call Girls : ☎ 8527673949, Low rate Call Girls
Khanpur Call Girls : ☎ 8527673949, Low rate Call GirlsKhanpur Call Girls : ☎ 8527673949, Low rate Call Girls
Khanpur Call Girls : ☎ 8527673949, Low rate Call Girlsashishs7044
 
Bare And Wild Creation, Curio Shop, Tucumcari NM
Bare And Wild Creation, Curio Shop, Tucumcari NMBare And Wild Creation, Curio Shop, Tucumcari NM
Bare And Wild Creation, Curio Shop, Tucumcari NMroute66connected
 
9654467111 Full Enjoy @24/7 Call Girls In Saket Delhi Ncr
9654467111 Full Enjoy @24/7 Call Girls In Saket Delhi Ncr9654467111 Full Enjoy @24/7 Call Girls In Saket Delhi Ncr
9654467111 Full Enjoy @24/7 Call Girls In Saket Delhi NcrSapana Sha
 
FULL ENJOY - 9953040155 Call Girls in Noida | Delhi
FULL ENJOY - 9953040155 Call Girls in Noida | DelhiFULL ENJOY - 9953040155 Call Girls in Noida | Delhi
FULL ENJOY - 9953040155 Call Girls in Noida | DelhiMalviyaNagarCallGirl
 
Retail Store Scavanger Hunt - Foundation College Park
Retail Store Scavanger Hunt - Foundation College ParkRetail Store Scavanger Hunt - Foundation College Park
Retail Store Scavanger Hunt - Foundation College Parkjosebenzaquen
 
8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available
8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available
8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Availabledollysharma2066
 
FULL ENJOY - 9953040155 Call Girls in Mahipalpur | Delhi
FULL ENJOY - 9953040155 Call Girls in Mahipalpur | DelhiFULL ENJOY - 9953040155 Call Girls in Mahipalpur | Delhi
FULL ENJOY - 9953040155 Call Girls in Mahipalpur | DelhiMalviyaNagarCallGirl
 
Mandi House Call Girls : ☎ 8527673949, Low rate Call Girls
Mandi House Call Girls : ☎ 8527673949, Low rate Call GirlsMandi House Call Girls : ☎ 8527673949, Low rate Call Girls
Mandi House Call Girls : ☎ 8527673949, Low rate Call Girlsashishs7044
 
Russian Call Girls Delhi NCR 9999965857 Call or WhatsApp Anytime
Russian Call Girls Delhi NCR 9999965857 Call or WhatsApp AnytimeRussian Call Girls Delhi NCR 9999965857 Call or WhatsApp Anytime
Russian Call Girls Delhi NCR 9999965857 Call or WhatsApp AnytimeKomal Khan
 
Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...
Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...
Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...dajasot375
 

Recently uploaded (20)

FULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | DelhiFULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | Delhi
 
SHIVNA SAHITYIKI APRIL JUNE 2024 Magazine
SHIVNA SAHITYIKI APRIL JUNE 2024 MagazineSHIVNA SAHITYIKI APRIL JUNE 2024 Magazine
SHIVNA SAHITYIKI APRIL JUNE 2024 Magazine
 
call girls in Noida New Ashok Nagar 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Noida New Ashok Nagar 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Noida New Ashok Nagar 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Noida New Ashok Nagar 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
FULL ENJOY - 9953040155 Call Girls in Laxmi Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in Laxmi Nagar | DelhiFULL ENJOY - 9953040155 Call Girls in Laxmi Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in Laxmi Nagar | Delhi
 
Russian⚡ Call Girls In Sector 39 Noida✨8375860717⚡Escorts Service
Russian⚡ Call Girls In Sector 39 Noida✨8375860717⚡Escorts ServiceRussian⚡ Call Girls In Sector 39 Noida✨8375860717⚡Escorts Service
Russian⚡ Call Girls In Sector 39 Noida✨8375860717⚡Escorts Service
 
Triangle Vinyl Record Store, Clermont Florida
Triangle Vinyl Record Store, Clermont FloridaTriangle Vinyl Record Store, Clermont Florida
Triangle Vinyl Record Store, Clermont Florida
 
Greater Noida Call Girls : ☎ 8527673949, Low rate Call Girls
Greater Noida Call Girls : ☎ 8527673949, Low rate Call GirlsGreater Noida Call Girls : ☎ 8527673949, Low rate Call Girls
Greater Noida Call Girls : ☎ 8527673949, Low rate Call Girls
 
Downtown Call Girls O5O91O128O Pakistani Call Girls in Downtown
Downtown Call Girls O5O91O128O Pakistani Call Girls in DowntownDowntown Call Girls O5O91O128O Pakistani Call Girls in Downtown
Downtown Call Girls O5O91O128O Pakistani Call Girls in Downtown
 
Zagor VČ OP 055 - Oluja nad Haitijem.pdf
Zagor VČ OP 055 - Oluja nad Haitijem.pdfZagor VČ OP 055 - Oluja nad Haitijem.pdf
Zagor VČ OP 055 - Oluja nad Haitijem.pdf
 
Khanpur Call Girls : ☎ 8527673949, Low rate Call Girls
Khanpur Call Girls : ☎ 8527673949, Low rate Call GirlsKhanpur Call Girls : ☎ 8527673949, Low rate Call Girls
Khanpur Call Girls : ☎ 8527673949, Low rate Call Girls
 
Bare And Wild Creation, Curio Shop, Tucumcari NM
Bare And Wild Creation, Curio Shop, Tucumcari NMBare And Wild Creation, Curio Shop, Tucumcari NM
Bare And Wild Creation, Curio Shop, Tucumcari NM
 
9654467111 Full Enjoy @24/7 Call Girls In Saket Delhi Ncr
9654467111 Full Enjoy @24/7 Call Girls In Saket Delhi Ncr9654467111 Full Enjoy @24/7 Call Girls In Saket Delhi Ncr
9654467111 Full Enjoy @24/7 Call Girls In Saket Delhi Ncr
 
FULL ENJOY - 9953040155 Call Girls in Noida | Delhi
FULL ENJOY - 9953040155 Call Girls in Noida | DelhiFULL ENJOY - 9953040155 Call Girls in Noida | Delhi
FULL ENJOY - 9953040155 Call Girls in Noida | Delhi
 
Retail Store Scavanger Hunt - Foundation College Park
Retail Store Scavanger Hunt - Foundation College ParkRetail Store Scavanger Hunt - Foundation College Park
Retail Store Scavanger Hunt - Foundation College Park
 
Call~Girl in Rajendra Nagar New Delhi 8448380779 Full Enjoy Escort Service
Call~Girl in Rajendra Nagar New Delhi 8448380779 Full Enjoy Escort ServiceCall~Girl in Rajendra Nagar New Delhi 8448380779 Full Enjoy Escort Service
Call~Girl in Rajendra Nagar New Delhi 8448380779 Full Enjoy Escort Service
 
8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available
8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available
8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available
 
FULL ENJOY - 9953040155 Call Girls in Mahipalpur | Delhi
FULL ENJOY - 9953040155 Call Girls in Mahipalpur | DelhiFULL ENJOY - 9953040155 Call Girls in Mahipalpur | Delhi
FULL ENJOY - 9953040155 Call Girls in Mahipalpur | Delhi
 
Mandi House Call Girls : ☎ 8527673949, Low rate Call Girls
Mandi House Call Girls : ☎ 8527673949, Low rate Call GirlsMandi House Call Girls : ☎ 8527673949, Low rate Call Girls
Mandi House Call Girls : ☎ 8527673949, Low rate Call Girls
 
Russian Call Girls Delhi NCR 9999965857 Call or WhatsApp Anytime
Russian Call Girls Delhi NCR 9999965857 Call or WhatsApp AnytimeRussian Call Girls Delhi NCR 9999965857 Call or WhatsApp Anytime
Russian Call Girls Delhi NCR 9999965857 Call or WhatsApp Anytime
 
Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...
Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...
Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...
 

Aim (A).pptx

  • 1.
  • 2. Agenda 1. Introduction To Software Testing  Definition of Testing  Objective of Testing & Why Necessary?  Cases of Software Testing  Developer Vs. Tester  Different between defect, error, bug, failure and fault  Software Testing Verification and Validation  When to stop testing? 2. A} Understand the software development and testing methodologies commonly used during the development life cycle to quality assure software  User requirements and typical software project job roles  Characteristics of common software testing methodologies  Features of testing for different software development methodologies
  • 4. What is Testing? To verify that it satisfies specified requirements or identify differences between expected and actual results. To exercising a program with the specific intent of finding errors prior to delivery to the end user. Testing can be defined as A process of analyzing a software item to defect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the software item.
  • 5. Objectives of Testing  To ensure that the solution meets the business and user requirements.  To catch errors that can be bugs or defects.  To determining user acceptability.  To ensuring that a system is ready for use.  To gaining confidence that it works.  Evaluating the capabilities of a system to show that a system performs as intended and verifying documentation. Why Testing is Necessary?  Find errors because they cost a lot  Ensures quality for user/customer  System optimum performance
  • 6. Cases of Software Defects  The human factor o Human make mistakes Ex: inaccurate understanding of end user requirements. o Poor training o Time pressure o Code complexity o Complexity of infrastructure o Changing technologies  Organizational factors o Inefficient communication Ex: Late discovery of serious project flaws. o Unclearly defined requirements  Environmental conditions o Radiation, Magnetism, Electronic fields, Pollution, Etc. o These can change the hardware conditions
  • 7. Developing Vs. Testing Category Testers Developers A Way of Thinking Are perceives as destructive - only happy when they are finding faults! Are perceived as very creative – they write code without which there would be no system Communication skills Usually require good communication skills, tact & diplomacy. Are rarely good communicators Technical skills Normally need to be multi-talented (technical, testing, team skills). Can often specialize in just one or two skills (VB, C++, JAVA, SQL) What their team do Testing 1. Running test cases, finding failures. 2. Can be done without looking at the code. 3. Can be automated by putting a test suite in a shell script or make file. Debugging 1. Finding and correcting faults. 2. Need to work with the code & use a debugger 3. Can`t be automated If same person does both coding and testing  Need “split personality”: when you start testing, become paranoid and malicious.  This is surprisingly difficult: people don`t like to find out that they made mistakes.
  • 8. Different between defect, error, bug, failure and fault  A mistake in coding is called error[mistake].  Error found by tester is called defect.  Defect accepted by development team that it is called bug.  Build does not meet the requirements then it is failure. Ex: For any integer n, square (n) = n*n Output or Result Int square (int x) { Square 2 = 4 reture x*2; Square 3 = ? }
  • 9. Software Testing Verification and Validation Verification Validation Verification is a static practice of verifying documents, design, code and program. Validation is a dynamic mechanism of validating and testing the actual product. It does not involve executing the code. It always involves executing the code. It is human based checking of documents and files. It is computer based execution of program. Verifications uses methods like inspection, reviews, walkthroughs, and desk – checking. Validation uses methods like black box (functional) testing, gray box testing, and white box (structural) testing. Verification is to check whether the software conforms to specifications. Validation is to check whether software meets the customer expectation and requirements.
  • 10. When to Stop Testing? Unlike when to start testing it is difficult to determine when to stop testing, as testing is a never ending process and no one can say that any software is 100% tested. Following are the aspects which should be considered to stop the testing:  Testing Deadlines.  Completion of test case execution.  Completion of Functional and code coverage to a certain point.  Bug rate falls below a certain level and no high priority bugs are identified.  Management decision.
  • 11. O A} Understand the software development and testing methodologies commonly used during the development life cycle to quality assure software
  • 12. A1) Roles & Responsibilities in a Software Development Team
  • 13.  Business Analyst Translates business need into requirements and ensures they are documented correctly. Key Responsibilities  Define the scope and prioritize it, and provide technological solutions.  Define, analyze, and manage technical and business requirements.  Verify that project deliverable meet the requirements.  Product Owner It represents the client or end-users and has a clear vision of the end-product. Key Responsibilities  Set and communicate the requirements of the product.  Ensure an effective communication between the client and the development team.  Maintain and update the product backlog.
  • 14.  Project Manager It responsible for knowing the “who, what, where, when, and why” of the software plan. Key Responsibilities  Plan, schedule, budget, execute, and deliver the software project.  Supervise the development team.  Team Lead Acts as a mentor to help the team keep focused on the tasks, deliver work on time, and meet the project goals. Key Responsibilities  Guide the team towards successful project delivery.  Prevent and solve any conflict or issue that may arise.
  • 15.  Software Architect Defines the overall architecture system and makes high-level design choices based on non-functional requirements. Key Responsibilities  Define the technical and functional architecture of the system.  Develop the most critical components of the system.  Scrum Master Is a team facilitator responsible for addressing any impediments and the one in charge of ensuring that all team members follow the scrum methodology. Key Responsibilities  Assure that team members follow agile values and implement the methodology correctly.  Follow up and facilitate team impediments to clear obstacles.
  • 16.  Developers They are in charge of writing the code and developing the software product. Key Responsibilities  Develop the feature laid out in the sprint.  Update the status of the software project to the project manager.  Testers They are responsible for ensuring that the software solution meets the requirements and complies with the quality standards. Key Responsibilities  Understand feature requirements.  Create and execute test cases to detect bugs or defects.
  • 17. A2) Characteristics of common software testing methodologies Just as there are different software development methodologies, there are also a range of software testing methodologies and tools that can be used to test the product of a development. Some of the development methodologies dictate how testing should be undertaken. For example, consider the V-shaped development methodology. In this section you will explore a range of these methodologies and techniques.
  • 18. (1) Requirements Analysis  In this phase Software testers analyze the customer requirements and work with developers during the design phase to see which requirements are testable and how they are going to test those requirements.  It is very important to start testing activities from the requirements phase itself because the cost of fixing defect is very less if it is found in requirements phase rather than in future phases. (2) Test Planning In this phase all the planning about testing is done like what needs to be tested like  How the testing will be done,  Test strategy to be followed,  What will be the test environment,  What test methodologies will be followed,  Hardware and software availability,  Resources, risks etc. A high level Test plan document is created which includes all the planning inputs mentioned above and circulated to the stakeholders.
  • 19. (3) Test Analysis  In this phase we need to dig deeper into project and figure out what testing needs to be carried out in each SDLC phase.  Automation activities are also decided in this phase  Non functional testing areas (Stress and performance testing) are also analyzed (4) Test Design  In this phase various black-box and white-box test design techniques are used to design the test cases for testing.  Testers start writing test cases by following those design techniques.  Automation scripts also needs to written in this phase. (5) Test Construction and Verification  In this stage we need to done all test activities  Complete the all test plans and test cases.  In this stage need to done stress, performance
  • 20. (6) Testing Cycles: Test Execution and Bug Reporting In this stage we need to done test cycles until test cases are executed without errors. And our test plans is reached (7) Final Testing and Implementation  In this phase the final testing is done for functional testing and non functional testing.  The software is also verified in the production kind of environment. Final test execution reports and documents are prepared in this phase. (8) Post Implementation  In this phase the test environment is cleaned up and restored to default state, the process review meeting's are done and lessons learns are documented.  A document is prepared to cope up similar problems in future releases
  • 21. Software development life cycle models there are defined phases like requirement gathering and analysis, design, coding or implementation, testing and deployment. Each phase goes through the testing. Hence there are various levels of testing. (A) Functional Testing: Functional testing is to testing the functionality of the software application under test. Basically, it is to check the basic functionality mentioned in the functional specification document. Also check whether software application is meeting the user expectations. (B) Non Functional Testing: Non-functional testing the quality characteristics of the component or system is tested. Non-functional refers to aspects of the software that may not be related to a specific function
  • 22. Various Level of Functional Testing Unit testing Unit testing involves the testing of each unit or an individual component of the software application. It is the first level of functional testing. The aim behind unit testing is to validate unit components with its performance. A unit is a single testable part of a software system and tested during the development phase of the application software. The purpose of unit testing is to test the correctness of isolated code. A unit component is an individual function or code of the application. White box testing approach used for unit testing and usually done by the developers. Some crucial reasons are listed below: o Unit testing helps tester and developers to understand the base of code that makes them able to change defect causing code quickly. o Unit testing helps in the documentation. o Unit testing fixes defects very early in the development phase that's why there is a possibility to occur a smaller number of defects in upcoming testing levels. o It helps with code reusability by migrating code and test cases.
  • 23. Various Level of Functional Testing Integration testing Integration testing validates the developed components of the product by testing how well they interconnect with each other. It uses end-to-end testing strategies to test the flow of data through the product to check that data integrity will be maintained. a) Big bang integration testing: In Big Bang integration testing all components or modules are integrated simultaneously, after which everything is tested as a whole.
  • 24. b) Top down: Testing takes place from top to bottom, following the control flow or architectural structure A-B-D-E
  • 25. c) Bottom up: Testing takes place from the bottom of the control flow upwards. Components or systems are substituted by drivers. E-D-B-A d) Functional incremental: Integration and testing takes place on the basis of the functions and in the functional specification. A-D-G-C-E
  • 26. Component Integration Testing:  To test the interactions between software components  The software components themselves may be specified at different times by different specification groups, yet the integration of all of the pieces must work together. Regression Testing: egression testing is a black box testing technic. It is used to authenticate a code change in the software does not impact the existing functionality of the product. Regression testing is making sure that the product works fine with new functionality, bug fixes, or any change in the existing feature. We do regression testing whenever the production code is modified. We can perform regression testing in the following scenario, these are: When new functionality added to the application. Example: A website has a login functionality which allows users to log in only with email. Now providing a new feature to do login using Facebook.
  • 27. Smoke Testing: Smoke Testing comes into the picture at the time of receiving build software from the development team. The purpose of smoke testing is to determine whether the build software is testable or not. It is done at the time of "building software." This process is also known as "Day 0". It is a time-saving process. It reduces testing time because testing is done only when the key features of the application are not working or if the key bugs are not fixed. The focus of Smoke Testing is on the workflow of the core and primary functions of the application. testing the basic & critical feature of an application before doing one round of deep, rigorous testing (before checking all possible positive and negative values) is known as smoke testing. In the smoke testing, we only focus on the positive flow of the application and enter only valid data, not the invalid data. Sanity Testing: sanity testing is performed to make sure that all the defects have been solved and no added issues come into the presence because of these modifications. Sanity testing also ensures that the modification in the code or functions does not affect the associated modules. Consequently, it can be applied only on connected modules that can be impacted.
  • 28. The objective of sanity testing:  The primary aim of executing the sanity testing is to define that the planned features work unevenly as expected. If the sanity test fails, the build is refused to save the costs and time complexity in more severe testing.  The execution of sanity testing makes sure that new modifications don't change the software's current functionalities.  It also validates the accuracy of the newly added features and components. System Testing Is a type of software testing that is performed on a complete integrated system to evaluate the compliance of the system with the corresponding requirements. In system testing, integration testing passed components are taken as input. The goal of integration testing is to detect any irregularity between the units that are integrated together. System testing detects defects within both the integrated units and the whole system. The result of system testing is the observed behavior of a component or a system when it is tested. System Testing is carried out on the whole system in the context of either system requirement specifications or functional requirement specifications or in the context of both. System testing tests the design and behavior of the system and also the expectations of the customer. It is performed to test the system beyond the bounds mentioned in the software requirements specification(SRS). System Testing is basically performed by a testing team that is independent of the development team that helps to test the quality of the system impartial. It has both functional and non-functional testing. System Testing is a black-box testing. System Testing is performed after the integration testing and before the acceptance testing.
  • 29. System Testing Process: System Testing is performed in the following steps:  Test Environment Setup: Create testing environment for the better-quality testing.  Create Test Case: Generate test case for the testing process.  Create Test Data: Generate the data that is to be tested.  Execute Test Case: After the generation of the test case and the test data, test cases are executed.  Defect Reporting: Defects in the system are detected.  Regression Testing: It is carried out to test the side effects of the testing process.  Log Defects: Defects are fixed in this step. Retest: If the test is not successful then again test is performed Advantages of System Testing:  The testers do not require more knowledge of programming to carry out this testing.  It will test the entire product or software so that we will easily detect the errors or defects which cannot be identified during the unit testing and integration testing.  The testing environment is similar to that of the real time production or business environment.  It checks the entire functionality of the system with different test scripts and also it covers the technical and business requirements of clients.  After this testing, the product will almost cover all the possible bugs or errors and hence the development team will confidently go ahead with acceptance testing.
  • 30. Disadvantages of System Testing:  This testing is time consuming process than another testing techniques since it checks the entire product or software.  The cost for the testing will be high since it covers the testing of entire software.  It needs good debugging tool otherwise the hidden errors will not be found. Acceptance testing Acceptance testing is often referred to as build verification testing or 'smoke' testing and it is carried out based on tests designed to confirm that the key elements of the system, as required by the client, are present and work as intended. The tests are written based on the client's original requirements specification and carried out by the client/ customer/user so that the project can be signed off. This is arguably the most importance type of testing as it is conducted by the Quality Assurance Team who will gauge whether the application meets the intended specifications and satisfies the client's requirements. The goal of acceptance testing is to establish confidence in the system. Acceptance testing is most often focused on a validation type testing. Verification testing involves performing special tests to model or simulate a portion of a product or system. Signed off a formal announcement of the end of a project, after everything has been tested and confirmed to have passed the quality assurance process.
  • 31. Alpha Testing: This test takes place at the developer's site. Alpha testing is final testing before the software is released to the general public. It has two phases: In the first phase of alpha testing, the software is tested by in-house developers. In the second phase of alpha testing, the software is handed over to the software QA staff, for additional testing in an environment that is similar to the intended use. Beta Testing:  It is also known as field testing. It takes place at customer's site.  It sends the system to users who install it and use it under real-world working conditions.  The goal of beta testing is to place your application in the hands of real users outside of your own engineering team to discover any flaws or issues from the user's perspective that you would not want to have in your final, released version of the application.
  • 32. Various Level of Non-Functional Testing Performance Testing: It is the most important part of non-functional testing. Generally, this testing defines how quickly the server responds to the user's request. While doing performance testing on the application, we will concentrate on the various factors like Response time, Load, and Stability of the application. Response time  Response time is the time taken by the server to respond to the client's request. Load  Here, Load means that when N-number of users using the application simultaneously or sending the request to the server at a time. Stability  For the stability factor, we can say that, when N-number of users using the application simultaneously for a particular time.
  • 33. When we use the performance testing? We will do performance testing once the software is stable and moved to the production, and it may be accessed by the multiple users concurrently, due to this reason, some performance issues may occur. To avoid these performance issues, the tester performs one round of performance testing. Since it is non-functional testing which doesn't mean that we always use performance testing, we only go for performance testing when the application is functionally stable. Note: Performance testing cannot be done manually since its costly and accurate result can`t be maintained. Type of performance testing:  Load testing  Stress testing  Scalability testing  Stability testing
  • 34. Load Testing The load testing is used to check the performance of an application by applying some load which is either less than or equal to the desired load is known as load testing. For example: In the below image, 1000 users are the desired load, which is given by the customer, and 3/second is the goal which we want to achieve while performing a load testing. Stress testing The stress testing is testing, which checks the behavior of an application by applying load greater than the desired load.
  • 35. Typical tests could include simultaneous occurrences of:  logins from a significant number of users  machines starting up and drawing on a system's resources  automated processes such as virus scanning  backups happening at the same time and using the same resources  high numbers of transactions  large amounts of data being added. The objective of stress testing is to observe how a system behaves under extreme conditions by monitoring the resources of the system, the error messages which it displays and its ability to recover from stress back to operational normality. For example: If we took the above example and increased the desired load 1000 to 1100 users, and the goal is 4/second. While performing the stress testing in this scenario, it will pass because the load is greater (100 up) than the actual desired load.
  • 36. Scalability testing Checking the performance of an application by increasing or decreasing the load in particular scales (no of a user) is known as scalability testing. Upward scalability and downward scalability testing are called scalability testing. Scalability testing is divided into two parts which are as follows: o Upward scalability testing o Downward scalability testing Upward scalability testing It is testing where we increase the number of users on a particular scale until we get a crash point. We will use upward scalability testing to find the maximum capacity of an application. Downward scalability testing The downward scalability testing is used when the load testing is not passed, then start decreasing the no. of users in a particular interval until the goal is achieved. So that it is easy to identify the bottleneck (bug). Stability testing Checking the performance of an application by applying the load for a particular duration of time is known as Stability Testing.
  • 37. Performance testing process The performance testing cannot be done manually since:  We need a lot of resources, and it became a costlier approach.  And the accuracy cannot maintain when we track response time manually. The Performance testing process will be completed in the following steps:  Identify performance scenarios  Plan and design performance test script  Configure the test environment & distribute the load  Execute test scripts  Result  Analysis result  Identify the Bottleneck  Re-run test
  • 38. Usability testing Nowadays, we have n-numbers of application available in application store in order to help the people in their works. And where they can give a negative response or a poor rating, which leads a particular product towards their ends before it is downloaded or installed by a limited number of end-users. In short, we can say that one bad review can damage all the resources skill, extended hours of planning, enthusiasm to develop the product, and so on. That is why Usability testing comes into the picture to resolve these types of issues, as usability testing has a vibrant significance and is executed by the test engineers throughout the software testing life cycle.
  • 39. What is usability testing? Usability Testing is a significant type of software testing technique, which is comes under the non-function testing. It is primarily used in user-centered interaction design on order to check the usability or ease of using a software product. The implementation of usability testing requires an understanding of the application, as it is extensive testing. Generally, usability testing is performed from an end-user viewpoint to verify if the system is efficiently working or not. The primary purpose of executing the usability testing is to check that the application should be easy to use for the end-user who is meant to use it, whereas sustaining the client's specified functional and business requirements. When we use usability testing, it makes sure that the developed software is straightforward while using the system without facing any problem and makes end-user life easier. In Usability Testing, the user-friendliness can be described with the help of the following characteristics: o Easy to understand o Easy to access o Look and feel o Faster to Access o Effective Navigation o Good Error Handling
  • 40. Easy to understand  All the features of software or applications must be visible to the end-users. Easy to Access  A user-friendly application should be accessible by everyone. Easy to Access  The look and feel of the application should be excellent and attractive to get the user's interest.  The GUI of the software should be good because if the GUI is not well, the user may be lost his/her interest while using the application or the software.  The quality of the product is up to the mark as given by the client. Faster to Access  The software should be faster while accessing, which means that the application's response time is quick.  If the response time is slow, it might happen that the user got irritated. We have to ensure that our application will be loaded within 3 to 6 seconds of the response time.
  • 41. Effective Navigation  Effective navigation is the most significant aspect of the software. Some of the following aspects for effective navigation:  Good Internal Linking  Informative header and footer  Good search feature Good Error Handling  Handling error at a coding level makes sure that the software or the application is bug-free and robust.  By showing the correct error message will help to enhance the user experience and usability of the application. Compatibility testing It is part of non-functional testing. Once the application is stable, we moved it to the production, it may be used or accessed by multiple users on the different platforms, and they may face some compatibility issues, to avoid these issues, we do one round of compatibility testing. Generally, we go for compatibility testing, only when the application or software is functionally stable.
  • 42. Types of compatibility testing:  Software  Hardware  Network  Mobile
  • 43. Software Here, software means different operating systems (Linux, Window, and Mac) and also check the software compatibility on the various versions of the operating systems like Win98, Window 7, Window 10, Vista, Window XP, Window 8, UNIX, Ubuntu, and Mac. And, we have two types of version compatibility testing, which are as follows:  Forward compatibility testing: test the software or application on the new or latest versions. For example: Latest Version of the platforms (software) Win 7 → Win 8 → Win 8.1 → Win 10  Backward Compatibility Testing: Test the software or application on the old or previous versions. For example: Window XP → Vista → Win 7 → Win 8 → Win 8.1 And different browsers like Google Chrome, Firefox, and Internet Explorer, etc. Hardware The application is compatible with different sizes such as RAM, hard disk, processor, and the graphic card, etc.
  • 44. Mobile Check that the application is compatible with mobile platforms such as iOS, Android, etc. Network Checking the compatibility of the software in the different network parameters such as operating speed, bandwidth, and capacity. Security testing Security testing is essential to protect systems and data. There are a number of different types of security testing: Static testing - occurs where the system is examined and reviewed. Dynamic testing means that the code is running when tested. Vulnerability scanning - a common testing strategy which uses software to explore and test the system for predictable and known vulnerabilities. Penetration testing- often abbreviated to pen testing, this is considered a form of ethical hacking. The idea is to test a system, a web application or network to identify and exploit the types of vulnerabilities that an attacker would be able to find and exploit. This is carried out to identify potential security flaws which could lead to data loss and account protection issues.
  • 45. When it comes to security, there are four different terms which describe those who test systems: Hackers use techniques with the intention of accessing a system or a computer network illegally and without any authorization. Ethical hackers have the permission of the system or network's owners and are often paid to take this role. Crackers want to illegally break into systems with the intention of stealing or destroying data. Script kiddies are often new programmers who are familiar with a programming language. While they are not yet able to write their own hacking code, they are able to find and use existing 'hacks' to test system security.
  • 46. Different between Black box testing White box testing Grey box testing Black Box Testing Grey Box Testing White Box Testing The Internal Workings of an application are not required to be known Performed by end users and also by testers and developers Testing is based on external expectations - Internal behavior of the application is unknown This is the least time consuming and exhaustive Not suited to algorithm testing This can only be done by trial and error method Somewhat knowledge of the internal workings are known Performed by end users and also by testers and developers Testing is done on the basis of high level database diagrams and data flow diagrams Partly time consuming and exhaustive Not suited to algorithm testing Data domains and Internal boundaries can be tested, if known Tester has full knowledge of the Internal workings of the application Normally done by testers and developers Internal workings are fully known and the tester can design test data accordingly The most exhaustive and time consuming type of testing Suited for algorithm testing Data domains and Internal boundaries can be better tested
  • 47. A3) Features of testing for different software development Methodologies Manual Testing:  This type includes the testing of the Software manually.  without using any automated tool or any script.  In this type the tester takes over the role of an end user and test the Software to identify any un-expected behavior or bug.  There are different stages for manual testing like unit testing, Integration testing, System testing and User Acceptance testing.  Testers use test plan, test cases or test scenarios to test the Software to ensure the completeness of testing. Manual testing also includes exploratory testing as testers explore the software to identify errors in it. - Waterfall model -V Model -Google Sheet -Agile -Scrum -Jira -Kanban
  • 48. Waterfall Model When to use Waterfall? Projects which not focus on changing the requirements, for example, projects initiated from a request for proposals, the customer has a very clear documented requirements Advantages Disadvantages •Easy to explain to the users. •Structures approach. •Stages and activities are well defined. •Helps to plan and schedule the project. •Verification at each stage ensures early detection of errors / misunderstanding •Each phase has specific deliverables. •Assumes that the requirements of a system can be frozen. •Very difficult to go back to any stage after it finished. •A little flexibility and adjusting scope is difficult and expensive. •Costly and required more time, in addition to the detailed plan.
  • 49. V-Model The usage • Software requirements clearly defined and known • Software development technologies and tools are well-known Advantages Disadvantages •Simple and easy to use •Each phase has specific deliverables. •Higher chance of success over the waterfall model due to the development of test plans early on during the life cycle. •Works well for where requirements are easily understood. •Verification and validation of the product in the early stages of product development. •Very inflexible, like the waterfall model. •Adjusting scope is difficult and expensive. •The software is developed during the implementation phase, so no early prototypes of the software are produced. •The model doesn’t provide a clear path for problems found during testing phases. •Costly and required more time, in addition to a detailed plan
  • 50. Agile Development When to use Agile? • It can be used with any type of the project, but it needs more engagement from the customer and to be interactive. Also, we can use it when the customer needs to have some functional requirement ready in less than three weeks and the requirements are not clear enough. • This will enable more valuable and workable piece for software early which also increase the customer satisfaction. Advantages Disadvantages •Decrease the time required to avail some system features. •Face to face communication and continuous inputs from customer representative leaves no space for guesswork. •The end result is the high-quality software in the least possible time duration and satisfied customer. •Scalability. •The ability and collaboration of the customer to express user needs. •Documentation is done at later stages. •Reduce the usability of components. •Needs special skills for the team.
  • 51. Scrum • Scrum is an agile method that focuses on managing iterative development rather than specific agile practices. • There are three phases in Scrum. • The Initial phase is an outline planning phase where you establish the general objectives for the project and design the software architecture. • This is followed by a series of sprint cycles, where each cycle develops an increment of the system. • The project closure phase wraps up the project, completes required documentation such as system help frames and user manuals and assesses the lessons learned from the project.
  • 52. Scrum Sprint Cycle  Sprints are fixed length, normally 2–4 weeks.  The starting point for planning is the product backlog, which is the list of work to be done on the project.  The selection phase involves all of the project team who work with the customer to select the features and functionality from the product backlog to be developed during the sprint.
  • 53. The Sprint Cycle  Once these are agreed, the team organize themselves to develop the software.  During this stage the team is isolated from the customer and the organization, with all communications channeled through the so-called ‘Scrum master’.  The role of the Scrum master is to protect the development team from external distractions.  At the end of the sprint, the work done is reviewed and presented to stakeholders. The next sprint cycle then begins.
  • 55. Jira Tool  JIRA is a project management tool used for issues and bugs tracking system. It is widely used as an issue-tracking tool for all types of testing. This tutorial introduces the readers to the fundamental features, usage, and advantages of JIRA. This tutorial will guide the users on how to utilize this tool to track and report bugs in different applications.  JIRA is developed by Atlassian Inc., an Australian Company  JIRA is a commercial tool and available as a Trial version for a limited time.  To utilize JIRA services, a license is required.  JIRA provides free license for academic projects.  A 15-day trial version is available for an individual person to use.
  • 56. Use of Jira  Following are some of the most significant uses of JIRA.  JIRA is used in Bugs, Issues and Change Request Tracking.  JIRA can be used in Help desk, Support and Customer Services to create tickets and track the resolution and status of the created tickets.  JIRA is useful in Project Management, Task Tracking and Requirement Management.  JIRA is very useful in Workflow and Process management. Advantages Disadvantages • JIRA is a bug tracking tool that allows software developers to plan, track and work faster. • JIRA is the main source of information for future software release. Developers can plan new features to be added and bugs to be fixed in the next release. • Organize Documentation Tasks • Track Documentation Progress • Helps Meet Deadlines • Provides Faster Feedback • Integration Available with third-party software • Restricted File Size Upload • Reports generated are not re-usable • Complicated User Interface
  • 58. Kanban  This methodology was originally developed for manufacturing systems, particularly Toyota, and involves the concept of 'just in time' production focused entirely on customer demand.  Implemented with or without fixed-length iterations, which can deliver either a single enhancement or feature upon completion, or can group features together to release at once. Advantages Disadvantages • continuous delivery during the development phase • changes in scope are flexible - in this respect it reflects the adaptability of Agile • a good model for existing applications or software maintenance developments • lack of work - this causes downtime for the development team • not suited to research and development projects where work is not imminent • not suited to projects that require detailed planning
  • 59. Google Sheet This methodology for the fresher, beginner, or who wants to learn and manage tests using Google spreadsheets, and you will be familiar with the following: • Manage Features, Test Scenarios, and Test cases • Hide rows/columns and spreadsheet • Spreadsheet Charts • Data Validation • Conditional Format • Spreadsheet in-built Function and Usage
  • 60. Google Sheet Advantages Disadvantages  Accessibility: Google Sheets can be accessed from any device with an internet connection, making it easy to collaborate and share data with others.  Integration: Google Sheets can be easily integrated with other Google tools such as Google Forms and Google Calendar.  Real-time collaboration: Multiple users can access and edit the same spreadsheet at the same time, making it easy to work on projects as a team.  Automation: Google Sheets offers a wide range of built-in functions and the ability to use Google Apps Script to automate tasks.  Cost: Google Sheets is free to use for basic functionality.  Limited functionality: While Google Sheets offers many basic spreadsheet functions, it may not have all the advanced features of more robust spreadsheet software like Microsoft Excel.  Dependence on internet connection: Google Sheets requires an internet connection to access and edit data, which can be a problem in areas with poor connectivity or during power outages.  Security: As with any cloud-based service, there is always a risk of data breaches or hacking. It's important to be aware of the security features offered by Google Sheets and take necessary precautions to protect sensitive data.