This is a general testing training for PHP developers. It gives a deep overview of different testing practices and levels of test automation. Students will learn how to implement tests depending on application requirements. This training includes browser-based acceptance tests, framework-based functional tests, unit and integration tests. But before determining how to test an application it should be discovered what is important to test. By writing down specifications and turning them into tests using BDD students will learn how to write tests effectively, to separate specification from implementation.
Target Audience:
Engineers
Workshop agenda:
General overview
Methodologies: TDD, ATDD, BDD
Planning: from general rules to critical details and edge cases
Web UI Testing
Running browser with WebDriver
Selenium and other testing tools
Writing web tests using Codeception testing framework
Locating elements on a web page
Waiting for elements to appear
Extending Codeception to handle complex components
Refactoring tests with PageObjects
Limitations of Selenium
Managing Test Data
Parallel execution of tests
Unit & Integration Testing
Designing tests from business specification
Using TDD to design code by tests
Cyclomatic complexity and unit tests
Testable architecture and refactoring
Business logic testing with integration tests
Managing data in integration tests
Functional and API Testing
Functional tests comparing to acceptance and integration tests
How do functional tests work
How to deal with framework internals
Using database connection for data management
Testing REST APIs