Testing is integral to software development and its role is to provide quality assurance for the final product. Without quality assurance, you risk running with a faulty product, which leads to decreased sales, damaged reputation and increased costs with fixing bugs and customer care.