Explain the fundamentals of Angular testing, including what tools and strategies you use to test components and services.