Description
This course will provide you with all the knowledge necessary to develop your Java/Java EE applications around the best unit testing and recipe tools and practices. You will learn how to integrate testing into your development cycle, Refactoring, emergent design and agile practices.
Who is this training for ?
For whom ?
Software development engineers or project managers.
Prerequisites
Training objectives
Training program
- Definition and principles of TDD
- Testing in the development process.
- Process, quality, tests.
- Typology of tests.
- Origin of TDD.
- Agility and testing.
- Development cycle.
- The 3A.
- Exception handling.
- Refactoring and emergent design.
- Scenario management.
- TDD gains? Practical work Design and integration of tests in the development cycle? a project.
- Automated testing with the JUnit framework
- The need for a testing framework.
- JUnit.
- Alternatives (TestNG) and complementary tooling.
- Best practices associated with JUnit.
- Practical work Implementation of JUnit.
- Agile development best practices
- TDD and RDBMS data management, graphical interfaces, Web interfaces.
- Practical work Implementation of practices.
- Advanced techniques with TDD
- Correct anomalies.
- Manage the increase in load, product security.
- Management of software security.
- Management of performance.
- Stress tests.
- Practical work Anomaly management.
- Performance tests.
- Mock and Stub objects
- The theory.
- Application of the theory without using a library.
- Discovery of the libraries on the market.
- Detailed study of JMOCK or MockObject.
- Practical work Using Mock objects.
- Test Writing Techniques
- Fixtures.
- Qualities of test code.
- Responsibility-based testing, implementation.
- TDD styles .
- Practical work Improve the quality of written tests.
- Legacy Code Testing
- What is legacy code? Legacy code evolution cycle.
- Functional testing with Fit and FitNesse.
- Functional testing and TDD.
- Running functional tests with FitNesse.
- The tools
- Open Source and commercial tools.
- Hardware testing architecture.
- Study of a continuous integration tool.
- Study and choice of a continuous integrator.
- Study of a test coverage tool.
- Study of a test management and communication tool between MOA and MOE: Fitnesse .
- Practical work Implementation of several tools.