Software development requires Quality assurance as users require solid and stable solutions However  eliminating every single defect software may seems impossible  because such an approach will take too much time and resources