In April 2022, I have published my 4th book which is 100% focused on how frontend web application developer’s can leverage the wide plethora of test automation frameworks that continuously evolve and provide more and more capabilities.
The book is available on Packt website (my publisher) as well as on Amazon and other book stores globally. I got great feedback so far from the community both on the importance of this book to practitioners, as well as the specific content. The book was reviewed by Bruno Bosshard with the foreword written by Gleb Bahmutov who’s one of the core leaders of Cypress in the marketplace.
The book consists of 3 main sections:
Section 1: Fundamentals of Web App Testing
This sections has the following main chapters and it offers structured approach to building a solid testing strategy across all methodologies – Exploratory, Functional, Performance, API, Accessibility, and more.
- Cross-Browser Testing Methodologies
- Challenges Faced by Frontend Web Application Developers
- Top Web Test Automation Frameworks
- Matching Personas and Use Cases to Testing Frameworks
- Introducing the Leading Frontend Web Development Frameworks
Section 2: Continuous Testing Strategy for Web App Developer’s
This section provides an overview of the criteria that frontend web application developers should look for when choosing a test automation framework, and specifically look into test coverage strategy for web apps.
- Map the Pillars of a Dev Testing Strategy for Web Applications
- Measuring Test Coverage of the Web Application
The final section of the book dives deeper into the features and differences across the 4 leading web application testing frameworks, and concludes the section with an overview of some low-code testing tools that are derived from some of these testing frameworks.
- Working with the Selenium Framework
- Working with the Cypress Framework
- Working with the Playwright Framework
- Working with the Puppeteer Framework
- Complementing Code-Based Testing with Low-Code Test Automation
Overview of What’s Changing within Web Application Testing?
While writing the book i already became aware of few main trends that in my opinion will shape the future of the testing practice over the next few years.
- Leveraging CDP to enhance test automation coverage, auditing of performance, network traffic and accessibility.
- Selenium 4 added support for this rich protocol
- Playwright and Puppeteer are build on top of CDP
- Cypress integrates with CDP to benefit from its core features
- Introduction of the modern concept of Component Testing!
- Cypress version 10 officially supports Component Testing that allows isolation of a web application component for more rigor and focused testing.
- Latest Playwright release also starts referring to component testing
- Built-in low-code abilities within code-based testing frameworks
- Selenium 4 introduces a revamped version of the Selenium IDE
- Playwright offers its Code-Gen test recorder
- Cypress integrates with the Chrome browser recorder
- Community contributions and Plugins!
- Open source software can only grow through its communities and the level of engagement and support that such tools receive. With all of the above frameworks we see tremendous communities that provide real-time support through slack, gitter, Discord, GIT code sample, and a lot of customized plugins. With these plugins, test frameworks like Cypress, selenium, playwright and puppeteer enhances their features to cover visual testing, integrate with CI servers, accessibility testing, code coverage, API testing, CDP integration, and much more.
I do hope that this book will provide value to any frontend web application developers and test automation engineers, and serve them for the coming years. The digital transformation continues to evolve with modern web apps like progressive web apps (PWAs), responsive web (RWD), Flutter, and others. With such mature testing tools, practitioners are in a great place today to cover many of the sophisticated use cases, and eliminate bugs earlier in their software iterations.