SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Tools for Java test automation

Daniel Wildt
Software Developer
dwildt@gmail.com
http://danielwildt.blogspot.com
Agenda

•   Test is a form of art
•   Agile Methodologies and testing
•   White box testing techniques (Unit Testing)
•   Black box testing techniques (Functional)
•   Ensuring Quality in the test process with Test
    Coverage
•   Applying Test Driven Development and
    Continuous Integration
•   Final words
•   References
•   Links

                                                     2
                             !
Test is a form of art
• You need to verify development code without
  seeing it (some times)
• You need to ensure that requirements are
  implemented in the same way they were defined
• You need to embrace change (focus on
  customer)
• You need to test faster to deliver faster (short
  cycles)
• You need to apply quality while testing
• You need to have a good coverage of
  source/requirements while testing
• You need to be creative while finding spots to
  test
                                                 3
                          !
Agile Methodologies and Testing

• Agile Methodologies are based on disciplines
  and practices that focus on principles like these
  (from Agile Manifesto principles):
  • Satisfy the customer as highest priority, through early and continuous
    delivery of valuable software.
  • Business people and developers working together daily throughout the
    project
  • Measure the progress of a project based on working software, its
    primary measure
  • Self organizing teams, motivated individuals, communication and
    simplicity as strong values
  • Technical excellence is wanted to enhance agility.
  • Continuous improvement, to tune and adjust teams to become more
    effective.


                                                                             4
                                       !
Agile Methodologies and Testing




                                  5
                !
Agile Methodologies and Testing




                                  6
                !
White box testing techniques
       (Unit Testing)
• Source grow together with source
  • TDD




                                      7
                         !
White box testing techniques
       (Unit Testing)
• Easy integration for
  Business - FIT




                                      8
                         !
White box testing techniques
            (Unit Testing)
•   You don’t have it?
    Mock!

    public class ExampleTest {
        @Before
        public void setup() {
            mock = createMock(Collaborator.class);
            classUnderTest = new ClassUnderTest();
            classUnderTest.addListener(mock);
        }
        @Test
        public void addDocument() {
            mock.documentAdded(quot;New Documentquot;);
            replay(mock);
            classUnderTest.addDocument(quot;New Documentquot;,
                new byte[0]);
            verify(mock);
        }
    }
                                                     9
                             !
Black box testing techniques
       (Functional)
• Functional Test
  Selenium IDE




                                      10
                       !
Black box testing techniques
       (Functional)
• Stress Testing
• JMeter




                                      11
                       !
Ensuring Quality in the test process
with Test Coverage




                                       12
                 !
Applying Test Driven Development
and Continuous Integration




                                   13
               !
Applying Test Driven Development
and Continuous Integration




                                   14
               !
Final words

• Always think about this:


                  Verification
                       X
                  Validation
                        ?
• More: check CMMI – Level 3

                                 15
                             !
Final words




http://www.ambysoft.com/essays/floot.html
                                                16
                                            !
References

• Beck, Kent; Andres, Cynthia. Extreme
  Programming explained: embrace change. 2ª
  edition.
• Pressman, Roger S. Software Engineering.
• Agile Manifesto
  http://www.agilemanifesto.org




                                              17
                        !
References

• Tinkha, Andy; Kaner, Cem. Exploring
  Exploratory Testing.
  http://www.testingeducation.org/a/explore.pdf
• Scott Ambler essay about FLOOT.
  http://www.ambysoft.com/essays/floot.html
• Ciclomatic Complexity.
  http://www.sei.cmu.edu/str/descriptions/cyclomat
  ic_body.html



                                                18
                          !
Links

• JUnit – Unit Testing
   • http://www.junit.org
• JMeter – Stress Testing
   • http://jakarta.apache.org/jmeter/
• Emma – Code Coverage
   • http://emma.sf.net
• Selenium –Functional testing
   • http://www.openqa.org/selenium/
• PMD – Code Audit
   • http://pmd.sf.net

                                         19
                           !
Links

• CheckStyle –Code Audit
   • http://checkstyle.sf.net
