Friday, April 24, 2020

What is Software Testing?



Software testing is a phase in Software Development Life Cycle (SDLC). 
Let see what do we do in testing...

We can simply say we ensure the product we are making is right and we are making a right product. That mean Verification and Validation. Verification means are we building the product right ( What ever we are doing, It should work above all it should work correctly without any bug). In other hand Validation is What we are building is should match with the client requirement. 

There are two types in software testing

  1. Manual Testing
  2. Automation Testing
Manual testing 


Manual Testing is a type of Software Testing where Testers manually execute test cases without using any automation tools. Manual Testing is the most primitive of all testing types and helps find bugs in the software system. Any new application must be manually tested before its testing can be automated. In manual testing we manually give inputs and check with the outputs.

Automation Testing

 Automation Testing means using an automation tool to execute your test case suite. We write scripts to automate the testing. For example in Java using JUnit we write JUnit test cases in other languages we right test cases as the automation testing tools. 

Another Classification of  software testing is consist of 

  1. Functional Testing 
  2. Non Functional Testing

Functional Testing


Functional Testing is defined as a type of testing which verifies that each function of the software application operates in conformance with the requirement specification.

This testing involves checking of User Interface, APIs, Database, security, client/ server applications and functionality of the Application Under Test. The testing can be done either manually or using automation.

Non Functional Testing

Non-functional testing is defined as a type of Software testing to check non-functional aspects (performance, usability, reliability, etc) of a software application. It is designed to test the readiness of a system as per nonfunctional parameters which are never addressed by functional testing.


How do the Software Testing?

Basically there are two techniques 
  1. Black Box Testing
  2. White Box Testing


Black Box Testing


It is a software testing method in which the internal structure/design/implementation of the item being tested is not known to the tester. These tests can be functional or non-functional, though usually functional.

For example If we buy a Mobile phone we only see the Battery life, performance of the phone, How the touch screen is working and so on, But we never see how the Micro chips in the phones are connected with the sensors of the phone. This is what we call as Black Box Testing. Just we give the input and  check the outputs we never go through the processing.

White Box Testing

It is a software testing method in which the internal structure/design/implementation of the item being tested is known to the tester.

In here we check the not only the input and the out also we check whole process of the system.

There are some levels of  Testing in Software testing 

  1. Unit Testing
  2. Integration Testing
  3. System Testing
  4. Acceptance Testing


Unit Testing

Unit Testing is defined as a type of software testing where individual units/ components of a software are tested. Unit Testing is usually performed by the developer.

Example Tools: Jtest, Junit, Nunit, JMockit, EMMA, PHPUnit and etc.

Integration Testing

Integration Testing is defined as a type of testing where software modules are integrated logically and tested as a group.

System Testing

System Testing is the testing of a complete and fully integrated software product. System Testing is actually a series of different tests whose sole purpose is to exercise the full computer-based system.

Acceptance Testing

Acceptance is defined as a type of testing performed by the Client to certify the system with respect to the requirements that was agreed upon. This testing happens in the final phase of testing before moving the software application to the Market or Production environment.

imzi

Author & Editor

Has laoreet percipitur ad. Vide interesset in mei, no his legimus verterem. Et nostrum imperdiet appellantur usu, mnesarchum referrentur id vim.

0 comments:

Post a Comment