Testing Frontier, LinkedIn's Web Framework

LinkedIn Engineering Team
7 min readbeginner
--
View Original

Overview

The article discusses Testing Frontier, LinkedIn's in-house web framework, detailing its architecture, testing methodologies, and the development of Fronttest, a custom test suite. It emphasizes the importance of comprehensive testing to ensure quality and reliability in web applications built with the Frontier framework.

What You'll Learn

1

How to implement a comprehensive testing strategy for web frameworks

2

Why early flush techniques improve web application performance

3

When to use both whitebox and blackbox testing approaches

Prerequisites & Requirements

  • Understanding of web application architecture and testing principles
  • Familiarity with testing tools like Selenium and Emma(optional)

Key Questions Answered

What is the Frontier framework and its advantages?
The Frontier framework is a UI framework developed at LinkedIn designed for scalable, efficient, and reliable web systems. It offers advantages over traditional MVC frameworks, including fault tolerance, dynamic adaptation, and reusable components, making it the standard for user-facing systems at LinkedIn.
How does Fronttest enhance testing for the Frontier framework?
Fronttest is a custom web application created to thoroughly test all features of the Frontier framework. It allows for both whitebox and blackbox testing, ensuring comprehensive coverage of functionality, including request dispatching, UI components, and form processing.
What testing methodologies are used for certifying changes in the Frontier framework?
The article discusses the use of unit tests, integration tests, and complete regression testing to certify changes in the Frontier framework. It highlights the need for a custom test suite to address the unique challenges posed by the framework's user interface dependencies.
What achievements have been made in testing the Frontier framework?
The testing efforts have resulted in approximately 96% code coverage based on 117 use cases and 3 authentication states. Automated regressions have been built to minimize certification efforts and improve software quality, demonstrating significant advancements in testing practices.

Key Statistics & Figures

Code coverage achieved
96%
Based on 117 use cases and 3 authentication states tested in 2 timing modes.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Implement a comprehensive testing suite like Fronttest to cover all aspects of your web framework.
By ensuring both whitebox and blackbox testing, you can catch issues early and maintain high quality in your web applications, similar to LinkedIn's approach with the Frontier framework.
2
Utilize early flush techniques to improve page load times in web applications.
This method allows static content to be delivered faster, enhancing user experience and performance, as demonstrated by the Frontier framework.
3
Incorporate automated regression tests to streamline the certification process for framework changes.
Automated tests can significantly reduce the time and effort needed for quality assurance, enabling quicker deployment and higher software quality.

Common Pitfalls

1
Relying solely on unit and integration tests can lead to incomplete testing of web applications.
This happens because many functionalities are user interface-dependent, which these tests may not fully cover. A combination of testing methods is necessary to ensure comprehensive quality assurance.

Related Concepts

Web Application Testing
UI Frameworks
Automated Testing Strategies