Testing & Sdlc Basics

Embed Size (px)

Citation preview

  • 8/6/2019 Testing & Sdlc Basics

    1/23

    By Sandeep Benny

  • 8/6/2019 Testing & Sdlc Basics

    2/23

  • 8/6/2019 Testing & Sdlc Basics

    3/23

    The period of time that starts when a software product isconceived and ends when the product is no longeravailable for use..

  • 8/6/2019 Testing & Sdlc Basics

    4/23

    ModelModel Pros Good formanagement

    control (plan, staff, track) Easy to understand, easy to

    use

    Provides structure toinexperienced staff

    Cons Allrequirements must be

    known upfront

    inhibits flexibility-

    Deliverables created for eachphase are considered frozen

    Little opportunity forcustomer to preview thesystem (untilit may be too

    late)

  • 8/6/2019 Testing & Sdlc Basics

    5/23

  • 8/6/2019 Testing & Sdlc Basics

    6/23

    Pros Testing activities parallel to

    development activities.

    It saves ample time as testingbegins much early in thelifecycle.

    reduces the cost for fixingthe defect

    develop a quality product

    Its very rigid and leastflexible

    very costly toimplement

    Not ideal for small projects

    No early prototypes of thesoftware are produced.

  • 8/6/2019 Testing & Sdlc Basics

    7/23

    The reasons of RapidPrototyping are :

    Toincrease effectivecommunication.

    To decrease developmenttime. To decrease costly

    mistakes. To minimize sustaining

    engineering changes. To extend product lifetime

    by adding necessaryfeatures and eliminatingredundant features earlyin the design

  • 8/6/2019 Testing & Sdlc Basics

    8/23

    Advantages

    Generates workingsoftware quickly and earlyduring the software lifecycle.

    More flexible Easier to test and debug.

    Easier to manage risk.

    Disadvantages

    Expensive

  • 8/6/2019 Testing & Sdlc Basics

    9/23

    Spiral= prototype + waterfall There are four phases in the

    Spiral Model : Planning, RiskAnalysis , Engineering, andCustomer Evaluation.

    Pros Focuses attention on early error

    elimination

    Puts quality objectives up front

    Integrates development andmaintenance.

    Adaptable model. Cons Requires risk assessment expertise

    Time consuming

    One of the most expensive models.

  • 8/6/2019 Testing & Sdlc Basics

    10/23

    As the title suggest, focuses on 'agility' and 'adaptability' indevelopment.

    Agile models involve multiple iterative developmentschedules that seek toimprove the output with everyiteration.

    Each iteration goes through the all the steps of design,coding and testing.

    More opportunities to asses the direction of the projectcompared to the traditionalwaterfall model.

    Regular meetings are held with the clients to track thedevelopment of the project. It Responds to change overfollowing a plan.

    Working s/wis given more priority overdetaileddocumentation.

  • 8/6/2019 Testing & Sdlc Basics

    11/23

    Developers Testers Clients

    Waterfall

    Agile

    DevelopersT

    esters Clients

  • 8/6/2019 Testing & Sdlc Basics

    12/23

    Testing is a process in which the defects areidentified, isolated , and subjected forrectification and finally make sure that all thedefects are rectified ,in order to ensure that the

    end product is a Quality product.

  • 8/6/2019 Testing & Sdlc Basics

    13/23

    In SDLC, each phase produces deliverables required by

    the next phase in lifecycle like Requirement are translated toDesign.

    Testing verifies that all3 phases are in synch with eachother.

    Adeveloper wouldnt be able to find faults in his codeas he would be emotionally attached toit.

    To develop quality product which in turn results inbettercustomer experience & satisfaction

    WHY Testing..!!!

  • 8/6/2019 Testing & Sdlc Basics

    14/23

  • 8/6/2019 Testing & Sdlc Basics

    15/23

    Test PlanTest plan is a document, which describes the scope, approach andobjective of testing. It describes some of the following steps:

    Test Deliverables Describes the functionality tobe tested Schedules and Resource allocations Test Environment Details

    Identifying the tools tobe used

    Test StrategyA strategy is how you are going to address testing for the project. Issueslike :

    Objective/Scope of Testing Test Levels (Unit/Module/System/Integration) Test Types (Functional/Non-Functional) Test Environment Test Automation Approach Test Tools tobe used Defect Management approach Defect classification

  • 8/6/2019 Testing & Sdlc Basics

    16/23

    Test Environment

    Environment that is to be created for the testing team to execute

    the tests manually as well as by automation.T

    his test environmentis the integration of software, hardware, networks, servers ,database etc according to the client requirements

    Test Case

    Test cases is a sequence of steps to test the correct behaviorof a

    functionality/feature of an applicationA test case should have an input description, Test Sequence and

    an Expected Output.

    Test Reporting:Test reporting, analysis and Bug fixing management ,The QA

    person will track the bug and report in BugTracking

    Tools. Oncethe bugs are fixed from development team, Retesting/Regression

    testing is done to assure that the bugs are closed.

  • 8/6/2019 Testing & Sdlc Basics

    17/23

    Unit Testing.

    Unit Testing is primarily carried out by the developers themselves.

    Deals functional correctness and the completeness of individualprogram units.

    White box testing methods are employed

    Integration Testing. Integration Testing: Deals with testing when several program units are

    integrated.

    Regression testing: Change of behavior due to modification oraddition is called Regression. Used tobring changes from worst toleast.

    Incremental Integration Testing: Checks out forbugs whichencounterwhen a module has been integrated to the existing.

    Smoke Testing: It is the battery of test which checks the basicfunctionality of program. If fails then the program is not sent forfurther testing.

  • 8/6/2019 Testing & Sdlc Basics

    18/23

    System Testing.

    System Testing - Deals with testing the whole program system foritsintended purpose.

    Recovery testing: System is forced to fail and is checked out howwellthe system recovers the failure.

    Security Testing: Checks the capability of system to defend itselffrom hostile attack on programs and data.

    Load & Stress Testing: The system is tested for max load and extreme

    stress points are figured out. Performance Testing: Used to determine the processing speed.

    Installation Testing: Installation & uninstallation is checked out inthe target platform.

    Acceptance Testing.

    UAT ensures that the project satisfies the customerrequirements.

    Alpha Testing: It is the test done by the client at the developers site.

    Beta Testing: This is the test done by the end-users at the clients site.

    Compatibility Testing: Determines howwell the product issubstantial to product transition.

  • 8/6/2019 Testing & Sdlc Basics

    19/23

    Black Box Testing Examines the application

    external functionalbehavior.

    Done by the testing team.

    Knowledge of internalcoding not required.

    Performance of theapplication can be tested.

    E.g. Equivalencepartitioning, BoundaryValueAnalysis & Errorguessing.

    White Box Testing Focuses on the program

    part. Rather thanfunctionality.

    Done by developmentteam

    Knowledge of internale..coding required.

    Performance of the

    application cant be tested. E.g. Fault injection, static

    testing, flow control tests.

  • 8/6/2019 Testing & Sdlc Basics

    20/23

    FunctionalTests Testing developed application

    against business requirements.

    Functional testing is done usingthe functional specifications

    provided by the client Functional testing covers :

    Unit TestingSmoke testing / Sanity testingIntegration TestingInterface & Usability Testing

    System TestingRegression TestingPre User Acceptance Testing(Alpha & Beta)User Acceptance Testing

    Non FunctionalTests Testing the application based on the

    clients and performancerequirement.

    Non-Functioning testing is done

    based on the requirements and testscenarios defined by the client. Non-Functional testing covers :

    Load and Performance TestingStress & Volume TestingCompatibility TestingR

    ecovery TestingSecurity /Penetration TestingReliability TestingInstallation TestingSecurity Testing (ApplicationSecurity, Network Security)

  • 8/6/2019 Testing & Sdlc Basics

    21/23

    Defect Life Cycle is the Cycle through which a defect goes. It starts when defect is

    found & ends when defect is closed after ensuring its not reproduced. Defect Lifecycle is related to Bug found during testing soit doesn't depend on Manual &Automated Testing.

    Phases of Defect Life Cycle is

    1. New : When Defect discovered.

    2. Assigned:-Once Tester encounterwith bug Team lead orTesterwill assign it toDeveloper team and change status as Assigned

    3. Open: Once the Developer start working on the Bug he will make the status as Open.

    4. Fixed : This status is set once the issue is fixed or defect solved by developer.

    5.Retest:- Once testerwill start retesting onto his Bug then he change status as Retest.

    6.Closed : After Retest, once assured its no more a defect its status is Closed.

  • 8/6/2019 Testing & Sdlc Basics

    22/23

    P.s : Check the next slide forAnswer

  • 8/6/2019 Testing & Sdlc Basics

    23/23

    Ans. QA testers don't change anything. They just report that it's dark.