Testing
Software testing serves as a critical part of the software development life cycle, acting as a safeguard against defects and enhancing the overall quality of software products. Certification from Quality Assurance (QA) is often used as the indicator of whether the software product is ready to go live.
This chapter delves into the fundamental principles of software testing, exploring its significance, methodologies, and best practices.
We will discuss the role of QA and software testers in the industry. We will summarize the understanding of the role and how it might mean something different to different people.
We will explore several types of software testing and the testing pyramid. Additionally, we will discuss automated testing practices, which have gained popularity for their ability to enhance efficiency and ensure consistent test coverage.
We will also run an exercise of strict Test-Driven Development (TDD) using Kotest to gain insights into this methodology...