DEV Community

Kritika Yadav
Kritika Yadav

Posted on • Edited on

Getting Restarted With Software Testing: Part 1

As a beginner I wanted to understand each and every concept of the software testing like how software build what process will be taken to design any application. Why testing is most important part of any SDLC Process. Through this blog, I am sharing my learning experiences and insights as I progress in my manual testing journey.

What is Software testing?

Software testing is nothing but one of the most important step taken in Software development life cycle to check the stability and quality of any designed software.

Why Software testing ?

Software testing is used to identify the defects in any application and it also ensure whether designed software meet all the expected requirement or not.
For example: Without Proper testing user may find some different features in a software.
-The website crashes when hundreds of users try to buy the same product simultaneously (performance issue).
-Some users are able to access other users’ accounts due to a security bug.
-Product search or checkout buttons don’t work correctly in mobile browsers (compatibility issue).

QA Vs QC

Earlier while doing the manual testing I was thinking QA and QC both work in the same way but there is huge difference between them.
Quality Assurance focus on defect prevention and it is performed by QA team. While Quality Control focus on finding the defects in any application and it is performed by tester team.

What is SDLC ?

Software development life cycle is a step by step process followed by developer and QA team to design develop test and deliver any required software.

Steps for SDLC-

What is STLC ?

Software testing life cycle is a step by step process followed by only QA team to plan design execute and report the bugs and do the defects closure of any testing activities in order to achieve the quality software.

Steps for STLC-

What is white box testing and black box testing ?

In white box testing developer will look into the internal part of the software programming. In black box testing QA team will test the entire functionality of the software.

For example:-
White box testing: Code execution
Black box testing : No code execution

What is Levels of Testing ?

It is a combination of white box testing and black box testing. It is performed by developer QA team to check the functionality of the software like how software behaves in different testing phases.

It is categorize into multiple phases:

Unit Testing:-

Unit testing is performed by developer to test the single module or single component of the software.

For example: We have e-commerce website.

Features in the system
  • Search Box

  • Add to cart

  • Order an item

  • Payment

  • Order confirm

So in the above example user will only test one component , he will login and search for the items in the search box.

Integration Testing:-

Integration testing is performed by developer to test the integrated module to check how data flow from one module to another module.

For example: We have a banking app.

Features in the system
  • Transfer money

  • Record transaction history

  • Get SMS/Email through notification

  • Check total balance

So in the above example user will check all the features to see the data flow from one module/feature to another module/feature.

System Testing:-

System testing will be perform after the completion of unit testing and integration testing. It is a black box testing performed by a testing team to check the whole functionality of the software. Before doing the system testing user should be aware of all the software requirement. And it has a various types.

Types of System testing-

GUI Testing :- Graphical user interface testing and it check very basic functionalities like font size, font color or any alignment issues.

Functional Testing :- It is mainly focus on data base testing , error handling ,links existence, calculation, and object properties testing like size, width , length of the text box.

Non Functional Testing :- Non functional testing is used to check the speed and response of the software like performance testing, security testing, recovery testing and compatibility testing etc.

Usability Testing :- It is tested by end user to check how easily the end users are able to understand and operate the application. Preparing user manual document for the user.

UAT Testing:-

After the completion of system testing user acceptance testing will be performed by product owner or business analyst team to check whether software is ready for production or not.

Types Of UAT Testing-
  • Alpha Testing

  • Beta Testing

Alpha Testing:- Alpha testing is internal acceptance testing performed by organization team before releasing the software to the external users. And it will be done in controlled environment

For example : We have a Banking App

Alpha Testing Scenarios:
  • The app is still under development

  • Developers and QA testers use the app in the office

  • They will test the software in test environment before releasing to the external user.

Beta Testing:- Beta testing is external acceptance testing performed by real users in real environment before the final release.

For example : We have a Banking App

Beta Testing Scenarios:
  • App is released to selected users
  • 500 real users
  • Different devices
  • Different locations

Up Next

We have covered the importance of software testing and the difference between QA and QC and we have understood what is the SDLC and STLC process and levels of testing. In the up coming part we will understand software testing types and test design techniques with the real life examples.

Top comments (0)