KEMBAR78
Continuous Testing & Agile QA practices .pptx
Continuous Testing &
Agile QA Practices
SQA & PM BOOTCAMP
MUHAMMAD FAHAD BASHIR
Fact
Did you know that fixing a software bug after a product has been launched can
cost up to 100 times more than resolving it during the initial stages of
development? The significance of Continuous Testing in present-day software
development cannot be overstated.
Continuous Testing
Continuous Testing in Software Quality Assurance
(SQA) is a process of running automated tests
continuously throughout the software development
lifecycle to provide immediate feedback on the
quality of the code
core practice in DevOps and Continuous
Integration/Continuous Deployment (CI/CD)
pipelines, aiming to identify defects early and
accelerate software releases.
most organizations have adopted DevOps, which
uses an environment of collaboration and shared
responsibility.
Why exist
Continuous testing is a best practice typically associated with DevOps or Agile methodology.
By catching bugs early on, companies can save both time and money, as fixing issues in
production can be quite expensive.
implementing continuous test delivery can be challenging since it requires rapid feedback loops
and a high degree of test automation
Key Aspects
Automated Testing: Continuous testing relies heavily on automated tests that are executed at every
stage of the development process.
Early Feedback: By running tests frequently, teams receive immediate feedback on the quality of their
code, allowing them to address issues quickly and prevent them from escalating.
Integration with CI/CD: Continuous testing is an integral part of CI/CD pipelines, ensuring that code
changes are continuously integrated, built, tested, and deployed.
Reduced Risk: Early defect detection through continuous testing helps reduce the risk of issues in
production, leading to more reliable software.
Increased Efficiency: Automated testing reduces the need for manual testing, leading to faster
feedback and quicker release cycles.
Improved Quality: By continuously monitoring and validating code quality, continuous testing
contributes to overall software quality and reliability.
Test Automation
•Manual testing, while thorough, is
time-consuming and requires
extensive labor.
•Automation, on the other hand, frees
up engineers' time, allowing them to
focus on resolving bugs discovered
during testing.
• Exploratory testing remains vital in
creatively identifying new testing
scenarios, which can later be
automated.
Exploratory Methods
Testing without predefined test cases — based on intuition, app behavior, and
creative scenarios.
This method helps testers to swiftly evaluate the
functionality of the software and spot possible
problems, which makes it especially useful early in a
project or when dealing with changing requirements.
Continuous Delivery (CD)
•Continuous Delivery (CD)is a method where code modifications are automatically set up for
release to the production environment.
•Proper implementation of CD ensures that developers consistently have a product ready for
deployment that has undergone extensive continuous testing.
•This comprehensive testing approach allows for thorough verification of app updates across
various aspects before they are released to customers.
Continuous Integration
•Continuous Integration (CI) is a key process in software development where
developers frequently merge their code into a shared repository,
•his approach enables the automatic building of software, offering rapid feedback
on its quality.
•Continuous Integration (CI) is a process different from continuous testing.
Shift Left Testing
Shift-left testing is an approach in software development that emphasizes moving
testing activities earlier in the development process for improved software
quality, better test coverage, continuous feedback and a faster time to market.
QA in Agile Teams
Traditional QA Agile QA
Tests after dev Tests with dev
One big test plan Sprint-wise testing
Less collaboration QA part of daily standups
Practices in Agile QA:
•Pair testing
•Test case reusability
•Sprint-level bug triage
•Focus on “Done = Tested + Reviewed + Accepted
What makes it difficult
Frequent team meetings - One of the prerequisites for ensuring the success of continuous
testing is to communicate errors with the development team, so they can work
Dedicated planning - continuous testing also requires arranging the order of test case
executions to maximize productivity. Figuring out how and when to use automation is also a
key aspect for achieving optimal testing.
Time and resources - Increased complexity in the planning of tests can lead to an increase in
the size of the dedicated resources required for it.
Continuous feedback loops - The cycle of testing, feedback, and tweaking is repeated till the
product is pushed for release.
Continuous Testing & Testing Automation
Automated testing increases the speed at which you can perform tasks and provides consistency
throughout your testing. It also allows you to do many more tests than you could manually,
saving you a lot of time and effort.
Continuous testing is an approach to quality assurance that improves the quality of a product by
using feedback to test throughout the development process.
Continuous Testing Work Within DevOps
Software release cycles are getting shorter, so organizations need to adjust their practices to keep
up
based on speeding up all development activities by performing security testing as soon as
possible.
implementing continuous testing, you can ensure that your software releases are of the highest
quality and that development moves forward unhindered.
Methodologies of Continuous Testing
Continuous testing involves a range of tests to ensure the reliability, security, and usability of an
application. These tests include:
Unit testing is a software-development process that ensures each component of an application
works as expected.
Integration and Messaging Testing: Integration and messaging tests ensure that all of the
software modules, when working together, are error-free
Functional Testing: Functional testing checks whether the software is ready to deliver the
customer experience.
Frameworks Used for Continuous Testing
Continuous testing tools are designed to help you with your testing efforts
•Selenium is a software framework that developers with extensive programming skills can use for
QA testing
•Jenkins can simplify the process of assuring high code quality and successful builds.
•Appium is an open-source test automation framework for mobile web apps. It allows you to
create cross-browser tests for both desktop and mobile devices.
•Eggplant is a continuous testing tool that provides a one-of-a-kind approach to testing: an image-
based solution
Developing a continuous testing
framework
For a successful continuous testing framework, testing must be integrated into every phase of the
Software Development Life Cycle (SDLC), including design, development, release, and live
stages.
1. Integrate testing with SDLC stages
Implement tests alongside continuous integration, aiming for at least daily testing. Continuous
optimization by the team and management, possibly using DORA (DevOps Research and
Assessment) metrics, can further enhance release speed.
Test Types
Your testing approach should
align with your business goals,
typically involving a mix
of functional and non-functional
tests.
Agile QA Process: Principles, Steps, and
Best Practices
The agile QA (Quality Assurance) process is a set of practices and methodologies aimed at
ensuring that software developed within an Agile framework meets the desired quality
standards.
https://www.testrail.com/blog/agile-qa-best-practices/
Conclusion
Practical Demo
It's automated, integrated into the CI/CD pipeline (e.g. GitHub Actions, Jenkins, GitLab).
1. Continuous Testing Demo (Grade Calculator)
1. Create Your Files Locally
2. Create GitHub Repo
3. Add GitHub Actions Workflow
4. Push Everything
GitHub : muhammadfahd/grade-calculator-ci: example tutorial for continuous testing
Practical Demo
2. Exploratory Testing Session (Live Activity)
Show how QA can test creatively — without scripted test cases.
How to Do It:
•Open a live app (Grade Calculator, Login Page, etc.)
•Ask participants: “What weird inputs can you test?”
Have them:
◦ Try invalid data
◦ Skip input fields
◦ Enter special characters or long inputs
•Then log 1–2 bugs in Excel or Google Sheet.
• Say:“This is Exploratory Testing — where testers act like users, not robots.”

