Friday, November 22, 2013

Manual Testing Stuff - Class -- 02


  • Development life cycle models or process models:

  • Based on the customer and the requirements, there can be different approaches in implementing a software application, the approach is know as a model. There are several models proposed, and they can be categorized into two Types:

  • One iteration model Or Sequential Model:

  • Where all the stages in SDLC are implemented once.

  • Waterfall model
  • V-model

  • Iterative models Or Incremental Model :

  • In this all the stages in the SDLC are implemented multiple times in constructing a software application.

  • RAD model
  • Prototype model
  • Spiral model
  • Agile model

  • One iteration model Or Sequential Model:

    • Waterfall model:

  • It is Also called as linear sequential model, which was proposed by "royce" in 1970s'

  • All the stages in waterfall model are independent, every stage will commence only after it's previous stage is completed and there is no overlapping between the stages.

  • Testing starts only after coding is completed.


      • Phases
  • Who Involved
  •  
  •            Requirements Gathering And Analysis
  •               (BRS , SRS , FRS )

  •  
  • Business Analyst
  •  
  •             Planning
  •            (Project Planning & Test Planning )

  •  
  • PM / PL
  • TM / TL
  •  
  •         Design
  •             ( HLD & LLD )

  •  
  • System Analyst
  •  
  •               Coding
  •           ( SW-Application )

  •  
  • Developer
  •  
  •           Testing
  •           ( Bug Tracking & Reporting )

  •  
  • Test Engineer
  •  
  •            Delivery & Maintenance 
  •  
  • Production Support Team



  • Advantages:
      • It is simple and easy to maintain
      • It is less expensive
      • It Works well if the requirements are static.

  • Disadvantages:
  • It will not support large applications and the    dynamic requirements.

    • V-Model

  • In This Model Also All Implementation Activities Will be Carried out one after Another For the Whole Application .This is suitable for small Projects where the requirements are not clear .As the requirements are not clear both static testing and Dynamic Testing are applicable for these model Projects.

  • As the Flow of Activities Look like a V Shape it is Titled as “V-Model”. 

  • V stands For Verification & Validation

  • Phases

  • User Requirements
  • System Requirements
  • HLD
  • LLD
  • Coding
  • Unit Testing
  • Integration Testing
  • System Testing
  • UAT ( User Acceptance Testing )

  • Note : 

  • 1)we are Conducting Static Testing on 
  • User Requirements
  • System Requirements
  • HLD
  • LLD
  • 2)we are Conducting Dynamic Testing on 
  • Unit Testing
  • Integration Testing
  • System Testing
  • UAT

  • Iterative models Or Incremental Model:

  • These Models are Recommended Only For Big Projects , Where the Application Development Will be planned Cycle By Cycle.


    • RAD ( Rapid Application Development ) model:

  • It is also an iterative model, but there would be only one release for all the iterations performed.

  • This is preferred for large or complex applications which has to be developed in shorter span of time.

  • The application will be split into modules and all the individual modules will be constructed and tested independently for their stability and then grouped(integrated) to form a system.

  • Advantages:
      • It is used in implementing complex applications in shorter span of time.

  • Disadvantages:
    • It will not support dynamic requirements
    • It requires lot of human resources in implementation
    • Defects in integration might take lot of efforts and cost to rectify, as there would be lot of dependency between the features or modules.

    • Prototype model:

  • Prototype:
  • It is structure or the static images or screens which are developed with one or tow features implemented.

  • This is also an iterative model
  • The prototypes developed by the vendor's team.

  • After the feasibility and requirement collection, there would be a prototype developed and it should be evaluated by the customer, if customer approves the prototype, then actual software will be implemented, tested and released to the customer, else the prototype should be redesigned and it should be evaluated by the customer again ,
  • This is a continuous process.

  • Advantages:

      • Probability of high quality software as there would be customer interaction with the s/w before it is constructed.

      • Accepts dynamic requirements.

      • Supports both projects and products.

  • Project:  If You Develop an S/W  Application According to a Client Requirements That Application is Called Project .

  • Product :  If You Develop a S/W  Application According to Market Requirements That Application is Called Product.

  • Disadvantages:

    • Might be expensive in designing multiple prototypes.
    • Time consuming factor if multiple prototypes have to be designed.

    • Spiral model:

  • It is an iterative model, which consists of "risk analysis" phase where a detailed study would be conducted by the "domain" and "technology" experts, in analyzing the risk in implementing the software.

  • Risk analysis can be done only after the complete requirements are collected and documented.

  • Risk analysis phase will decide whether to continue with further implementations or not.

  • Advantages:
      • It supports huge complex and mission Critical projects, in which domain and technical implementations are very complex

      • It supports dynamic requirements.

  • Disadvantages:

  • 1. It is a very huge time consuming and    expensive process.
  • 2. The success rate of the project is completely    dependent on the risk analysis phase.

  • 4)Agile Model or Extreme programming:

  • In This Model Requirements Will be Given to the Tester First and Later to the Developer. Tester Prepare test Prefer ability Automation Test , Soon After a Requirement is Developed. Then test it with the help of already Prepared Test Cases immediately . Based on tester feedback Developer Modify the Requirements if Needed. Then it will be given to the Customer For User Acceptance Testing.

  • Rules framed for agile process:

        • there should be a build deployed for testing from 1 day to max of 4 weeks.

  • B) Every single feature implemented should be  tested, if approved only the new    implementation should be carried out.

        • team size should be often between 2 to 6

  • D) the development and test teams should be    closely associated and should be effective    communication between the teams.

  • Advantages:
    • Very widely used in products or multiple release applications.
    • Probability of high quality software, due to rigorous testing and effective defect removal at the initial stages of the implementation.

  • Disadvantages:
  • It is tidies job to perform.
  • Very strict deadlines and should be met.
  • 3. No chance of proper documentation, due to    strict targets (dead Lines).
  • 4.









No comments:

Post a Comment

TestNG - Can i use the 2 different data providers to same @test methods in TestNG?

public Object [][] dp1 () { return new Object [][] { new Object [] { "a" , "b" }, new Obje...