• Easy Mock
   • http://www.easymock.org/
• FIT
   • http://fit.c2.com/
• Lunt Build
   • http://luntbuild.javaforge.com/
• Cruise Control
   • http://confluence.public.thoughtworks.org/disp
     lay/CC

                                                  20
                           !
Questions?




             21
      !
Thanks!




          22
    !

Mais conteúdo relacionado

Mais procurados

Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven DevelopmentJohn Blum
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019Paulo Clavijo
 
TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018Paulo Clavijo
 
Unit Testing and TDD 2017
Unit Testing and TDD 2017Unit Testing and TDD 2017
Unit Testing and TDD 2017Xavi Hidalgo
 
Test-Driven development; why you should never code without it
Test-Driven development; why you should never code without itTest-Driven development; why you should never code without it
Test-Driven development; why you should never code without itJad Salhani
 
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...TelecomValley
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development CodeOps Technologies LLP
 
Test driven development
Test driven developmentTest driven development
Test driven developmentNascenia IT
 
Test driven development
Test driven developmentTest driven development
Test driven developmentlukaszkujawa
 
Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...
Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...
Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...Steve Lange
 
Google test training
Google test trainingGoogle test training
Google test trainingThierry Gayet
 
TDD (Test Driven Design)
TDD (Test Driven Design)TDD (Test Driven Design)
TDD (Test Driven Design)nedirtv
 
Tdd 왜 배우기 어려운가
Tdd 왜 배우기 어려운가Tdd 왜 배우기 어려운가
Tdd 왜 배우기 어려운가Jaehoon Oh
 
Scrum and Test-driven development
Scrum and Test-driven developmentScrum and Test-driven development
Scrum and Test-driven developmenttoteb5
 
BDD on Java Concordion and Selenium
BDD on Java Concordion and SeleniumBDD on Java Concordion and Selenium
BDD on Java Concordion and Seleniumspringbyexample
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)David Ehringer
 
Engaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsEngaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsRavi Kumar
 

Mais procurados (19)

Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Python and test
Python and testPython and test
Python and test
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019
 
TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018
 
Unit Testing and TDD 2017
Unit Testing and TDD 2017Unit Testing and TDD 2017
Unit Testing and TDD 2017
 
Test-Driven development; why you should never code without it
Test-Driven development; why you should never code without itTest-Driven development; why you should never code without it
Test-Driven development; why you should never code without it
 
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...
Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...
Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...
 
Google test training
Google test trainingGoogle test training
Google test training
 
TDD (Test Driven Design)
TDD (Test Driven Design)TDD (Test Driven Design)
TDD (Test Driven Design)
 
Tdd 왜 배우기 어려운가
Tdd 왜 배우기 어려운가Tdd 왜 배우기 어려운가
Tdd 왜 배우기 어려운가
 
Scrum and Test-driven development
Scrum and Test-driven developmentScrum and Test-driven development
Scrum and Test-driven development
 
BDD on Java Concordion and Selenium
BDD on Java Concordion and SeleniumBDD on Java Concordion and Selenium
BDD on Java Concordion and Selenium
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
 
Engaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsEngaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile Projects
 

Semelhante a Just Java2007 - Daniel Wildt - Tools For Java Test Automation

Testing Sap: Modern Methodology
Testing Sap: Modern MethodologyTesting Sap: Modern Methodology
Testing Sap: Modern MethodologyEthan Jewett
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentZendCon
 
[DSBW Spring 2009] Unit 09: Web Testing
[DSBW Spring 2009] Unit 09: Web Testing[DSBW Spring 2009] Unit 09: Web Testing
[DSBW Spring 2009] Unit 09: Web TestingCarles Farré
 
An exploratory study of the state of practice of performance testing in Java-...
An exploratory study of the state of practice of performance testing in Java-...An exploratory study of the state of practice of performance testing in Java-...
An exploratory study of the state of practice of performance testing in Java-...corpaulbezemer
 
Agile Java Testing With Open Source Frameworks
Agile Java Testing With Open Source FrameworksAgile Java Testing With Open Source Frameworks
Agile Java Testing With Open Source FrameworksViraf Karai
 
