Software Testing Life Cycle

Software Testing is not considered as a single activity like Do and Close it, but rather it is an ongoing process which never stops (Requirements analysis to test closure, again Requirement Analysis start for new one.) that’s why we consider a sequence of activities (Lifecycle) conducted to perform Software Testing.

software testing life cycle

Points to highlight on STLC process

  • Using certain orders, STLC ensures that the quality standards of an application were met.
  • Each order has its own activities, goals, and deliverables.
  • Each organization follows different phases whereas the basis for STLC remains the same.

In order to understand the orders/phases in details, let’s  consider a real-time example which suits STLC process

Try to build/construct an apartment

Try to build/construct an apartment

For this we have to go through below sequential phases:

Phase 1: Needs/Requirements:

Here will focus on our basic needs to start an apartment, which is very crucial critical analysis.

Action items involved:

  • Type of land
  • Availability of resources like water, ventilation, etc..,
  • Area locality
  • Distance from roads markets educational sectors, offices etc..,

Phase2: Planning

After fulfillment of our needs will plan according to needs

Action items involved :

  • Estimation of human Resources/labor required to complete construction.
  • Amount of materials (concrete cement, sand etc..,)required.
  • Time intervals to complete construction.
  • Blueprint of the apartment.

Phase 3: Designing/Construct:

As per plan, we start to design the building by analyzing the plan.

Action items involved:

  • How many floors, how many flats per floors, how many rooms, dimensions of each room etc..,

Phase 4 : Verify:

Here we will verify the apartment parameters by referring to design/construct.
If actual dimensions of the rooms are not as per design, will do rectification actions and make changes.

Action items:

  • Actual construction will be compared with Design.

Phase 5: Closure activities:

Once all activities complete will happy to go to home

Action items: 

  • We will doesn’t consider how design and verification has been because all are verified correctly and able to see properly constructed home.

similarly, we can describe Software testing life cycle with below phases:

Phase 1: Test Requirement Analysis:

It is an initial phase where Testable Requirements will be analyzed by QA Team which are basic user needs/expectations.

Phase 1 ; Test Requirement Analysis:

Here QA Team builds strong communication Stakeholders (customer, business analyst, technical leads. system architects, user, client, etc..,) to understand the user ideas (requirements) in detail.

Action items:

  • Test priorities and focus of testing.
  • Types of tests like manual or automation will be finalized.
  • Objectives.
  • Goals.
  • Background/History.
  • Functional and Non-Functional Requirements etc..,

Phase 2: Test Planning  

Here higher level people like QA LEAD or QA Manager Will prepare a document which consists of efforts and cost estimates for the project and Complete the test activity.

Test planning

Action items:

  • Prepare Test plan/Test Strategy document.
  • Planning and determining roles and responsibilities of each resource
  • Efforts estimation.
  • Tools used for testing etc…,

Phase 3: Test case/Design development:

Here on seeing the Test plan document, QA Team will Start preparing the Test scenarios, with that, they will write Test casesThese Test scenarios/Test cases will be reviewed by higher level people and approved Test cases will be used to execute the application.

Test case/Design development:

Test scenarios can be both positive and negative checks.

Acton items

  • Prepare Test cases/Test scripts.
  • Test cases/Test scripts review
  • Test Data preparation

Phase 4: Test Execution:

Here QA Team will start executing the application/software (which were migrated from Development team to check) by referring to the written Test Design/Test cases.

 Test Execution:

 

 

 

 

 

If the actual result (from application) doesn’t meet the expected result (from Test cases), then the corresponding test case will be failed. QA Team inform the failed Test case to Developer for correction and test will be carried again after fix from the developer.

Action items:

  • Check application according Test cases.
  • Generate Test results of Test casses to be executed (both pass and fail)
  • Retesting of fixed defects.

Phase 5: Test closure Activities:

Once all Test activities involved in the Test process completes.QA Team will prepare a Test report which shows the Test results by referring to a number of Test cases Written, number of “No Run” Test cases, number of Test cases” passed” (which were passed after fix) etc..,

Test closure Activities:

Basic names for test reports are:

Test summary report.
Test execution Report.
Test status Report.
Test post morten Report.
Action items:
Test Analysis report.
Test final report.

What is testing tools?

Before knowing Software testing, we need to know what is meant by the word “TEST”.

In real world, we see TEST as

  • Test exam: Conducting an exam to check the students percentage of pass/fail.

Action items: As per the questions given, students answer to the corresponding questions (which means every question should have expected answers.)

  • Test Lab Reports: Here as per the sample given, will go a process of treatment as per the reports.

