top of page
Writer's pictureReka Narayanasamy

Software Testing Process Part 1

Lets understand Software Testing , Test flow and process in this blog.

We will learn on types of Testing ,Testers will be handling as a Tester in SDET.



Waterfall Model

Waterfall Model is a sequential model that divides software development into pre-defined phases. Each phase must be completed before the next phase can begin with no overlap between the phases. Each phase is designed for performing specific activity during the SDLC phase.

SDLC: SDLC is Software Development Life Cycle.

Testing phase in waterfall model starts only after implementation of the system is done.




When to use SDLC Waterfall Model?

Waterfall Methodology can be used when:

  • Requirements are not changing frequently

  • Application is not complicated and big

  • Project is short

  • Requirement is clear

  • Environment is stable

  • Technology and tools used are not dynamic and is stable

  • Resources are available and trained



V Model

V Model is a highly disciplined SDLC model which has a testing phase parallel to each development phase. The V model is an extension of the waterfall model wherein software development and testing is executed in a sequential way. It is known as the Validation or Verification Model.


SDLC: SDLC is Software Development Life Cycle. It is the sequence of activities carried out by Developers to design and develop high-quality software.


STLC: STLC is Software Testing Life Cycle. It consists of a series of activities carried out by Testers methodologically to test your software product.








  • The left side of the model is Software Development Life Cycle – SDLC

  • The right side of the model is Software Test Life Cycle – STLC

  • The entire figure looks like a V, hence the name V – model


Types of Software testing


  • Unit tests.

  • Integration tests

  • Functional tests

  • End-to-end tests

  • Acceptance testing

  • Performance testing

  • Smoke testing





Agile

Agile is one of the most famous project management frameworks in software development. Agile software testing is a methodology that helps developers test their code continuously and rapidly. This methodology also allows testers to get immediate feedback from customers.

In agile testing, there are various roles and responsibilities of different team members. In this article, we'll explain everything you need to know about Agile software testing.

Agile software testing is a methodology that helps developers test their code continuously and rapidly. This methodology also allows testers to get immediate feedback from customers. In agile testing, there are various roles and responsibilities of different team members.






Exploratory testing

Exploratory testing is an approach to software testing that is often described as simultaneous learning, test design, and execution.

Exploratory testing allows you to think outside the box and come up with use cases that might not be covered in a test case. For example, you might perform one test and then ask yourself, “What if I tried this? What if I didn't do that?”



Smoke testing

Smoke testing, also called build verification testing or confidence testing, is a software testing method that is used to determine if a new software build is ready for the next testing phase. This testing method determines if the most crucial functions of a program work but does not delve into finer details.




Sanity Testing

Sanity Testing or Surface Level testing is a type of testing which is performed on the stable build of the software. It is a quick and basic test (or set of tests) to ensure that the code changes made are working properly without any bugs.


Retesting

Retesting is a process to check specific test cases that are found with bug/s in the final execution. Generally, testers find these bugs while testing the software application and assign it to the developers to fix it. Then the developers fix the bug/s and assign it back to the testers for verification.


Functional testing

Functional testing is a type of testing that seeks to establish whether each application feature works as per the software requirements. Each function is compared to the corresponding requirement to ascertain whether its output is consistent with the end user's expectations.





Regression Testing Regression Testing is defined as a type of software testing to confirm that a recent program or code change has not adversely affected existing features. Regression Testing is nothing but a full or partial selection of already executed test cases that are re-executed to ensure existing functionalities work fine.

This testing is done to ensure that new code changes do not have side effects on the existing functionalities. It ensures that the old code still works once the latest code changes are done.




Ad hoc Testing

Ad hoc Testing is an informal or unstructured software testing type that aims to break the testing process in order to find possible defects ...

Performing random testing without any plan is known as Ad Hoc Testing. It is also referred to as Random Testing or Monkey Testing. This type of testing doesn't follow any documentation or plan to perform this activity.



Bug tracking

Bug tracking is the process of logging and monitoring bugs or errors during software testing. It is also referred to as defect tracking or issue tracking. Large systems may have hundreds or thousands of defects. Each needs to be evaluated, monitored and prioritized for debugging

Bug tracking done right with Jira Software. Capture, track, resolve and report on bugs and issues throughout your entire development process.




Alpha testing

Alpha testing is the initial phase of validating whether a new product will perform as expected. Alpha tests are carried out early in the development process by internal staff and are followed up with beta tests, in which a sampling of the intended audience actually tries the product out.





Beta testing

Beta testing is one of the final steps in the software development lifecycle before a product goes live. This crucial software testing step, also sometimes referred to as user acceptance testing or end user testing, helps deliver a great user experience by relying on the expertise of target users.



Conclusion:


I hope, This article will help you to understand basics of Testing. We will learn more on Software Testing in Part 2 : https://www.numpyninja.com/post/software-testing-process-part-2


You must have got an idea on the topics explained in this blog. Lets explore more and learn New Topics.


Happy Learning

203 views
bottom of page