Computer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.pptComputer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.pptTrevorChinguwo
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsPankaj Dubey
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015Raghu Karnati
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Fwdays
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightInflectra
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3Ian McDonald
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaEdureka!
 
Testing in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita GalkinTesting in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita GalkinSigma Software
 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Javaguy_davis
 
Testing Interview Questions.pdf
Testing Interview Questions.pdfTesting Interview Questions.pdf
Testing Interview Questions.pdfPradeepaKannan6
 
Software Testing Tecniques
Software Testing TecniquesSoftware Testing Tecniques
Software Testing Tecniquesersanbilik
 
Building functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalBuilding functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalDmitriy Gumeniuk
 

Semelhante a Just Java2007 - Daniel Wildt - Tools For Java Test Automation (20)

Test
TestTest
Test
 
Testing Sap: Modern Methodology
Testing Sap: Modern MethodologyTesting Sap: Modern Methodology
Testing Sap: Modern Methodology
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
[DSBW Spring 2009] Unit 09: Web Testing
[DSBW Spring 2009] Unit 09: Web Testing[DSBW Spring 2009] Unit 09: Web Testing
[DSBW Spring 2009] Unit 09: Web Testing
 
An exploratory study of the state of practice of performance testing in Java-...
An exploratory study of the state of practice of performance testing in Java-...An exploratory study of the state of practice of performance testing in Java-...
An exploratory study of the state of practice of performance testing in Java-...
 
Agile Java Testing With Open Source Frameworks
Agile Java Testing With Open Source FrameworksAgile Java Testing With Open Source Frameworks
Agile Java Testing With Open Source Frameworks
 
Testing In Java
Testing In JavaTesting In Java
Testing In Java
 
Computer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.pptComputer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.ppt
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tips
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
 
Bai giang-se-03mar14
Bai giang-se-03mar14Bai giang-se-03mar14
Bai giang-se-03mar14
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It Right
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | Edureka
 
Testing in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita GalkinTesting in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita Galkin
 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Java
 
Testing Interview Questions.pdf
Testing Interview Questions.pdfTesting Interview Questions.pdf
Testing Interview Questions.pdf
 
Software Testing Tecniques
Software Testing TecniquesSoftware Testing Tecniques
Software Testing Tecniques
 
Building functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalBuilding functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortal
 

Mais de Daniel Wildt

Pré-Jogo / Inception - Descobrindo Produtos Viáveis
Pré-Jogo / Inception - Descobrindo Produtos ViáveisPré-Jogo / Inception - Descobrindo Produtos Viáveis
Pré-Jogo / Inception - Descobrindo Produtos ViáveisDaniel Wildt
 
O que é inovação?
O que é inovação?O que é inovação?
O que é inovação?Daniel Wildt
 
GoF Design Patterns - Borland Conference (BorCon) 2004
GoF Design Patterns - Borland Conference (BorCon) 2004GoF Design Patterns - Borland Conference (BorCon) 2004
GoF Design Patterns - Borland Conference (BorCon) 2004Daniel Wildt
 
O potencial Mobile [GUDAY 2016]
O potencial Mobile [GUDAY 2016]O potencial Mobile [GUDAY 2016]
O potencial Mobile [GUDAY 2016]Daniel Wildt
 
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014Daniel Wildt
 
Aula: Agile Kickstart - Como criar equipes de alto desempenho?
Aula: Agile Kickstart - Como criar equipes de alto desempenho?Aula: Agile Kickstart - Como criar equipes de alto desempenho?
Aula: Agile Kickstart - Como criar equipes de alto desempenho?Daniel Wildt
 
Causas - Qual é a sua?
Causas - Qual é a sua?Causas - Qual é a sua?
Causas - Qual é a sua?Daniel Wildt
 
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.Daniel Wildt
 
Tarefas! O Que fazer?
Tarefas! O Que fazer?Tarefas! O Que fazer?
Tarefas! O Que fazer?Daniel Wildt
 
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)Daniel Wildt
 
Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013Daniel Wildt
 
