Software Testing, Documentation and Quality Assurance Academic Essay