Manual Testing Concepts - Questions on SDLC Models - All About Testing Manual Testing Concepts - Questions on SDLC Models

Monday 18 May 2020

Manual Testing Concepts - Questions on SDLC Models

Questions on SDLC Models:

1) What is SDLC? 

Ans - SDLC (Software Development Life Cycle) is a process or methodology used to develop a software in a systematic approach.

2)  Explain Phases of SDLC?

Ans-    SDLC has 6 phases.

    a. Requirement gathering
    b. Analysis and planning
    c. Software Design
    d. Coding
    e. Testing
    f. Release and Maintenance
    
a. Requirement gathering:  
During this phase, Business requirements are gathered from customer and documented. The output of this phase is Business requirements specification (BRS) document.
    
b. Analysis and Planning: 
During this phase, Business requirements are analyzed and System Requirements are documented. At the same time technology required to develop the system is also identified. The project plan is created to come up with project milestones and release date. The output of this phase is System Requirements Specification (SRS) document and Project Plan. 
    
c. Software Design: 
During this phase, based on SRS document, High-Level Design (HLD) and Low-Level Design (LLD) is done for the entire system and for individual components in the system. The output of this phase is Design documents.
    
d. Coding:  
During this phase, based on the Design documents, programs are written in the selected programming language. The final output of this phase is code documents and executable software.

 e. Testing: 
During this phase, Test cases are created and executed by the testers to ensure that the system is developed as per the System requirements specifications(SRS). If there are any deviations, defects are reported to developers which are again fixed and given to testers. Testers perform Re and Regression testing and close the defects. The final output of this phase is Test Documents and Tested Software.
    
f. Release and Maintenance: 
During this phase, tested software is released to production, and the software is deployed in customer's environment by the release team. Any defects/improvements identified thereafter by customer are addressed by the maintenance team. 

3)  What are the different types of SDLC Models?

Ans -    There are different types of SDLC Models.
        a. Sequential Models
        b. Iterative/Incremental Models
            i. Prototyping model
            ii. Spiral Model
            iii. Agile Model

4)  What is Sequential SDLC Model?
    
 Ans -    SDLC Model in which the development activities are executed in a sequential manner. One phase starts only after the completion of its previous phase.

5)  What are different Sequential Models?

  Ans -   Below are different Sequential Models
        i. Waterfall model
        ii. V-Model

6)  What are the different phases in Waterfall Model?

Ans -  Waterfall model has 6 phases similar to general SDLC.
    a. Requirement gathering
    b. Analysis and planning
    c. Software Design
    d. Coding
    e. Testing
    f. Release and Maintenance

7)  Who are the people (Roles) involved in different phases of Waterfall Model?

 Ans -    Roles involved in different phases depends on the organizational structure. In general, below are the people who gets involved in different phases of SDLC.
    
    i. Business analyst or Business Team in Requirements Gathering phase.
    ii. Technical Manager or Senior Developers in Analysis phase, Project Manager in Planning phase.
    iii. System Architect or Technical Lead in Design Phase.
    iv. Development Leads and Developers in Coding phase.
    v. Test Leads, Testers in Testing Phase.
    vi. Project Manager, release team and Maintenance Team in Release and Maintenance phase.
    
    In addition to above, Development Managers and QA Managers are also involved to manage the respective teams.
    
8) What are the advantages and disadvantages of Waterfall model?

   Ans -  Advantages of Waterfall model:
    ------------------------------
    1. The main strength of Waterfall model is its simplicity and it is very easy to use.
    2. Output generated at the end of each phase is reviewed and approved and hence it has high visibility.
    3. Minimal resources are required.
    4. It is less expensive as minimal resources are required.
    5. This model is preferred for smaller projects where requirements are well understood.
    
    Disadvantages of Waterfall model:
    ---------------------------------
    1. It is difficult to implement any changes in the requirements.
    2. No working software is produced until the last stage of the life cycle.
    3. It is expensive to incorporate any changes once the project is in to testing phase.
    4. Not suitable for complex projects, long term projects.
    5. Not suitable when requirements are not clear.

9) What is V-Model?

 Ans -    V-Model is also known as Verification and Validation Model. In V-Model, testing is done in parallel with corresponding development activity.
    
10) What are the different levels of testing in V-Model?
    
 Ans -    i. Unit / Component Testing
    ii. Integration Testing
    iii. System Testing
    iv. Acceptance Testing

11) Who perform integration testing in V-Model?

  Ans -   In general, developers perform integration testing in V-model.
    
12) What are the advantages and disadvantages of V-Model?

  Ans -   Advantages of V-model:
    ----------------------
    1. Quality of the software gets improved as the model as testing activities for the respective development activity.
    2. Avoids the Defect multiplication.
    3. Saves more time as testing activities happen well before coding.
    4. Defects can be identified in the early stages of the life cycle.
    
    Disadvantages of V-model:
    -------------------------
    1. Expensive as it involves more number of resources 
    2. Adopting any changes in requirements is not possible. 
    
13) What are the advantages of V-model over Waterfall Model?
    
  Ans -   Software quality gets improved in V-Model as it has testing activities in parallel for the respective development activity. Defects can be identified in early stages of life cycle and defects multiplication can be avoided.

14) What is the importance of SDLC in Software Development?

  Ans -   Quality software can be delivered when SDLC is followed.

