Saturday, November 16, 2024
Google search engine
HomeGuest BlogsSoftware Testing – Hybrid Model

Software Testing – Hybrid Model

Hybrid means a thing made by a combination of two different elements and the resulting hybrid element acquires characteristics of both underline elements. The following topics of the hybrid model will be discussed here:

  1. What is Hybrid Model?
  2. Why Hybrid Model?
  3. When To Use Hybrid Model
  4. Process of Hybrid Model
  5. Spiral And Prototype Model
  6. V&V and Prototype Model
  7. Advantages of Hybrid Model
  8. Disadvantages of Hybrid Model

Let’s start discussing each of these topics in detail.

What is Hybrid Model?

A hybrid Model is a model which is developed by combining two traditional models of SDLC. The base models can be anyone like a spiral model, V&V model, prototype model, etc. and the selection of models are as per requirements. By collaborating two base models the resulting hybrid Model acquires its properties, process, and benefits which results in building a more powerful, flexible, and effective Model. The combination of traditional models can be like:

  • Spiral and Prototype Model
  • V&V and Prototype Model

Why Hybrid Model?

With the increasing use of agility in software development, the traditional model cannot sustain as it does not help in fast delivery, achieve a high success rate, and cannot deal with changing customer requirements, this is all due to their lengthy process and standards. So, we need a hybrid Model as it:

  • Has the benefits of two individual models.
  • Resolve the dependency of models.
  • Is suitable for both small and medium-sized systems.
  • Involves customers at all phases of development.
  • Helps in early delivery.

When To Use Hybrid Model?

A hybrid Model is developed when we combine two models and this development is useful when:

  • The customer is not fixed with its system requirements.
  • The requirements of the system cannot be met by using a single SDLC model.
  • The organization wants to use agility but complexity is a barrier.
  • A fully planned approach to the budget is needed.
  • Teams of the organization want a collaboration.

It is up to the organization to choose the best possible combination of base models to make a Hybrid Model that can fulfill both business and customer requirements. 

Process of Hybrid Model

The hybrid model follows all phases of SDLC along with flexibility in using required models:

  1. Planning: The first step to executing any successful work is correct planning and hence the first phase of the Hybrid Model is planning. Planning gives direction and a correct approach to how to do and manage things easily and correctly. In this phase of planning all senior members of an organization like the Product Manager, Delivery Manager, Sales manager, etc. involves and create a plan and explain it to other working members. Planning includes requirement ideas and inputs that help in getting the project execution approach and choosing the correct base models. This phase involves risk analysis, resource planning, and project planning.
  2. Requirements: In this phase, all requirements needed to develop the system are collected from the client which includes all functional and non-functional requirements of the system. Here, many requirement documents are developed as per the needs of the model. After collecting all requirements the Business Analyst analyzes them and with the help of other senior team members converts them into technical requirements called SRS (System Requirement Specification) which is helpful for the development team.
  3. Design: In the design phase, the architecture of the system is designed by the team members, they design a working model which specifies how the system will look, how control flows from screen to screen, and shows the functionality of different modules.
  4. Development: System building starts in this phase by developing the system code. Developers with their team members code the system using any programming language as specified by the organization by maintaining the coding standards. Developers code the system in modules form and after coding the module, they compile it and verify it’s working as per requirements.
  5. Integration: In the integration phase, all tested and verified modules are united to make the complete system as the system is developed by breaking into modules, at a time single module goes through all phases of processing. The integrated product is used as input for testing.
  6. Testing: Testing means identifying bugs and informing the concerned developer about fixing them. The Testing phase runs parallel to the whole process of the Hybrid model from the start of the Planning phase and ends in the Integration phase. The testing team tests the processing of the system in form of modules to validate that everything is working as per customer requirements. Testers write test cases and test plans to perform testing.
  7. Deployment: This is the final stage to hand over the system to the customer. In this phase, the tested developed system is deployed to the customer’s deployable environment for its use and experience.
  8. Maintenance: Taking care of the working system after delivery is called Maintenance. In this phase, after deployment, the customer uses the system and may face real-time issues which the organization needs to fix, and if issues are serious then the system needs to be rolled back to resolve the issue. This phase is also important as it maintains the image of the organization.
  9. Risk Analysis: This phase defines the risk involved in various phases of the Hybrid Model and it runs parallel to all phases of the Hybrid Model. It identifies the risk areas in different phases and points out them.
Phases of hybrid model

 

Spiral and Prototype Model

This Hybrid Model is a combination of the Spiral Model and Prototype Model.

  • Spiral Model is an iterative model combining the features of a linear sequential model in a controlled manner.
  • Prototype Model is a model in which a brief and simple overview of the system is prepared, tested, rework and send for customer review and verification.

This Hybrid model is used when:

  1. There is a dependency.
  2. The customer requirements change rapidly with the stages of processing.
  3. There is a risk involved in system functioning.
  4. Both developer and customer are new to the industry and cannot decide among the available models.

Let’s understand the processing of this Hybrid Model with its various stages:

