How do we prioritize the features to test first and evaluate which modules need more testing effort than others? The answer is risk-based testing.
This is a type of testing approach that is focused on mitigating risks and prioritizing the testing effort accordingly. It involves assessing the risks based on software complexity, impact on the customer, and history of production problems. Finally, arriving at a risk score that determines the level of testing effort needed for each module.
For example, say you are testing two requirements. Requirement A is to build a payment functionality so that customers can make a payment via the web page, and requirement B is to ensure the font size throughout the webpage is to be changed from size 14 to 16. If requirement A is not implemented correctly, it is a high impact on the business and customer as none of the payments for your services may go through. This may result in a huge financial loss and a bad customer experience. If requirement B does not work as expected, it is an issue but the customer or the business is not financially affected and may even go unnoticed by the customer.
So, if there are three days to test the above requirements, it would make more sense to allocate a majority of the time for testing requirement A and the remaining time (if any) for testing requirement B. This way you are prioritizing the testing effort based on risks and impact.