15) When does Testing activity start in Waterfall model?

  Ans -   Testing activity starts only after development phase is completed i.e, Testing is a post-development activity in Waterfall model.

16) When does Testing activity start in V-Model?

 Ans -    Testing activity starts during the Requirements stage itself in V-model.

17) What is the Iterative/Incremental SDLC Model?

 Ans -    Process of developing software through repeated cycles (iterative) and in smaller portions at a time (incremental) is called Iterative/Incremental SDLC.

18) What are different Iterative SDLC Models?

 Ans -    i. Prototype Model
    ii. Spiral model
    iii. Agile Model

19) What is the Prototype Model?   

 Ans -    In this model, based on the requirements, a prototype (Non-functional system) is developed and delivered to the customer for his evaluation. Based on customer feedback, the prototype is refined and again given for customer evaluation. The process repeats until developers get clarification on the requirements. Once the prototype is finalized, the requirements are also frozen.

20) What is Prototype?

Ans -     Prototype is the sample implementation of the actual system. It can be also called a Non-functional system.

21) What are the advantages and disadvantages of Prototype Model?

Ans -     Advantages of Prototype model:
    ------------------------------
    
    1. Clarity on requirements from the customer, success rate of the project is higher.
    2. Customer can see the system and he provide the feedback immediately.
    3. Errors can detected much earlier as customer is getting involved.

    Disadvantages of Prototype model:
    ---------------------------------

    1. Customer may think that prototype is the real system.
    2. Time taking model as the actual development does not start until the prototype is finalized.
    3. Adopting changes or adding new requirements is difficult.
    4. Prototype is of no use once the development of actual system is started.

22) What is Agile Model?

 Ans -    Meaning of Agile is "Moving Quickly". When applied to Software development, it means that delivering the software that meets customer requirements in the shortest possible time.
    
    The agile software life cycle is an iterative process where software is ready at each iteration but can always be improved in the next iteration.

23) What are the advantages and disadvantages of Agile Model?
    
 Ans -    Advantages of Agile Model:
    --------------------------
    1. Success rate of the project very high compared to any other models.
    2. It can adopt changes in requirements at any point of time.
    3. Working software is delivered frequently.
    4. It emphasizes on responding to change rather than extensive planning and documentation.
    5. It is recommended for Product Development.

    Disadvantages of Agile Model:
    -----------------------------
    1. Expensive Model as more number of resources are required.
    2. Complex in Managing.
    3. There is a lack of emphasis on necessary designing and documentation.
    4. The project can easily get taken off track if there is any communication gap.

24) What are different types of Agile Models?

Ans -     i. Extreme Programming
    ii. Scrum Model

25) What is Extreme Programming Model?

Ans -     Extreme Programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements.  As a type of agile software development, it advocates frequent releases in short development cycles, which is intended to improve productivity and introduce checkpoints where new customer requirements can be adopted.

26) What is Scrum Model?  
  
  Ans -   Scrum is an iterative and incremental agile software development methodology for managing software development.
    In this model, the System is divided into small parts known as Sprints. The duration of each sprint can range from one week to three weeks. At the end of the sprint, team members and stakeholders meet to assess the progress of the project and identify a further plan of action. This assessment helps in taking stalk of the current state and rework the line of work and complete the project on time and not just speculate or predict the further outcome.

27) What is the Spiral Model?

   Ans -  The spiral model is an incremental model with more emphasis placed on risk analysis. This model has four phases: Planning, Risk Analysis, Engineering, and Evaluation. A software project repeatedly passes through these phases in iterations called Spirals in this model.
    
28) What are the advantages and disadvantages of the Spiral Model?

  Ans -   Advantages of the Spiral model:
    ---------------------------
    1. The high amount of risk analysis and hence avoidance of Risk is enhanced.
    2. Good for large and mission-critical projects.
    3. Strong approval and documentation control.
    4. Additional Functionality can be added at a later date.
    5. Software is produced early in the software life cycle.

    Disadvantages of Spiral model:
    -----------------------------
    1. It can be a costly model to use.
    2. Risk analysis requires highly specific expertise.
    3. The project’s success is highly dependent on the risk analysis phase.
    4. It doesn’t work well for smaller projects.

29) Why is the Agile Model so popular than other SDLC models?    

 Ans -    Agile Model is popular because of its flexibility in adopting changes in requirements and at the same time delivering software in the shortest possible time.

30) What are the advantages of Iterative Models over Sequential Models?

   Ans -  1. In the iterative model, we can only create a high-level design of the application before we actually begin to build the product and define the design solution for the entire product. Later on, we can design and built a skeleton version of that, and then evolved the design based on what had been built.
    2. In the iterative model, we are building and improving the product step by step. Hence we can track the defects at early stages and avoid the downward flow of the defects.
    3. In the iterative model, we can get reliable user feedback. When presenting sketches and blueprints of the product to users for their feedback, we are effectively asking them to imagine how the product will work.
    4. In the iterative model, less time is spent on documenting, and more time is given for designing.

31) What is the difference between Sequential and Iterative Models?

  Ans -   1. In Sequential models, Software is developed at once and delivered whereas in Iterative models, the software is divided into increments and developed.
    2. In Sequential models, working software is not produced until late in the life cycle, whereas in Iterative models, the software is developed and delivered early in increments.
Software Testing

0 comments:

Post a Comment