SlideShare une entreprise Scribd logo
1  sur  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).

Contenu connexe

Similaire à 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 CompleteVartika Saxena
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool OverviewANKUR-BA
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools OverviewSachin-QA
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation Framework#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation FrameworkAgile Testing Alliance
 
Neev Independent Testing Services
Neev Independent Testing ServicesNeev Independent Testing Services
Neev Independent Testing ServicesNeev Technologies
 
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 SourceRapidValue
 
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.pdfMinh Quân Đoàn
 
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbsModule 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbsShivang100
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfQA or the Highway
 
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 developmentBJIT Ltd
 
[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...DevDay.org
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools OverviewMurageppa-QA
 
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.pdfdevika266518
 
DevOps Engineering.pptx
DevOps Engineering.pptxDevOps Engineering.pptx
DevOps Engineering.pptxAbalBoot
 
Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US gbaravindkumar
 

Similaire à 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
 

Dernier

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 lineJulioCesarSalazarHer1
 
Circuit Breaker arc phenomenon.pdf engineering
Circuit Breaker arc phenomenon.pdf engineeringCircuit Breaker arc phenomenon.pdf engineering
Circuit Breaker arc phenomenon.pdf engineeringKanchhaTamang
 
Lab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docxLab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docxRashidFaridChishti
 
Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2T.D. Shashikala
 
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxSLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxCHAIRMAN M
 
EMPLOYEE MANAGEMENT SYSTEM FINAL presentation
EMPLOYEE MANAGEMENT SYSTEM FINAL presentationEMPLOYEE MANAGEMENT SYSTEM FINAL presentation
EMPLOYEE MANAGEMENT SYSTEM FINAL presentationAmayJaiswal4
 
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Lovely Professional University
 
BURGER ORDERING SYSYTEM PROJECT REPORT..pdf
BURGER ORDERING SYSYTEM PROJECT REPORT..pdfBURGER ORDERING SYSYTEM PROJECT REPORT..pdf
BURGER ORDERING SYSYTEM PROJECT REPORT..pdfKamal Acharya
 
Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1T.D. Shashikala
 
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 HorizonMorshed Ahmed Rahath
 
Artificial Intelligence Bayesian Reasoning
Artificial Intelligence Bayesian ReasoningArtificial Intelligence Bayesian Reasoning
Artificial Intelligence Bayesian Reasoninghotman30312
 
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...MohammadAliNayeem
 
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.pdfJNTUA
 
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...Prakhyath Rai
 
Lesson no16 application of Induction Generator in Wind.ppsx
Lesson no16 application of Induction Generator in Wind.ppsxLesson no16 application of Induction Generator in Wind.ppsx
Lesson no16 application of Induction Generator in Wind.ppsxmichaelprrior
 
Piping and instrumentation diagram p.pdf
Piping and instrumentation diagram p.pdfPiping and instrumentation diagram p.pdf
Piping and instrumentation diagram p.pdfAshrafRagab14
 
5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...archanaece3
 
Electrical shop management system project report.pdf
Electrical shop management system project report.pdfElectrical shop management system project report.pdf
Electrical shop management system project report.pdfKamal Acharya
 
Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..MaherOthman7
 
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 SachpazisDr.Costas Sachpazis
 

Dernier (20)

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
 
Circuit Breaker arc phenomenon.pdf engineering
Circuit Breaker arc phenomenon.pdf engineeringCircuit Breaker arc phenomenon.pdf engineering
Circuit Breaker arc phenomenon.pdf engineering
 
Lab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docxLab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docx
 
Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2
 
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxSLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
 
EMPLOYEE MANAGEMENT SYSTEM FINAL presentation
EMPLOYEE MANAGEMENT SYSTEM FINAL presentationEMPLOYEE MANAGEMENT SYSTEM FINAL presentation
EMPLOYEE MANAGEMENT SYSTEM FINAL presentation
 
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
 
BURGER ORDERING SYSYTEM PROJECT REPORT..pdf
BURGER ORDERING SYSYTEM PROJECT REPORT..pdfBURGER ORDERING SYSYTEM PROJECT REPORT..pdf
BURGER ORDERING SYSYTEM PROJECT REPORT..pdf
 
Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1
 
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
 
Artificial Intelligence Bayesian Reasoning
Artificial Intelligence Bayesian ReasoningArtificial Intelligence Bayesian Reasoning
Artificial Intelligence Bayesian Reasoning
 
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
 
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
 
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...
 
Lesson no16 application of Induction Generator in Wind.ppsx
Lesson no16 application of Induction Generator in Wind.ppsxLesson no16 application of Induction Generator in Wind.ppsx
Lesson no16 application of Induction Generator in Wind.ppsx
 
Piping and instrumentation diagram p.pdf
Piping and instrumentation diagram p.pdfPiping and instrumentation diagram p.pdf
Piping and instrumentation diagram p.pdf
 
5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...
 
Electrical shop management system project report.pdf
Electrical shop management system project report.pdfElectrical shop management system project report.pdf
Electrical shop management system project report.pdf
 
Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..
 
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
 

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).