Software testing does not exist in isolation. Usually, test activities are related to software development models. There are different software life cycle models that will require different approaches to testing:
- Sequential Development Models
- Iterative-incremental Development Models.
There are many different forms of testing. Because several disciplines, often with different interests, are involved in the development life cycle, it is important to clearly understand and define the various test levels and types.
The Waterfall model usually starts with Requirements and goes all over phases for Design, Implementation, Verification and Maintenance, just like the example below.

Usually this model is known as to be expensive because it will require more labor work once defects are found, especially when approaching to the maintenance phase.
Some models, such as the V-model provides guidance that testing needs to begin as early as possible in the life cycle. It also shows that testing is not only an execution-based activity. There are a variety of activities that need to be performed before the end of the coding phase. These activities should be carried out in parallel with development activities.

And finally, the Incremental development model consists mainly in projects broken into a series of increments, each of which delivers a portion of the functionality in the overall project requirements. The requirements are prioritized and delivered in priority order in the appropriate increment. In some (but not all) versions of this life cycle model, each sub-project follows a 'mini V-model' with its own design, coding and testing phases. Iterative-incremental development is the process of establishing requirements, designing, building and testing a system, done as a series of shorter development cycles.
Examples are: prototyping, Rapid Application Development (RAD), Rational Unified Process (RUP) and agile development models.
The resulting system produced by iteration may be tested at several test levels during each iteration. An increment, added to others developed previously, forms a growing partial system, which should also be tested. Regression testing is increasingly important on all iterations after the first one. Verification and validation can be carried out on each increment.
In summary, the Agile development model enforces continuous build and verification – the goal is to integrate and test as small change as possible. In reality continuous often means daily. We would expect multiple accepted builds from different components contributing to the iteration.

In Maximo, we are always trying to enhance the models of development available so we can build a better product, always faster and in an automated fashion. Although, this is challenging, we try to shift left our process so we can be efficient and effective building a quality product.
The picture below. pitched from the above mentioned forum, gives an overview of how Maximo development teams are working toward to achieve a continuous delivery model.
Credits: Internal material produced for Foundations in Software Testing training class produced by software engineers Bernardo Kaucher Darmstadter de Padua and Raquel Bortoluci.
#MaximoEAM#Maximo#AssetandFacilitiesManagement