JustJava 2013 - Indo para as nuvens?
JustJava 2013 - Indo para as nuvens?JustJava 2013 - Indo para as nuvens?
JustJava 2013 - Indo para as nuvens?Daniel Wildt
 
Agile KickStart 2 - Escrevendo User Stories
Agile KickStart 2 - Escrevendo User StoriesAgile KickStart 2 - Escrevendo User Stories
Agile KickStart 2 - Escrevendo User StoriesDaniel Wildt
 
Agile KickStart 3 - Planejamento e Dia a Dia de Projeto
Agile KickStart 3 - Planejamento e Dia a Dia de ProjetoAgile KickStart 3 - Planejamento e Dia a Dia de Projeto
Agile KickStart 3 - Planejamento e Dia a Dia de ProjetoDaniel Wildt
 
Agile KickStart 4 - Melhoria Contínua
Agile KickStart 4 - Melhoria ContínuaAgile KickStart 4 - Melhoria Contínua
Agile KickStart 4 - Melhoria ContínuaDaniel Wildt
 
Agile Kickstart 1 - Cultura Ágil
Agile Kickstart 1 - Cultura ÁgilAgile Kickstart 1 - Cultura Ágil
Agile Kickstart 1 - Cultura ÁgilDaniel Wildt
 
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...Daniel Wildt
 

Mais de Daniel Wildt (20)

Não Espere!
Não Espere! Não Espere!
Não Espere!
 
Pré-Jogo / Inception - Descobrindo Produtos Viáveis
Pré-Jogo / Inception - Descobrindo Produtos ViáveisPré-Jogo / Inception - Descobrindo Produtos Viáveis
Pré-Jogo / Inception - Descobrindo Produtos Viáveis
 
O que é inovação?
O que é inovação?O que é inovação?
O que é inovação?
 
GoF Design Patterns - Borland Conference (BorCon) 2004
GoF Design Patterns - Borland Conference (BorCon) 2004GoF Design Patterns - Borland Conference (BorCon) 2004
GoF Design Patterns - Borland Conference (BorCon) 2004
 
O potencial Mobile [GUDAY 2016]
O potencial Mobile [GUDAY 2016]O potencial Mobile [GUDAY 2016]
O potencial Mobile [GUDAY 2016]
 
Lean Canvas
Lean CanvasLean Canvas
Lean Canvas
 
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
 
Aula: Agile Kickstart - Como criar equipes de alto desempenho?
Aula: Agile Kickstart - Como criar equipes de alto desempenho?Aula: Agile Kickstart - Como criar equipes de alto desempenho?
Aula: Agile Kickstart - Como criar equipes de alto desempenho?
 
Causas - Qual é a sua?
Causas - Qual é a sua?Causas - Qual é a sua?
Causas - Qual é a sua?
 
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
 
Tarefas! O Que fazer?
Tarefas! O Que fazer?Tarefas! O Que fazer?
Tarefas! O Que fazer?
 
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
 
Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013
 
JustJava 2013 - Indo para as nuvens?
JustJava 2013 - Indo para as nuvens?JustJava 2013 - Indo para as nuvens?
JustJava 2013 - Indo para as nuvens?
 
Agile KickStart 2 - Escrevendo User Stories
Agile KickStart 2 - Escrevendo User StoriesAgile KickStart 2 - Escrevendo User Stories
Agile KickStart 2 - Escrevendo User Stories
 
Agile KickStart 3 - Planejamento e Dia a Dia de Projeto
Agile KickStart 3 - Planejamento e Dia a Dia de ProjetoAgile KickStart 3 - Planejamento e Dia a Dia de Projeto
Agile KickStart 3 - Planejamento e Dia a Dia de Projeto
 
Agile KickStart 4 - Melhoria Contínua
Agile KickStart 4 - Melhoria ContínuaAgile KickStart 4 - Melhoria Contínua
Agile KickStart 4 - Melhoria Contínua
 
