Software quality is defined as the compliance with functional and performance requirements declared explicitly, with development patterns clearly documented, and with implicit characteristics that are expected from all software professionally developed [8].