Ferrero WAF, The Need to Retest All Stories
April 14, 2025
Ferrero WAF, The Need to Retest All Stories
In the previous part, we discussed the challenges and experiences of building the "Let's Story" feature in the Applaydu application. However, with the introduction of Ferrero WAF (Web Application Firewall), a new requirement emerged: we needed to thoroughly retest all the stories.

This was no small feat, as we had to test over 40,000 stories, each available in 13 languages, and each language containing around 250 files. Moreover, we had to come up with a solution within 7 days before the live release.

Proposed Solutions: Script 1 + Script 2

To tackle this challenge, we proposed two approaches:

Script 1: Testing All Data in S3

The first script focused on testing all the data stored in Amazon S3. The advantage of this approach was its speed, as it allowed us to quickly validate the stories before the devops team updated the pipeline.

Script 2: Testing All APIs for Stories

The second script involved testing all the APIs required for the stories. This approach was slower compared to Script 1, as it relied on the end-user rate limit set by Ferrero WAF. We had to run the tests gradually until all the stories were covered.

Challenges with Ferrero WAF

During the testing process, we encountered a roadblock when we got blocked by Ferrero WAF. This was due to our initial lack of understanding of Ferrero's rate limit setup.

After discussing with the Ferrero team and analyzing their rate limit configuration, we gained a better understanding of how it worked. We realized that we needed to adjust our testing approach to comply with the rate limits in both the pre-live and live environments.

Cost Calculation for Cloudfront, Akamai, and AWS

One important aspect of this testing process was estimating the costs associated with using services like Cloudfront, Akamai, and AWS. We created a detailed spreadsheet to calculate the projected expenses based on the number of requests, data transfer, and storage requirements.

This cost analysis helped us make informed decisions about resource allocation and optimization, ensuring that we could efficiently test the stories while keeping the costs under control.

Setting Up Linux Machine and Code Processing

To streamline the testing process, we decided to set up a dedicated Linux machine. This machine served as the central hub for running the testing scripts and processing the code.

We carefully configured the Linux environment, installed the necessary dependencies, and optimized the system for performance. This setup allowed us to efficiently execute the testing scripts and handle the large volume of stories and files.

Conclusion

Retesting all the stories in the "Let's Story" feature after the introduction of Ferrero WAF was a significant challenge. However, by proposing two testing approaches (Script 1 and Script 2), understanding the rate limit setup, calculating the associated costs, and setting up a dedicated Linux machine, we were able to overcome the obstacles and ensure the quality and reliability of the stories.

This experience taught us valuable lessons about adaptability, collaboration, and the importance of thorough testing in the face of changing requirements. It also highlighted the need for effective communication with external teams, such as Ferrero, to align our efforts and find solutions together.

As we move forward, we will continue to apply these lessons learned and strive to deliver the best possible experience to our users through the "Let's Story" feature in the Applaydu application.

Stay tuned for more insights and stories from our development journey!

Discussion (0)

Loading...

Recommended articles

More articles ➜
Swapping out newbie coders for AI: What can it do and where does it fall short?

Swapping out newbie coders for AI: What can it do and where does it fall short?

So, we're gonna chat about whether AI (you know, artificial intelligence) can take over the jobs of newbie programmers. Sure, AI's pretty cool - it can handle the boring stuff, make your code look sharp, and even cut down on all that manual testing. But, can it fully take over? Nah, not really. Beginner programmers bring their own flair to coding, thanks to their learning journeys and their fresh-out-of-the-box ideas. Plus, they're really good at picking up new tech and working with their team. So, while AI's a great sidekick in coding, it's not about to steal the limelight from our entry-level programmers anytime soon.

AI
Beiryu

Beiryu

Contributor

1
The Changing Landscape of the Tech Industry: Layoffs, Hiring Trends, and the Rise of A

The Changing Landscape of the Tech Industry: Layoffs, Hiring Trends, and the Rise of A

The tech industry has long been known for its rapid growth, lucrative salaries, and innovative products. However, recent developments have shed light on the challenges faced by tech companies, leading to significant changes in the employment landscape. In this blog post, we will explore the current state of the tech industry, focusing on the decline in business performance, layoffs, hiring trends, and the disruptive potential of artificial intelligence (AI).

Career
Beiryu

Beiryu

Contributor

1
Subscribe to the newsletter
Get emails from me about web development, tech, and early access to new articles.