SlideShare ist ein Scribd-Unternehmen logo
1 von 30
UNIT - 4
TESTING IN THE AGILE ENVIRONMENT
• Agile software testing is a methodology that
helps developers test their code continuously
and rapidly.
• This methodology also allows testers to get
immediate feedback from customers.
Agile Testing Life Cycle
Agile Testing Methodologies
• Writing Test Cases to express the behavior of the
system.
• Early Defect Prevention, detection and removal.
• Ensuring that the right test types are run at the
right time and as part of the right test level.
The other commonly used Agile Testing Methodologies
are −
• Test-Driven Development (TDD) − Test-Driven
Development (TDD) is based on coding guided by
tests.
• Acceptance Test-Driven Development (ATDD) −
Acceptance Test-Driven Development (ATDD) is based
on communication between the customers,
developers and testers and driven by pre-defined
Acceptance Criteria and Acceptance Test Cases.
• Behavior-Driven Development (BDD) − In Behavior-
Driven Development (BDD) testing is based on the
expected behavior of the software being developed.
TESTING WEB AND MOBILE
APPLICATIONS
• Web app testing aims to ensure that websites
deliver a highly functional, bug-free experience
across browsers and devices.
• On the other hand, mobile app testing aims to
identify any compatibility issues or bugs for the
native or hybrid mobile app across a wide range of
Android and iOS devices.
UNIT - 5
TEST AUTOMATION AND
TOOLS
AUTOMATED SOFTWARE TESTING
• Automated testing is the application of software
tools to automate a human-driven manual process
of reviewing and validating a software product.
• Most modern agile and DevOps software projects
now include automated testing from inception.
How does automated testing work?
1. Select a testing tool. This depends on the type of
testing being done and if the tool in question
supports the platform on which the software is being
developed.
2. Define the scope of automation. This means how
much of the software testing is automated.
3. Plan, design and develop. This step includes
planning the automation strategy and developing
test scripts.
4. Execute the test. Software is tested using
automation scripts. The testing tool should also
collect data and provide detailed test reports.
5. Maintenance. Automated test scripts are modified
and updated as needed with newer versions of a
software build.
Tests that are normally automated include the
following:
• Acceptance tests.
• API tests.
• Integration tests.
• Regression tests.
• Smoke tests.
• System tests.
• Unit tests.
• User interface (UI) tests.
Benefits of automated testing
• Better reporting capabilities.
• More frequent tests.
• Enhanced resource efficiency.
• Faster than manual testing and has a faster feedback
cycle
• Higher accuracy.
• Improved bug detection.
• Improved return on investment over manual testing.
• Increased coverage.
• Reusable test scripts.
• Scalability.
• Automated testing best practices
1. Tests that are performed on different hardware or
software configurations or platforms.
2. Repetitive tests that are used for various builds.
3. Tests with multiple data sets.
4. Tests that are impossible to perform manually.
5. Tests that are too laborious and time-consuming
when performed manually.
6. Tests for frequently used functionalities.
7. Tests that frequently generate human error.
AUTOMATE TESTING OF WEB
APPLICATIONS
• Automated web application testing is a process in
which testing is performed using a set of
automated testing tools.
• Automating web applications saves time and
money as the same set of automated test cases
can be reused multiple times in various agile
sprints.
The types of Web App Testing that can be automated
What are the best tools for it?
Katalon Studio
• What do we like?
• It is convenient and accessible to different types of
testers(inclusive and exclusive of both programmings).
• It is flexible and easy to use with its quick, powerful
features(robust).
• It also supports image-based testing, which is quite an enhanced
and new feature.
• It’s known for its hassle-free, customizable execution workflow.
• It can support web application automation, API Testing, Mobile
Testing.
• It has built-in support for creating test cases, generating test
scripts, reporting results, recording actions. It is famous for its
built-in support for groovy(java) scripting languages.
• It can be integrated with CI/DevOps workflow and other tools.
• What do we dislike?
• It only supports groovy(java). So it is feasible for
java users only.
• It is not an open-source tool. It is closed source
code, and it further results in a small community.
• There are some performance issues, like more
interruption causing the device to slow down.
Cucumber
• What do we like?
• It is a collaborative tool based on behavior-driven
development.
• It is an open-source automated software testing tool.
• It helps in writing acceptance tests for our web
applications.
• It provides the amalgamation of both test
documentation and its specification(specs).
• It supports multi-languages like python,perl,ruby,.net
etc.
• It is provided with cross-platform compatibility.
• It can be integrated with DevOps tools like GIT,
Jenkins, etc., for better enhancement.
• What do we dislike?
• Integration and its dependency on generating
reports through plugins can be challenging
enough.
• Every time a new attribute or feature undergoes
it, we have to ensure all current steps and validate
them to see if they can be used.
Selenium
• What do we like?
• It is the most versatile automated software testing tool.
• This tool is open-source and widely supports all languages
and frameworks.
• It comes with heavy library packages.
• It supports cross-browser automation, API automation, and
database automation.
• Testers can use it for regression, exploratory testing, and
quick reproduction of bugs.
• It can be beneficial in parallel test execution techniques.
• It is highly known for its flexibility with ease of
implementation.
• Its integration with gauge automation framework, Galen
framework, lambda test, etc., is trending nowadays.
• What do we dislike?
• Test Maintenance in selenium can become
cumbersome and even expensive sometimes.
• Selenium requires coding skills, if not exceptional
but above average, though.
• It is only supported for web applications, though.
• Technical support and its reliability can cause
problems, though.
• Flaky tests can be a big problem as they generate
false negatives and false positives or vice versa.
SELENIUM: Introducing Web Driver and
Web Elements
• Selenium WebDriver is a programming interface that
can be used to create and execute test cases.
• It allows you to test across all major programming
languages, browsers, and operating systems.
• What is web driver and web element?
• The WebDriver class focuses on driving the browser in
a broad sense. It loads pages, it switches to different
windows/frames, gets the page title etc. Broad actions
that aren't specific to an element on the page.
• WebElement concentrates on interacting with a
specific element that you've located.
4 major components of Selenium
WebDriver
1. Selenium IDE
• Selenium IDE (Integrated Development
Environment) is the major tool in the Selenium
Suite. It is a complete integrated development
environment (IDE) for Selenium tests.
• It is implemented as a Firefox Add-On and as a
Chrome Extension. It allows for recording, editing
and debugging of functional tests.
2. Selenium RC (Remote control)
• Selenium Remote Control (RC) is a server, written
in Java, that accepts commands for the browser
via HTTP.
• RC makes it possible to write automated tests for
a web application in any programming language,
which allows for better integration of Selenium in
existing unit test frameworks.
• To make writing tests easier, Selenium project
currently provides client drivers for PHP, Python,
Ruby, .NET, Perl and Java.
3. Selenium Web Driver
• Selenium WebDriver is the successor to Selenium
RC. Selenium WebDriver accepts commands (sent
in Selenese, or via a Client API) and sends them to
a browser.
• Most browser drivers actually launch and access a
browser application (such as Firefox, Google
Chrome, Internet Explorer, Safari, or Microsoft
Edge);
4. Selenium GRID
• Selenium Grid is a server that allows tests to use
web browser instances running on remote
machines. With Selenium Grid, one server acts as
the hub.
• Selenium Grid allows running tests in parallel on
multiple machines and to manage different
browser versions and browser configurations
centrally (instead of in each individual test).

