As everything in the world applications become older. However, they still can be profitable and reliable. Such applications especially need testing, even if they are planned for a refactoring. Stability and predictability of an application can be obtained only by writing tests for the most common execution paths. We will start with business expectation first, write characterization tests and then proceed to refactoring. By completing this training students will get confidence to perform heavy changes in application.
Target Audience:
Engineers
Workshop agenda:
General overview
The purpose of automated testing
Testing styles: blackbox and whitebox testing
Different testing levels: unit / integration / functional
Business specification to drive a test
Testing domain logic
Characterization tests
Black box testing
Describing business expectations
Acceptance tests with PhpBrowser module
Testing forms and validation rule
Integration & Unit Testing
How to prioritize what to test
Testing business logic
Writing testable code
Test Driven Development (TDD)
Managing test dependencies
Mocks and stubs
Cyclomatic complexity and unit tests
Collecting code coverage
Refactoring!
Following ATDD pattern
How to prioritize tests in legacy applications
Optimizing test execution
Extending Codeception