Software Testing Life Cycle: Interview Questions and Answers

What is a Software Testing Life Cycle (STLC)?

STLC is a software testing process where software is divided into phases for testing.Or this can be restated as  it is life cycle of Software for testing.

For example in layman language.  A butterfly life cycle start from 

Egg-->Caterpillar: The Feeding Stage-->Pupa: The Transition Stage-->Adult: The Reproductive Stage.

Now to be an Adult Butterfly has to go under specific phases, similarly to produce a high quality software ,it has to go under specific phases. This is life cycle of Software.

What are the phases of STLC?

The phases can differ slightly, depending on the software development model used, system architecture and the nature of the project. Most commonly, the following phases of STLC are the most commonly recognized:

  • Requirements Analysis
  • Test Planning
  • Test Design
  • Test Environment Setup
  • Test Execution
  • Test Closure
  • What is the difference between SDLC and STLC?

    Software Development Life Cycle (SDLC) is a process of developing a  software by dividing it into different phases.

    • Planning
    • Analysis and Design
    • Implementation (Coding)
    • Testing
    • Deployment and Maintenance 

    So it can be said that the Software Testing Life Cycle is a part of the Software Development Life Cycle, and represents testing activities held within it. A rule of thumb is to have a testing activity for every development activity, and to start it as early as possible. For instance, test design for each test level should start in parallel with the corresponding development activity.

  • What activities are performed in each phase of STLC?

    Requirements Analysis – The requirements are gathered, examined and tested. Issues in Software Requirements Specifications (SRS) are detected. Automation feasibility is evaluated.

    Test Planning – In this phase, the test objectives are defined, test strategy and test plan created and test effort estimated. Tools and resources are then determined.

    Test Design – This phase implies the designing of test cases, creation of automation test scripts and preparation of test data.

    Test Environment Setup – During this phase, the environment and test data are setup and a smoke test is usually run to confirm that the environment is ready. This phase is sometimes excluded from STLC, being performed separately but in some cases, it is not distinguished as a separate phase and is considered part of Test Design.

    Test Implementation – This is when the actual testing takes place. Functional and non-functional types of testing are executed, test cases and test scripts are run, bugs logged and test results reported. Regression testing, bugs verification and closure also belong to this phase.

    Test Closure – During this phase, we prepare test summary report and gather test metrics and report them to stakeholders. We also archive the project documents and hold Lessons Learned sessions to improve efficiency of future projects.

  • What types of SRS (Software Requirement Specifications) issues can be detected during the review of requirements?

    Anything that doesn’t conform to the criteria of good requirements, such as the following:

    • Testable (verifiable)
    • Clear and concise
    • Complete
    • Feasible
    • Independent
    • Atomic
    • Consistent
    • Traceable
    • Implementation-free.
    • What is the purpose of the test closure phase?

      Test closure activities have several goals, such as to:

      • Ensure the completion of testing
      • Gather and handover test artifacts
      • Hold retrospective meetings and come up with Lessons Learned.
      • How would you define that testing is sufficient and it’s time to enter the Test Closure phase?/How to be sure  now testing needs to be stopped?

      • The exit criteria is defined at the test planning stage and can include the following items which can signify the end of testing activities:

        • Sufficient coverage of requirements by test cases is achieved
        • All test cases planned for the phase have been executed
        • All critical and high priority bugs are fixed and verified
        • High risk areas are addressed and properly tested
        • Acceptance testing is passed.
        • At which phase is the test environment prepared?

          If it is to be focused on separately, this phase is usually prepared during Test Environment Setup. If not, this activity usually falls into the Test Design phase.

          Which phase of STLC includes bugs closure activities?

          The Test Execution phase is where the actual testing activities are performed.


Comments

Popular posts from this blog

SOFTWARE DEVELOPMENT LIFE CYCLE MODELS (SDLC MODEL)

DIFFERENCE BETWEEN DEFECT , BUG, ERROR AND FAILURE

Software Testing Life Cycle (STLC)?