Weitere ähnliche Inhalte

Ähnlich wie 4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5

Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test Complete
Vartika Saxena
 
Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US
gbaravindkumar
 

Ähnlich wie 4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5 (20)

Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test Complete
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation Framework#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation Framework
 
Neev Independent Testing Services
Neev Independent Testing ServicesNeev Independent Testing Services
Neev Independent Testing Services
 
Khushboo_Resume
Khushboo_ResumeKhushboo_Resume
Khushboo_Resume
 
An Essential Guide to Effective Test Automation Leveraging Open Source
An Essential Guide to Effective Test Automation Leveraging Open SourceAn Essential Guide to Effective Test Automation Leveraging Open Source
An Essential Guide to Effective Test Automation Leveraging Open Source
 
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
 
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbsModule 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
 
Top 5 automation testing tools to gear up website development
Top 5 automation testing tools to gear up website developmentTop 5 automation testing tools to gear up website development
Top 5 automation testing tools to gear up website development
 
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Introduction to selenium
Introduction to seleniumIntroduction to selenium
Introduction to selenium
 
Module-1_Getting-Started_with_selenium_and_Java_basics.pdf
Module-1_Getting-Started_with_selenium_and_Java_basics.pdfModule-1_Getting-Started_with_selenium_and_Java_basics.pdf
Module-1_Getting-Started_with_selenium_and_Java_basics.pdf
 
DevOps Engineering.pptx
DevOps Engineering.pptxDevOps Engineering.pptx
DevOps Engineering.pptx
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
 
Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US
 

Kürzlich hochgeladen

ALCOHOL PRODUCTION- Beer Brewing Process.pdf
ALCOHOL PRODUCTION- Beer Brewing Process.pdfALCOHOL PRODUCTION- Beer Brewing Process.pdf
ALCOHOL PRODUCTION- Beer Brewing Process.pdf
Madan Karki
 
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 

Kürzlich hochgeladen (20)

15-Minute City: A Completely New Horizon
15-Minute City: A Completely New Horizon15-Minute City: A Completely New Horizon
15-Minute City: A Completely New Horizon
 
