I began the MoT Software Testing Essentials Certification last week, and Iâm quite excited about it!
The first lesson was on the history of software testing, and even though it was a âvery briefâ one, it was already quite rich!
In the lesson, Beth Marshall summarizes the different trends in the software development industry that have impacted testing activities, which are as follows:
1985: Waterfall model
The waterfall model is a software devolopment approach that breaks down the different development activities into « linear sequential phases, meaning that each phase is passed down onto each other, where each phase depends on the deliverables of the previous one and corresponds to a specialization of tasks. » This simply means that the development phases are executed one after another. Therefore, testing takes place at the very end of the Software Development Life Cycle (SDLC).
2001: Agile manifesto
Contrary to the Waterfall method, Agile methodologies promote an iterative and flexible SDLC, where all phases are executed for a small part of the product (a feature, for example), and repeated over and over until the product is complete. In this context, tests are designed and executed during each iterationâmeaning multiple times throughout the SDLC.
2002: Test automation
Test automation refers to the use of software tools to perform testing activitiesâspecifically, to automatically execute pre-programmed tests on the Software Under Test (SUT).
Around 2010 (even though these practices had existed for over 30 years, they werenât widely adopted until then):
Exploratory Testing , Cloud Testing
, Microservices
Exploratory testing involves creatively exploring the application to uncover bugs or anomalies that might not be detected through predefined test cases.
Cloud testing refers to testing software in a cloud environment.
Microservices is a software architectural pattern that organizes an application into smaller, independent services that communicate via lightweight protocols. Testing microservices ensures that each component of the application functions correctly and that the services can be integrated seamlessly.
More recently: DevOps , CI/CD
DevOps is a modern software development methodology that emphasizes early and continuous collaboration between development and operations teams throughout the SDLC. This approach is intended to help organizations deliver products faster and more continuously.
CI/CD, which stands for Continuous Integration and Continuous Delivery, refers to a development practice where code changes are consistently integrated and delivered as soon as they are developed. This means software is released quickly, so itâs crucial to ensure its reliability in real time.
Iâm curious about your experience! When did you begin your testing journey? What was the trend in the industry or company when you started testing? Was there a particular trend you felt obligated to follow? And which one did you genuinely embrace?
Iâll leave you with a quote from Beth Marshall that really stuck with me during the 1.1.0 STEC lesson:
« We [the software testing industry] attract lots and lots of people from different backgrounds. Each of those people brings a different experience, a different set of transferable skills, and lots and lots of knowledge to the table. So you might be asking yourself âIs this really for someone like me?â. But believe me, itâs really really important to the tech industry that youâre here. »