Agile Kickstart 1 - Cultura Ágil
Agile Kickstart 1 - Cultura ÁgilAgile Kickstart 1 - Cultura Ágil
Agile Kickstart 1 - Cultura Ágil
 
Quem é você?
Quem é você?Quem é você?
Quem é você?
 
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
 

Último

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Último (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

Just Java2007 - Daniel Wildt - Tools For Java Test Automation

  • 1. Tools for Java test automation Daniel Wildt Software Developer dwildt@gmail.com http://danielwildt.blogspot.com
  • 2. Agenda • Test is a form of art • Agile Methodologies and testing • White box testing techniques (Unit Testing) • Black box testing techniques (Functional) • Ensuring Quality in the test process with Test Coverage • Applying Test Driven Development and Continuous Integration • Final words • References • Links 2 !
  • 3. Test is a form of art • You need to verify development code without seeing it (some times) • You need to ensure that requirements are implemented in the same way they were defined • You need to embrace change (focus on customer) • You need to test faster to deliver faster (short cycles) • You need to apply quality while testing • You need to have a good coverage of source/requirements while testing • You need to be creative while finding spots to test 3 !
  • 4. Agile Methodologies and Testing • Agile Methodologies are based on disciplines and practices that focus on principles like these (from Agile Manifesto principles): • Satisfy the customer as highest priority, through early and continuous delivery of valuable software. • Business people and developers working together daily throughout the project • Measure the progress of a project based on working software, its primary measure • Self organizing teams, motivated individuals, communication and simplicity as strong values • Technical excellence is wanted to enhance agility. • Continuous improvement, to tune and adjust teams to become more effective. 4 !
  • 7. White box testing techniques (Unit Testing) • Source grow together with source • TDD 7 !
  • 8. White box testing techniques (Unit Testing) • Easy integration for Business - FIT 8 !
  • 9. White box testing techniques (Unit Testing) • You don’t have it? Mock! public class ExampleTest { @Before public void setup() { mock = createMock(Collaborator.class); classUnderTest = new ClassUnderTest(); classUnderTest.addListener(mock); } @Test public void addDocument() { mock.documentAdded(quot;New Documentquot;); replay(mock); classUnderTest.addDocument(quot;New Documentquot;, new byte[0]); verify(mock); } } 9 !
  • 10. Black box testing techniques (Functional) • Functional Test Selenium IDE 10 !
  • 11. Black box testing techniques (Functional) • Stress Testing • JMeter 11 !
  • 12. Ensuring Quality in the test process with Test Coverage 12 !
  • 13. Applying Test Driven Development and Continuous Integration 13 !
  • 14. Applying Test Driven Development and Continuous Integration 14 !
  • 15. Final words • Always think about this: Verification X Validation ? • More: check CMMI – Level 3 15 !
  • 17. References • Beck, Kent; Andres, Cynthia. Extreme Programming explained: embrace change. 2ª edition. • Pressman, Roger S. Software Engineering. • Agile Manifesto http://www.agilemanifesto.org 17 !
  • 18. References • Tinkha, Andy; Kaner, Cem. Exploring Exploratory Testing. http://www.testingeducation.org/a/explore.pdf • Scott Ambler essay about FLOOT. http://www.ambysoft.com/essays/floot.html • Ciclomatic Complexity. http://www.sei.cmu.edu/str/descriptions/cyclomat ic_body.html 18 !
  • 19. Links • JUnit – Unit Testing • http://www.junit.org • JMeter – Stress Testing • http://jakarta.apache.org/jmeter/ • Emma – Code Coverage • http://emma.sf.net • Selenium –Functional testing • http://www.openqa.org/selenium/ • PMD – Code Audit • http://pmd.sf.net 19 !
  • 20. Links • CheckStyle –Code Audit • http://checkstyle.sf.net • Easy Mock • http://www.easymock.org/ • FIT • http://fit.c2.com/ • Lunt Build • http://luntbuild.javaforge.com/ • Cruise Control • http://confluence.public.thoughtworks.org/disp lay/CC 20 !
  • 21. Questions? 21 !
  • 22. Thanks! 22 !