I. Introduction
Software quality assurance (SQA) has been gaining a great focus from both research and industry because of the great dependence on software products in a lot of fields including healthcare, vehicular safety, and industry. However, the history of software development shows sad stories of disastrous high profile failing software such as the London Ambulance Service, Airbus A320, and Explosion of Ariane 5 [1] which are coupled with high financial and life-threatening losses. Hence, special efforts are being devoted to find effective solutions that accompany the software development process to enhance its factor of success.