Spiral Model in Software Testing

What is Spiral Model?

We use Spiral model whenever there is a dependency between modules. In Spiral model, the software product is developed in small modules. Spiral model is used to develop a software that consists referential integrity between modules. In spiral model, software is developed in a series of incremental releases.  The spiral model is divided into a number of framework, activities or task. Each spiral consists of a deliverable product. Feedback of each spiral is incorporated in the text spiral. The client can start using the system after every spiral.

Steps followed in spiral model –

  1. Requirement collection
  2. Designing
  3. Development
  4. Testing

Spiral Model

Requirement Collection: – Requirement collection is the first step of spiral modal. In this step requirement collected from the client side as per module before designing. Business analyst collected requirements in the form of CRS (customer requirement specification) and Convert it into SRS (Software requirement specification).

Designing: – In designing step designs are prepared by the senior developer on the basis of requirement. Designs are will be changed as per requirements.

Development: – In this step, development starts as per designs or requirements.  Development is done by developers module by module. After developers develop one feature/module of the product, then only a  developers can go on to develop the next module of the product.

Testing:  – Testing performed for new modules/ features first. After that newly added feature or module dependency will be tested with other feature or modules.

When do we add new feature/ Module?

Firstly requirement collection takes place then design process done as per new requirement after that development steps involved, after completion of development, testing performed by testers, In this process test engineer firstly test new added feature/ module then test the dependency at old modules/ features to check the overall impact of the new feature.

Two types of changes involved in this modal: –

  1. Major changes: – When the changes made in the half part of the old features the changes known as major changes. In this change testing performed, firstly test half part in which changes made, after that test the remaining half part, then test the overall impact if there are other features involved.
  2. Minor changes: – When we add the new features, then bug fixing or changes we make in the feature is known as minor changes. After these changes first test the newly added feature, then test feature in which changes made after that bug fixing and at last test the dependency of all old features.

 Advantages of Spiral Model: –

  1. This model is Useful for large projects.
  2. It is a flexible model since it is allow requirement changes.
  3. Customer can see the product in early stages of development.
  4. Early availability of the usable system.

Disadvantages of Spiral Model: –

  1. It is a time consuming model.
  2. Testing is a small phase after coding.
  3. Development is module by module.
  4. Developers are involved in testing.

Applications: –

  1. Whenever customer is new to the software.
  2. Whenever requirements are not cleared.
  3. Use for large and complex projects.

Whenever there is a dependency in building the different modules of the software, then we use Spiral Model.

 

Waterfall Model in Software Testing

What is Waterfall Model?

 Waterfall Modal is a traditional model and it is a sequential design process. In Waterfall Model. we can’t do backtracking i.e. if we once freeze the requirements then we can’t go back and we can’t add a new feature in same development cycle and process. If we allow backtracking than in between if we have misunderstood the requirements then there will be a downward flow of defect.

Diagram of Waterfall Modal

Requirements Collection: – It is done by Business Analysts and Product Analysts. It is a process of gathering/ collection of requirements from the client side in the form of CRS (Customer requirement specification).

Feasibility Study: – It is done by software team consisting of project managers, architects, finance guy, HR, developers but not testers.

Architect – Architect is the person who makes the decision as per the technical point of view. The architect thinks about operating system and language that should be used to develop the software or product.

HR – HR will make decisions about the resources. Resources are available for decided technology or not which we are going to use while developing the system or product.

Finance guy – Finance related person think about the financial aspects of the project, regarding profit and loss.

Design: – There are 2 stages of designing in which we prepare

  1. HLD – High Level Design
  2. LLD – Low Level Design

HLD – It is a basic representation of product or software. In this design, there are no detailed descriptions of the features and product.

LLD – It is done by senior developers and it is a detailed description of a product. It describes how each and every feature in the product should work and how every component should work.  This design is based on feature separately.

Coding / Programming: – Coding done by all developers – seniors, juniors, fresher that exist in the team of product development. This is the process where we start building the software and start writing the code for the product as per requirement specification.

 Testing:  – In this phase testing performed at developed software to check where the software is useful or not. Testing is done by test engineers.

Installation: – Installation done by installation/Release/Senior Developer engineers, to install the product at a client’s place for using after the software has been developed and tested.

Maintenance: – Bug fixing and changes like addition, deletion or modification of any feature in the software product is involved in this process.

Advantages of Waterfall Model: –  

  1. Easy to understand and implement.
  2. Since the requirements are fixed we can expect a stable project.

Disadvantages of Waterfall Model: –  

  1. Since requirements are fixed, is not a flexible model we cannot add new features in between them.
  2. If we don’t freeze the requirements there will be a downward flow of defect.
  3. Testing is a small phase, only takes place after coding.

Applications: –

  1. Can be applied to a simple and small projects.

Can be applied only when requirements will not change in any case.