Continuous Testing & Agile QA practices .pptx

  • 1.
    Continuous Testing & AgileQA Practices SQA & PM BOOTCAMP MUHAMMAD FAHAD BASHIR
  • 2.
    Fact Did you knowthat fixing a software bug after a product has been launched can cost up to 100 times more than resolving it during the initial stages of development? The significance of Continuous Testing in present-day software development cannot be overstated.
  • 3.
    Continuous Testing Continuous Testingin Software Quality Assurance (SQA) is a process of running automated tests continuously throughout the software development lifecycle to provide immediate feedback on the quality of the code core practice in DevOps and Continuous Integration/Continuous Deployment (CI/CD) pipelines, aiming to identify defects early and accelerate software releases. most organizations have adopted DevOps, which uses an environment of collaboration and shared responsibility.
  • 5.
    Why exist Continuous testingis a best practice typically associated with DevOps or Agile methodology. By catching bugs early on, companies can save both time and money, as fixing issues in production can be quite expensive. implementing continuous test delivery can be challenging since it requires rapid feedback loops and a high degree of test automation
  • 6.
    Key Aspects Automated Testing:Continuous testing relies heavily on automated tests that are executed at every stage of the development process. Early Feedback: By running tests frequently, teams receive immediate feedback on the quality of their code, allowing them to address issues quickly and prevent them from escalating. Integration with CI/CD: Continuous testing is an integral part of CI/CD pipelines, ensuring that code changes are continuously integrated, built, tested, and deployed. Reduced Risk: Early defect detection through continuous testing helps reduce the risk of issues in production, leading to more reliable software. Increased Efficiency: Automated testing reduces the need for manual testing, leading to faster feedback and quicker release cycles. Improved Quality: By continuously monitoring and validating code quality, continuous testing contributes to overall software quality and reliability.
  • 7.
    Test Automation •Manual testing,while thorough, is time-consuming and requires extensive labor. •Automation, on the other hand, frees up engineers' time, allowing them to focus on resolving bugs discovered during testing. • Exploratory testing remains vital in creatively identifying new testing scenarios, which can later be automated.
  • 8.
    Exploratory Methods Testing withoutpredefined test cases — based on intuition, app behavior, and creative scenarios. This method helps testers to swiftly evaluate the functionality of the software and spot possible problems, which makes it especially useful early in a project or when dealing with changing requirements.
  • 9.
    Continuous Delivery (CD) •ContinuousDelivery (CD)is a method where code modifications are automatically set up for release to the production environment. •Proper implementation of CD ensures that developers consistently have a product ready for deployment that has undergone extensive continuous testing. •This comprehensive testing approach allows for thorough verification of app updates across various aspects before they are released to customers.
  • 10.
    Continuous Integration •Continuous Integration(CI) is a key process in software development where developers frequently merge their code into a shared repository, •his approach enables the automatic building of software, offering rapid feedback on its quality. •Continuous Integration (CI) is a process different from continuous testing.
  • 13.
    Shift Left Testing Shift-lefttesting is an approach in software development that emphasizes moving testing activities earlier in the development process for improved software quality, better test coverage, continuous feedback and a faster time to market.
  • 14.
    QA in AgileTeams Traditional QA Agile QA Tests after dev Tests with dev One big test plan Sprint-wise testing Less collaboration QA part of daily standups Practices in Agile QA: •Pair testing •Test case reusability •Sprint-level bug triage •Focus on “Done = Tested + Reviewed + Accepted
  • 15.
    What makes itdifficult Frequent team meetings - One of the prerequisites for ensuring the success of continuous testing is to communicate errors with the development team, so they can work Dedicated planning - continuous testing also requires arranging the order of test case executions to maximize productivity. Figuring out how and when to use automation is also a key aspect for achieving optimal testing. Time and resources - Increased complexity in the planning of tests can lead to an increase in the size of the dedicated resources required for it. Continuous feedback loops - The cycle of testing, feedback, and tweaking is repeated till the product is pushed for release.
  • 16.
    Continuous Testing &Testing Automation Automated testing increases the speed at which you can perform tasks and provides consistency throughout your testing. It also allows you to do many more tests than you could manually, saving you a lot of time and effort. Continuous testing is an approach to quality assurance that improves the quality of a product by using feedback to test throughout the development process.
  • 17.
    Continuous Testing WorkWithin DevOps Software release cycles are getting shorter, so organizations need to adjust their practices to keep up based on speeding up all development activities by performing security testing as soon as possible. implementing continuous testing, you can ensure that your software releases are of the highest quality and that development moves forward unhindered.
  • 18.
    Methodologies of ContinuousTesting Continuous testing involves a range of tests to ensure the reliability, security, and usability of an application. These tests include: Unit testing is a software-development process that ensures each component of an application works as expected. Integration and Messaging Testing: Integration and messaging tests ensure that all of the software modules, when working together, are error-free Functional Testing: Functional testing checks whether the software is ready to deliver the customer experience.
  • 19.
    Frameworks Used forContinuous Testing Continuous testing tools are designed to help you with your testing efforts •Selenium is a software framework that developers with extensive programming skills can use for QA testing •Jenkins can simplify the process of assuring high code quality and successful builds. •Appium is an open-source test automation framework for mobile web apps. It allows you to create cross-browser tests for both desktop and mobile devices. •Eggplant is a continuous testing tool that provides a one-of-a-kind approach to testing: an image- based solution
  • 20.
    Developing a continuoustesting framework For a successful continuous testing framework, testing must be integrated into every phase of the Software Development Life Cycle (SDLC), including design, development, release, and live stages. 1. Integrate testing with SDLC stages Implement tests alongside continuous integration, aiming for at least daily testing. Continuous optimization by the team and management, possibly using DORA (DevOps Research and Assessment) metrics, can further enhance release speed.
  • 21.
    Test Types Your testingapproach should align with your business goals, typically involving a mix of functional and non-functional tests.
  • 22.
    Agile QA Process:Principles, Steps, and Best Practices The agile QA (Quality Assurance) process is a set of practices and methodologies aimed at ensuring that software developed within an Agile framework meets the desired quality standards. https://www.testrail.com/blog/agile-qa-best-practices/
  • 23.
  • 24.
    Practical Demo It's automated,integrated into the CI/CD pipeline (e.g. GitHub Actions, Jenkins, GitLab). 1. Continuous Testing Demo (Grade Calculator) 1. Create Your Files Locally 2. Create GitHub Repo 3. Add GitHub Actions Workflow 4. Push Everything GitHub : muhammadfahd/grade-calculator-ci: example tutorial for continuous testing
  • 25.
    Practical Demo 2. ExploratoryTesting Session (Live Activity) Show how QA can test creatively — without scripted test cases. How to Do It: •Open a live app (Grade Calculator, Login Page, etc.) •Ask participants: “What weird inputs can you test?” Have them: ◦ Try invalid data ◦ Skip input fields ◦ Enter special characters or long inputs •Then log 1–2 bugs in Excel or Google Sheet. • Say:“This is Exploratory Testing — where testers act like users, not robots.”