Software testing is a method of determining whether the actual software product meets the expected requirements and ensuring that the software product is free of defects. It entails running software/system components through their pace using manual or automated tools to evaluate one or more properties of interest like security