ALCOHOL PRODUCTION- Beer Brewing Process.pdf
ALCOHOL PRODUCTION- Beer Brewing Process.pdfALCOHOL PRODUCTION- Beer Brewing Process.pdf
ALCOHOL PRODUCTION- Beer Brewing Process.pdf
 
Operating System chapter 9 (Virtual Memory)
Operating System chapter 9 (Virtual Memory)Operating System chapter 9 (Virtual Memory)
Operating System chapter 9 (Virtual Memory)
 
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdfInvolute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
 
Circuit Breaker arc phenomenon.pdf engineering
Circuit Breaker arc phenomenon.pdf engineeringCircuit Breaker arc phenomenon.pdf engineering
Circuit Breaker arc phenomenon.pdf engineering
 
Filters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility ApplicationsFilters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility Applications
 
Introduction to Artificial Intelligence and History of AI
Introduction to Artificial Intelligence and History of AIIntroduction to Artificial Intelligence and History of AI
Introduction to Artificial Intelligence and History of AI
 
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
 
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas SachpazisSeismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
 
ANSI(ST)-III_Manufacturing-I_05052020.pdf
ANSI(ST)-III_Manufacturing-I_05052020.pdfANSI(ST)-III_Manufacturing-I_05052020.pdf
ANSI(ST)-III_Manufacturing-I_05052020.pdf
 
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
 
How to Design and spec harmonic filter.pdf
How to Design and spec harmonic filter.pdfHow to Design and spec harmonic filter.pdf
How to Design and spec harmonic filter.pdf
 
ChatGPT Prompt Engineering for project managers.pdf
ChatGPT Prompt Engineering for project managers.pdfChatGPT Prompt Engineering for project managers.pdf
ChatGPT Prompt Engineering for project managers.pdf
 
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
 
Linux Systems Programming: Semaphores, Shared Memory, and Message Queues
Linux Systems Programming: Semaphores, Shared Memory, and Message QueuesLinux Systems Programming: Semaphores, Shared Memory, and Message Queues
Linux Systems Programming: Semaphores, Shared Memory, and Message Queues
 
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdfInstruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
 
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxSLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
 
Electrostatic field in a coaxial transmission line
Electrostatic field in a coaxial transmission lineElectrostatic field in a coaxial transmission line
Electrostatic field in a coaxial transmission line
 
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
 
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
 

