Updated: May 21, 2022
This is a story about the importance of testing the less popular areas in web applications.
Duolingo gives experience points for different actions on the website. For example, doing challenges.
By increasing the XP points, you go up on the league board.
So I joined a league and unfortunately I only have 8 XP.
It is essential to understand the flow of the web application's processes and not miss requests and features that seem like edge cases or are not widely used. Because in a lot of cases, they have issues.
So back to our example - Duolingo lessons have a different levels (1-5 and "Legendary"). The "Legendary" level contains a lot of questions and for that, they "promise" 20 XP for those who finish just half of the questions.
So let's intercept the traffic just before we arrive the middle of the lesson.
I answered the question (the answer was "The bear is beautiful") and quitted the lesson.
They asked me if I am sure and I said "Yes!". Nothing happened so I clicked "Yes".
There were many requests and after finding the request I searched for, I went through all of the parameters (and there were many of them).
There were some interesting ones, and one of them was "xpPromised".
XP promised?? Only 20? Can you please promise me more?
I changed it to 1329 and it looks good for now.
Lets check the league chart.
Yay, I have 1337 points! Sorry Dena.