Brief Introduction To SDLC and The Requirement of Testing

Posted By : Dipika Rath | 30-Nov-2021

ERP

Loading...

Software is basically a collection of computer programs that helps us to perform a task. These are differentiated into three types- System software, Programming software, and Application software. Among these types of software, application software is the one that is tested.

Requirement of Testing

- Testing is mostly a part of Software development

- It is an activity to detect and identify defects in software

- The main objective of testing software applications is to release quality products to the client

- The quality of software should be bug-free, should be delivered on time, should be within budget, should meet the requirements/expectations of the client, and should be maintainable

To create quality software, a process is used by the software industry to design, develop and test the software. This process where all the requirement criteria are seen is called the Software Development Life Cycle (SDLC).

In Software Development Life Cycle, there are many phases such as:

  • Requirement Analysis
  • Design
  • Development
  • Testing
  • Maintenance

There are a few models designed to help complete these phases.

1. Waterfall Model

All the work in this model is done step by step in a serial manner. This is the classical model of testing software and is divided into different phases.

Advantages of the Waterfall Model:

- The quality of the product delivered will be good

- Since requirement changes are not allowed, the chances of finding bugs are less

- The initial investment is less since testers are hired later

- Preferred for smaller projects where requirements are frozen from the beginning

Disadvantages of the Waterfall model:

- Requirement changes are not allowed.

- If there is a defect in the requirement, it will be continued till the later phase.

- Total investment is more because the time taken for rework on defects is time-consuming which leads to high investment.

- Testing will start only after coding.


2. Spiral Model

The spiral model is an iterative model. The spiral model helps overcome the drawbacks of the Waterfall model. We follow this whenever there is a dependency on modules. In every cycle, the new software will be released to the customer, the software will be released in different versions. Hence, this model is also called a Version control model.

Advantages of the Spiral Model:

- Testing is done in every cycle, before moving into the next cycle.

- Customers will get to use the software for every module.

- Requirement changes are allowed after every cycle before going to the next cycle.

Disadvantages:

- In case any requirement arises, changes are not allowed in between the cycle.

- Every cycle looks like a waterfall model.

- There is no testing in the requirement and design phase.

Prototype

This is a model that was introduced in between the Waterfall and the Spiral model. Here, we can accommodate a new change but there will be no iteration. This model has failed drastically and is not recognized.

V-model

V- model stands for Verification and Validation phases. V-model is a highly recommended and most used model. The V-model helps the execution of processes in a sequential manner in V-shape.

The V-Model is an extension of the waterfall model. This V-model is based on the association of a testing phase for each corresponding development phase. For every single phase in the development cycle, the testing phase is directly associated. This model is considered highly disciplined.

Verification:

- Verification checks whether the product built is the right product.

- Focus on documentation.

- Verification typically involves- reviews, walkthroughs, and inspection.

- This model uses static testing techniques.

Validation:

- This checks the actual software, whether the building of the product is done right.

- This takes place after the verification part is completed.

- It mainly focuses on the software.

- Validation involves the actual testing.

Mainly to summarize V-model is the transition from Right Product---> Product Right i.e. Verification---> Validation.

Advantages of V-model:

- In the V-model Testing is involved in each and every phase.

Disadvantages:

- Documentation is more

- The initial investment is more as compared to other models as Devs and Testers are hired from the beginning

Note: V-model is an elaborative part that requires intense and deep knowledge of Manual Testing V-model is a process and will be explained in detail in another blog

Conclusion

There are several models and several techniques to test and debug any software. These are the models that were introduced at the beginning when software applications began trending in the market. Although with increasing demand and increasing complexity in the IT market, these models started upgrading, and thus the models explained here were of no use. Today, mostly all the IT sectors and all the projects follow Agile methodology, which helps in keeping track of all the activities.

We are a 360-degree ERP development company that provides custom software development services to cross-industry enterprises. Our custom ERP development services also include end-to-end software testing for quality assurance and bug-fixing. Contact us at [email protected] for more detail.