Action Items: As per the reports will contact doctor and do the corrective actions.

  • Test Drive: Here will check performance (speed, mileage, engine pickup, etc…,) of the driven vehicle.

Action Items: Here we will check whether the vehicle is as per our requirements or not.

  • Test Match: Everyone knows what is meant by Test Cricket, where we mainly focuses on player performance like stamina, sustain, resistance, patience etc…,

Action Items: Player will be IN the team if his/her performance is good.

Now derive, definition of Software Testing from real-time examples:

Software testing is a process of identifying the issues and do the corrective actions and provide quality product of an application/product/software.

Aim: Is to focus on user requirements, needs and expectations of the user/customer.

Job: To find the failures in the application and do the corrective actions as per user needs.

Testing Tools Training in Hyderabad

Testing Tools:

For doing testing in this advanced world, we will use some testing tools in order to fasten the work, bring system into stable, check in multiple applications simultaneously, provide continues reports to user for easy to understand, etc…,

Some of the well-known testing in market are:

  1. TestComplete
  2. Selenium
  3. LeanFT
  4. Tosca
  5. UFT
  6. Rational Functional Tester

 

testing tools in market

 

Automation tools:

Nowadays, development pactices changes frequently and many updates are proposed which aims to provide quality, customer expectations, productivity etc…, and the same should be happen when comes to test automation.

The main Automation tools available in current market are:

  1. UFT
  2. Selenium
  3. Katalon Studio
  4. TestComplete
  5. Rational Software etc…,

 

Automation Testing

Automation Tools

What is meant by Manual Testing?

Basically Software Testing is divided into two types:

  1. Manual Testing
  2. Automation Testing

Manual Testing vs Automation Testing

Manual Testing will be defined as:

Software testing where QA team manually executes written Test cases without any automation involved will be considered it as Manual Testing.

Aim of Manual Testing to find/identify the bugs/defects in the application/product/software using written Test cases and focus on delivery quality application / product / software which meets ccustomer/userneeds.

Manual Testing

indepths of Manual Testing

Why Manual Testing needed?

  • Whatever we expect should come:

Example: When we try to launch https://www.gmail.com login page, it should show me the same, but if it opens https://www.yahoomail.com which is not as expected. Hence there should be a team (QA) to check whatever user needs should come.

Why manual Testing

  • Application behavior varies from one to many users, so it should work as expected when deals with one to many:

Example: Generally we have noticed server slow / down when we try to book railway tickets at Tatkal timings and as well as when server publish exam result. This is mainly due to load on the server. So there should be a team (QA) to check the server performance with one to many user.

  • Application in different places should work without any dependency:

 

Example: # Many people uses different devices like IPhone, Moto, Samsung, MI etc…,

    # Not only this, people uses many browsers like Mozilla, Chrome, IE, Safari etc…,

    #adding to this, many people uses many Operating Systems like Windows, Linux, MAC, Android, IOS etc…,

Hence application should behave same irrespective of devices / Browsers / Operating Systems which means a team (QA) should require to support this checks.

Manual Vs Automation:

As the name Manual suggests, executing the application with respect to written Test Cases. And for Automation, will execute the application with respect to written Test scripts. However we have many difference between Manual and Automation.

Manual

  • Investment required as human are involved.
  • Time Consuming.
  • Less reliable, not accurate due to human errors.
  • Suitable at Exploratory Testing, Usability Testing and Ad-hoc testing.

Automation

  • Investment required on automation tools.
  • It will be faster than manual.
  • More reliable as Automation tools involve.
  • Suitable at regression testing, Load Testing, repeated testing and performance testing.

Manual Testing vs Automation testing

Software Testing Life cycle(STLC):

As a basic example, a human life will start as Infant, later goes through distinct ages to gradually grow and matured to grand age. Similarly, Software Testing Life Cycle has different phases to go though and gives us a Quality Product.

Phases:

  1. Test Requirement ANalysis.
  2. Test planning.
  3. Test case Design and Development.
  4. Test Environment Setup.
  5. Test Execution.
  6. Test Closure.
Software Development Life Cycle(SDLC):

Software Development Life Cycle involves entire product members to design, develop and gives the quality product as per the customer needs.

It is a conceptual and long-term view of software product to be delivered.

Types of SDLC models in real market:
  1. Waterfall Model.
  2. V-Model.
  3. Iterative Model.
  4. Spiral Model.
  5. Big-Band Model.
  6. AGILE Model etc…,

Manual testing interview questions and Answers

Testing Tools training in Hyderabad

Kosmik Provides Testing Tools training in Hyderabad(ClassRoom & Online). We are providing lab facilities with complete real-time training. Training is based on complete advance concepts. So that you can get easily “hands-on experience”. We will give 100% job assistance.