Test Driven Development in Java with Junit Cursus
Aanbieder | Learnit Training |
Kosten | €1.540,00 |
Overzicht
Benodigde kennis
Students should have a good understanding of the Java Platform Standard and Enterprise Edition.Programma
Test-Driven Development Appreciate the benefits of test-driven development Understand the concept of "Write test before code" Understand different types of tests Understand the value of tests Explain the value of continuous ... Volledig programmaKeurmerken
InschrijvenBeschrijving
In this course students learn how to apply test driven development in Java. The course discusses the different techniques as well as their position within a software development methodology (including IT Service Management) and development environment. Attention is payed to unit testing and continous integration and how this is done in Java using Junit and Mock Objects. One of the course subjects is also Web Application Testing using HttpUnit. In appendices attention is payed to issues regarding Writing High-Performance Applications, like profiling and benchmarking and code and design optimization techniques.
Opmerkingen
This hands-on course gives a excellent in-depth overview of testing Java applications.Programma
Test-Driven Development
- Appreciate the benefits of test-driven development
- Understand the concept of "Write test before code"
- Understand different types of tests
- Understand the value of tests
- Explain the value of continuous integration
UnitTesting
- Understand the scope of unit testing
- Understand what needs to be tested
- List basic Unit Testing best-practices
- Discuss how Unit testing can also fulfill regression testing
- Introduce the xUnit family of products
- Understand how unit testing can help in resolving bugs that slip through
- Continuous Integration
Continuous Integration
- Introduce Continuous Integration (CI)
- Properties of CI
- CI's position in the IT Service Management
- CI vs. (McConnell's) Smoke Test
- Use tools such as CruiseControl in conjunction with Dashboard
JUnit
- Define the components of JUnit
- Understand the concept of a TestCase
- Describe the assertion process
- Define TestCases
- Understand Fixtures
- Understand Test Suites
- List different TestRunners
- Ant and JUnit
- Peek into JUnit 4
- Pitfalls in Unit Testing
- Discuss Test Coverage
Mock Objects
- Understand the concept of Mock objects
- List candidate object for mocking
- Explain benefits of Mock Objects
- Understand the difference between Stubs and Mock Objects
- Understand the difference between Dummy Implementations and Mock Objects
- Understand where to use Mock objects
- Understand what Mock frameworks can do for you
- Give an overview of and example Mock framework (EasyMock)
- Discuss different strategies in testing database applications
- Introduce DbUnit
Introduction to HttpUnit
- Understand how HttpUnit automates the HTML parsing process
- Understand the relation between JUnit and HttpUnit
- Brief introduction to in-container testing and Cactus
Performance: Process and Issues (Appendix)
- List four possible metrics for measuring software performance
- Explain the effect of OO design on software performance
- Explain where performance tuning resides in the overall OOSD cycle
Profiling and Benchmarking (Appendix)
- List and describe the two types of benchmarks
- Describe the criteria that should be considered when constructing a benchmark plan
- Name the three most useful targets for profiling
- List four common tools/techniques for profiling
- Describe two strategies for improving performance as a result of profiling data
- List and explain the five most common problem areas for good performance with Java
Profiling Tools (Appendix)
- Use the JDK to collect runtime profiling data
- Successfully read the profiling data generated by the JDK to detect performance bottlenecks
- Instrument your own code to collect method execution time data
Code Optimization Techniques (Appendix)
- List three potential problems with strings
- List two ways to optimize loops
- Describe the advantages of private and final methods
- List two advantages of Java 1.2 collections over vectors and hashtables
- List 4 other code and system optimizations
Design Optimization Techniques (Appendix)
- List five ways to optimize Java program design