Unit, Integration and Functional Test Automation

Duration: 3 Days

Course Overview

In this core module, the focus is on the detailed technical approaches and tools used for writing and running automated tests. The main focus here is on the actual automation itself rather than on particular types of testing as used in development. For this reason, unit, integration and functional testing are the main focus of this section, since all of these are usually based on the same basic set of test automation tools. Test automation that requires additional, specialist tools, such as Selenium, Appium or Postman for example, are covered in other specialist modules in the curriculum.

In order to be able to cope with this module, participants are expected to have foundation skills to the level of foundation modules F3 and F4. These cover programming for testers, and the fundamentals of testing. In particular, a lack of coding skills will make this core module difficult for the participant, so taking module F3 before this core module, or passing the prerequisite test for this module are essential.

The course is presented with approximately 40% taught material, and 60% practical hands-on test automation activities. The instructor tours the in-class participants, and assists them on a one to one basis with the hands-on activities.

How can I attend my course?

On-line from
your chosen location

At our dedicated
training facility

On-site at
your premises

Course Content

Introduction to test automation

• What is test automation?
• Why do we automate tests?
• Which tests can or should be automated?
• Simple demonstration of test automation

Tools and frameworks

• Unit testing frameworks
• Unit test runners
• Case study: JUnit for Java
• Other languages and frameworks: C#, Python, JavaScript

Unit testing

• Writing a unit test in JUnit
• Running a JUnit test from a development environment
• Observing test results and reports
• Running a JUnit test from a CI/CD script
• How a CI/CD engine detects and responds to test failures

Test automation in the real world

• Tests, business rules, and the relationship between tests and code units
• Authoring and running realistic unit test scenarios
• Test setup and teardown
• Test suites and test classes
• Test suite setup and teardown
• Expected exceptions and how to test for them
• Test concurrency

Integration and functional test automation

• What is integration?
• What do we test when integrating system units?
• Conquering exponential complexity of testing on integration
• Functional testing as black-box integration testing
• Using integration test patterns to manage legacy systems in testing

Automating integration tests

• Integration through isolation
• Mocks, stubs, and spies
• Creating a mock object
• Creating and running upstream tests with downstream mocks
• Validating the mock object test
• Benefits and drawbacks of mocking
• Using a mocking framework: Mockito and Java

Automating functional testing

• Designing the functional tests
• Choosing the isolation layers
• End-to-end testing with mocks and isolation
• End-to-end testing with spies

Wrap-up

• Key learning points
• Best practices
• Things to avoid doing
• What next?

You will receive a full set of course notes
and all supporting materials for your course.

Hard Copy Delivered to your premises or Downloaded to a chosen device.

To book this course please call 
+44 (0) 1444 410296 or email Info@kplknowledge.co.uk