4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5

  • 2. TESTING IN THE AGILE ENVIRONMENT • Agile software testing is a methodology that helps developers test their code continuously and rapidly. • This methodology also allows testers to get immediate feedback from customers.
  • 4. Agile Testing Methodologies • Writing Test Cases to express the behavior of the system. • Early Defect Prevention, detection and removal. • Ensuring that the right test types are run at the right time and as part of the right test level.
  • 5. The other commonly used Agile Testing Methodologies are − • Test-Driven Development (TDD) − Test-Driven Development (TDD) is based on coding guided by tests. • Acceptance Test-Driven Development (ATDD) − Acceptance Test-Driven Development (ATDD) is based on communication between the customers, developers and testers and driven by pre-defined Acceptance Criteria and Acceptance Test Cases. • Behavior-Driven Development (BDD) − In Behavior- Driven Development (BDD) testing is based on the expected behavior of the software being developed.
  • 6. TESTING WEB AND MOBILE APPLICATIONS • Web app testing aims to ensure that websites deliver a highly functional, bug-free experience across browsers and devices. • On the other hand, mobile app testing aims to identify any compatibility issues or bugs for the native or hybrid mobile app across a wide range of Android and iOS devices.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. UNIT - 5 TEST AUTOMATION AND TOOLS
  • 12. AUTOMATED SOFTWARE TESTING • Automated testing is the application of software tools to automate a human-driven manual process of reviewing and validating a software product. • Most modern agile and DevOps software projects now include automated testing from inception.
  • 13. How does automated testing work? 1. Select a testing tool. This depends on the type of testing being done and if the tool in question supports the platform on which the software is being developed. 2. Define the scope of automation. This means how much of the software testing is automated. 3. Plan, design and develop. This step includes planning the automation strategy and developing test scripts. 4. Execute the test. Software is tested using automation scripts. The testing tool should also collect data and provide detailed test reports. 5. Maintenance. Automated test scripts are modified and updated as needed with newer versions of a software build.
  • 14. Tests that are normally automated include the following: • Acceptance tests. • API tests. • Integration tests. • Regression tests. • Smoke tests. • System tests. • Unit tests. • User interface (UI) tests.
  • 15. Benefits of automated testing • Better reporting capabilities. • More frequent tests. • Enhanced resource efficiency. • Faster than manual testing and has a faster feedback cycle • Higher accuracy. • Improved bug detection. • Improved return on investment over manual testing. • Increased coverage. • Reusable test scripts. • Scalability.
  • 16. • Automated testing best practices 1. Tests that are performed on different hardware or software configurations or platforms. 2. Repetitive tests that are used for various builds. 3. Tests with multiple data sets. 4. Tests that are impossible to perform manually. 5. Tests that are too laborious and time-consuming when performed manually. 6. Tests for frequently used functionalities. 7. Tests that frequently generate human error.
  • 17. AUTOMATE TESTING OF WEB APPLICATIONS • Automated web application testing is a process in which testing is performed using a set of automated testing tools. • Automating web applications saves time and money as the same set of automated test cases can be reused multiple times in various agile sprints.
  • 18. The types of Web App Testing that can be automated
  • 19. What are the best tools for it? Katalon Studio • What do we like? • It is convenient and accessible to different types of testers(inclusive and exclusive of both programmings). • It is flexible and easy to use with its quick, powerful features(robust). • It also supports image-based testing, which is quite an enhanced and new feature. • It’s known for its hassle-free, customizable execution workflow. • It can support web application automation, API Testing, Mobile Testing. • It has built-in support for creating test cases, generating test scripts, reporting results, recording actions. It is famous for its built-in support for groovy(java) scripting languages. • It can be integrated with CI/DevOps workflow and other tools.
  • 20. • What do we dislike? • It only supports groovy(java). So it is feasible for java users only. • It is not an open-source tool. It is closed source code, and it further results in a small community. • There are some performance issues, like more interruption causing the device to slow down.
  • 21. Cucumber • What do we like? • It is a collaborative tool based on behavior-driven development. • It is an open-source automated software testing tool. • It helps in writing acceptance tests for our web applications. • It provides the amalgamation of both test documentation and its specification(specs). • It supports multi-languages like python,perl,ruby,.net etc. • It is provided with cross-platform compatibility. • It can be integrated with DevOps tools like GIT, Jenkins, etc., for better enhancement.
  • 22. • What do we dislike? • Integration and its dependency on generating reports through plugins can be challenging enough. • Every time a new attribute or feature undergoes it, we have to ensure all current steps and validate them to see if they can be used.
  • 23. Selenium • What do we like? • It is the most versatile automated software testing tool. • This tool is open-source and widely supports all languages and frameworks. • It comes with heavy library packages. • It supports cross-browser automation, API automation, and database automation. • Testers can use it for regression, exploratory testing, and quick reproduction of bugs. • It can be beneficial in parallel test execution techniques. • It is highly known for its flexibility with ease of implementation. • Its integration with gauge automation framework, Galen framework, lambda test, etc., is trending nowadays.
  • 24. • What do we dislike? • Test Maintenance in selenium can become cumbersome and even expensive sometimes. • Selenium requires coding skills, if not exceptional but above average, though. • It is only supported for web applications, though. • Technical support and its reliability can cause problems, though. • Flaky tests can be a big problem as they generate false negatives and false positives or vice versa.
  • 25. SELENIUM: Introducing Web Driver and Web Elements • Selenium WebDriver is a programming interface that can be used to create and execute test cases. • It allows you to test across all major programming languages, browsers, and operating systems. • What is web driver and web element? • The WebDriver class focuses on driving the browser in a broad sense. It loads pages, it switches to different windows/frames, gets the page title etc. Broad actions that aren't specific to an element on the page. • WebElement concentrates on interacting with a specific element that you've located.
  • 26. 4 major components of Selenium WebDriver
  • 27. 1. Selenium IDE • Selenium IDE (Integrated Development Environment) is the major tool in the Selenium Suite. It is a complete integrated development environment (IDE) for Selenium tests. • It is implemented as a Firefox Add-On and as a Chrome Extension. It allows for recording, editing and debugging of functional tests.
  • 28. 2. Selenium RC (Remote control) • Selenium Remote Control (RC) is a server, written in Java, that accepts commands for the browser via HTTP. • RC makes it possible to write automated tests for a web application in any programming language, which allows for better integration of Selenium in existing unit test frameworks. • To make writing tests easier, Selenium project currently provides client drivers for PHP, Python, Ruby, .NET, Perl and Java.
  • 29. 3. Selenium Web Driver • Selenium WebDriver is the successor to Selenium RC. Selenium WebDriver accepts commands (sent in Selenese, or via a Client API) and sends them to a browser. • Most browser drivers actually launch and access a browser application (such as Firefox, Google Chrome, Internet Explorer, Safari, or Microsoft Edge);
  • 30. 4. Selenium GRID • Selenium Grid is a server that allows tests to use web browser instances running on remote machines. With Selenium Grid, one server acts as the hub. • Selenium Grid allows running tests in parallel on multiple machines and to manage different browser versions and browser configurations centrally (instead of in each individual test).