Software Testing Process
How to do Software Testing
If we want to know, How to do Software Testing, then the first thing that we should know is that what do we test in Software testing Process and the answer to that Question is, We Test Software in Software Testing Process.
Now, the next Question is, When can we test a Software, then the answer to that Question is, We can test a Software only when the Software is developed and available for Testing, So there will be a phase (time duration) when a Software will be developed and will be made available for Testing. So, there will be a phase before Software Testing, and that phase is called Software Development.
Now, the Question is, How do we develop a Software, or What do we in Software Development Process and the answer to that Question is, We write codes or programs in Software Development Process.
Let’s see an example for that
If we want to develop a Software called, Calculator, then we will have to write Program or code for that. We will have to write Program for Addition, Subtraction, Multiplication, Division etc…
Now, the Question is, why do we need to write program for Addition, Subtraction, Multiplication, Division etc…while developing a Software like Calculator and the answer to that Question is that, these are the basic functionalities of the Calculator or you say these are basic requirement of a Calculator.
So, We came to know 3 important terms or 3 important stages which are available in a Project and those are.
- Requirements
- Software Development
- Software Testing
So, First we gather the Requirements of a Particular Software, then we analyze it, and then Software Development Process starts and the Software Testing Process takes place.
Now, this complete process is called, Software Development Life Cycle.
Software Development Life Cycle is known as SDLC in short form.
Software Development Life Cycle
What is Software Development Life Cycle
The Software Development Life Cycle (SDLC) is a methodology used in the development of software applications. It involves a series of stages or phases that the software goes through.
Software Development Life Cycle is made up of 4 words.
Software+Development+Life+Cycle
Life Cycle means different different phases. for instance, we can understand this with our own example, that when a kid is born, then there are different different phases in the life of a kid. first phase is birth of a kid, and then the kid is raised and then schooling phase comes in and then collage phase and the job phase and it goes on.
Same way Software development life cycle involves some phases that the Software has to go through.
The SDLC provides a framework for the development of software.
SDLC ensures that the final product meets the requirements of its stakeholders, is of high quality, and is delivered on time and within budget.
Stages of SDLC
SDLC involves a series of stages or phases that the software goes through, where in below phases are involved.
- Requirement Gathering
- Requirement Analysis
- Design
- Coding
- Testing
So, We can see that Tesing stage comes after Coding and before that Requirement Gathering, Analysis and Design phase takes place.
We have discussed only 5 stages of SDLC but there are 2 more stages involved in SDLC and the total no of stages are 7 in SDLC, Let’s see them
- Requirement Gathering
- Requirement Analysis
- Design
- Coding
- Testing
- Deployment
- Maintenance
Now, Let’s discuss each stage in detail.
Requirement Gathering
This is also called Planning stage.
In this Stage,
- Requirements are gathered.
- project is defined.
- plan is created.
For Example, If we have to know that what would be the requirements or Functionalities of a Calculator then we need to gather all the requirement of the Calculator and a plan needs to be created.
Requirement Analysis
This is the nest stage after Requirement Gathering. Once all the requirement are gathered, then those requirements need to be analyzed, which is done in this stage. In this stag, the requirements are analyzed in detail, and finalized.
For Example, If we are developing a Calculator, then let’s say, We have gathered requirements for Calculator and the requirements are Addition, Subtraction, Multiplication and Division but In the Analysis phase, We found that It is only possible to work on Addition, Subtraction and Multiplication for now, So only those requirements are taken into consideration.
Design
In this stage, Software Design Document is created. This design Document is based on the Requirement Document that is created during Requirement Gathering and Requirement Analysis phase. Software Design Document includes data structures, algorithms and Software Architecture.
for example, If we have to build a Calculator Application, then how should Addition functionality behave, when we add 2 number, when we add 3 numbers or when we add a positive and a negative numbers, this kind of analysis is done in this stage and Algorithms and data structure is prepared based on the analysis.
Coding
Once the Software Design Document is prepared and finalized, then the Developers start writing code as per the Software Design Document. This is called Coding phase. Developers start building the Software in this Stage. Developers will do coding and will do unit testing to test their code.
So, Developers will build Calculator app and unit test the functionality as well.
Testing
In this stage, the software is tested to ensure that it meets the requirements and is free of bugs. This includes functional testing, performance testing, and integration testing.
for example, If we have to test Calculator app, then it will be tested for different type of inputs, different number of inputs and testing will be conducted at different levels and in different environments.
Deployment
In this stage, the software is deployed to the production environment, and the end users starts using it.
So, this can be called the final stage of Software development life cycle, where the Software is finally available to the end user who are actually going to use it.
Maintenance
In this stage, the software is maintained and updated to ensure that it remains functional and meets the changing needs of the users.
for example, Calculator app was developed and it had addition, subtraction and multiplication functionalities but now If we want to add the new feature of Division in the Calculator app now, then this new feature should work fine and the existing features like addition, subtraction and multiplication should also work fine. This is the responsibility in this stage.
Types of SDLC Models
There are different SDLC Models available, and when we want to do Software testing, We need to follow any one of the SDLC Models.
Some of the very famous SDLC Models are.
- Waterfall Model
- V Model
- Agile Model
- DevOps
We will discuss each of the SDLC Model in detail in our coming sessions.
So, This is how, We do Software Testing. This is the answer to the very first Question of this Session, How to do Software Testing.
Summary
We have covered below topics in this session
- How to do Software Testing
- Software Development Life Cycle (SDLC)
- Type of SDLC Models
Question
Question for this session is, that Explain Software Development Life Cycle with some real example.