1. Collection of Requirements: Working on software starts with the collection of requirements from the client. All functional and non-functional requirements are gathered from the customer and these requirements are the needs of application development. All senior members of the company are involved in collecting requirements and organizing them in a structured form by documentation which can be BRS, and CRS documents. Here in Hybrid Model, the system is break-down into small modules and develop in modules not the whole system at a time. The Requirement stage includes further stages like:

  • Prototype Design: After creating a BRS document from the requirements, a prototype is designed for a particular module which gives a brief overview of the module.
  • Prototype Testing: After creating the prototype it is sent for testing where the testing team tests it to identify bugs and if the bug is found it is sent for fixing to the respective developer. The tester writes test cases, plans, and test scenarios.
  • Prototype Review: The tested prototype is forwarded for customer review, where the customer reviews it and gives his opinion on rebuilding, and retesting or the prototype is perfect. The above process of prototype goes on until the developing team gets a stable prototype.     

2. Design: After getting a stable prototype it is sent for architectural design of the module. The design phase includes the architectural design of the module, workflow, and dependencies among modules. 

3. Coding: In the coding phase, the module is coded by developers using their coding language and gives an executable form. The coded module is compiled by developers to confirm its working and dependency with other modules. There is a team of developers working on different modules of the system.

4. Testing: The coded module is finally sent for testing. The testing team tests the module to identify loopholes and if they are successful in catching them then, the module is re-sent to the concerned developer for its fixing, else module is transferred to the next stage of processing.

After testing, if everything is working as per direction then all modules are developed in the same manner and travel through all the above phases, at last, all modules are united to get a complete compiled system that is deployed to the customer environment for its use.

V&V And Prototype Model

This Hybrid Model is a combination of the V&V Model and Prototype Model.

  • V&V Model: In this model, V&V stands for Verification and validation, and in this model, both validation and verification of the system go side by side.
  • Prototype Model: A beautiful model where a prototype is built before developing the actual design of the system. The designed prototype is sent for testing, design, and customer review.

This Hybrid model is used when:

  1. The user wants parallel working of the verification and validation process.
  2. Good documentation is needed.
  3. The customer expects high-quality products with lots of testing.
  4. There is no issue of finance and the only requirement is a successful product.

The processing of this Hybrid Model includes the following stages:

1. Requirement Collection: Requirements are the basic needs for the development of software and by only requirement, we can plan its working, can decide the processing needs, coding language, team members, number of days to deliver, and much more. The requirements of the system are collected from customers which go for documentation and testing. The requirements collected from the customer are further converted into a CRS document that contains simple, non-technical requirements and is sent to the tester where:

  • Tester reviewed the CRS document.
  • Write Acceptance Testing by preparing test cases and test plans.

2. BRS and Prototype Design: CRS document developed in the previous stage is used to build a BRS document by Business Analyst which contains technical information for its understanding at the business level. BRS  contains bar graphs, data flow diagrams, ER diagrams, etc. From the BRS web developers design and develop a prototype which is reviewed and send for testing. in testing testers:

  • Review the document.
  • Carry out System testing.

After that, testers test the prototype if some bug is found it is sent for fixing to the design team. The tested prototype is sent for customer review and verification. In case the customer is not satisfied with the designed prototype it is sent for rebuilding else it is forward to the next processing stage.

3. HLD (High-Level design): After getting customer approved prototype it is sent to HLD, where its architecture is designed and understood by developers. Different technical approaches are involved to design the best feasible architecture which includes workflow, dependencies, functionalities of modules, database design, tables, and interface relationships. The designed HLD is passed to the next stage of testing, where testers:

  • Review the HLD.
  • Write Integration Testing documents and write test cases and test plans to execute the testing process.

4. LLD (Low-Level Design): This phase is for designing the LLD document of the prototype. In this phase, the LLD document is prepared which contains detailed information about the working prototype like the type of programming language, compatibility of all modules, and functioning of modules. After designing the LLD it is sent for testing, where the tester:

  • Review the LLD.
  • Write functional Testing, test cases, and test plans to carry out the testing process.

5. Coding: This phase includes coding of the particular prototypes by the developers using their coding language as directed by their team leaders, the coding must follow all coding standards, and guidelines. The coded prototype goes for testing, where testers perform Unit Box testing to find bugs and check extreme conditions of the module.

This process is going on until we get stable prototypes and all modules. And at last, it is delivered to the customer.

Advantages of Hybrid Model

  • The benefit of two models: By using the Hybrid Model users can take advantage of two models, one shades the negativity of another.
  • Fixed Pattern: A defined pattern of base models is to be followed to carry out the whole processing by which no need to decide on new planning and architecture of the model.
  • High Output: The success rate of the model increases with less rejection of the system at the delivery time which finally increases the value of the developer team.
  • Satisfaction: Customers satisfaction with the effective working system as they receive a successful system in less delivery time.

Disadvantages of Hybrid Model

  • Complexity: Not successful in the case of large and complex systems and is only effective for small and medium-sized systems. With a large system, the complexity increases in handling two models together.
  • Not economic: The cost of the system increases many folds as lots of changes occur and sometimes many steps are to be re-work.
  • Uneven working: The working of all hybrid models is not the same the same pattern for all hybrid models can’t follow. 
RELATED ARTICLES

Most Popular

Recent Comments