Showing posts with label Differences between Testing Types. Show all posts
Showing posts with label Differences between Testing Types. Show all posts

Thursday, 16 April 2015

What is the difference between Black Box Testing & White Box Testing?

First of all Black-Box and White-Box both are Test Design Methods.
“Black-Box” test design treats the system as a “Black-Box” (Wherein the tester can’t see as
to what is there inside the box). Hence we design the test cases in such a way that we pour
the input from one end of the box and expect a certain specific output from the other end of
the box. To run these test cases, the tester need not know as to how the input gets
transformed to output inside the box. Black-Box is also known as Behavioral-Box or
Functional-Box or Opaque-Box or Gray-Box or Closed-Box.
Whereas “White-Box” test design treats the system as a Transparent Box, which allows
anyone to see inside the “Box”. In White-Box the tester is able to see the process of
transformation of an “Input” into an “Output” inside the box. Hence we design the test
cases with a view to test the internal Logic, Paths or Branches of the box. White-Box is also
known as Structural-Box or Glass-Box or Clear-Box or Translucent-Box test design

What is the difference between Stress Testing and Load Testing?

“Stress Testing” is subjecting a system to an unreasonable load while denying it the
adequate resources as required to process that load. The resources can be RAM, disc space,
mips & interrupts etc. etc. The idea is to stress a system to the breaking point in order to
find bugs, which will make the break potentially harmful. The system is not expected to
process the overload without adequate resources, but to fail in a decent manner (e.g.,
failure without corrupting or losing data). In stress testing the load (incoming transaction
stream) is often deliberately distorted so as to force the system into resource depletion.
Whereas “Load Testing” is a test performed with an objective to determine the maximum
sustainable load which the system can handle. Load is varied from a minimum (zero) to the
maximum level the system can sustain without running out of resources or causing
excessive delay in transactions.

What is the difference between Smoke and Sanity Testing ?

The general term of “Smoke Testing” has come from leakage testing of sewers & drain lines
involving blowing smoke into various parts of the sewer and drain lines to detect sources of
unwanted leaks and sources of sewer odors. In relation to software testing field, Smoke
testing Is a non-exhaustive software testing, ascertaining that the most crucial functions of
the program work well, without getting bothered about finer details of it.
Whereas “Sanity Testing” Is an initial testing effort to find out if the new software version is
performing well enough to accept it for a major testing effort. For example, if the new
software is crashing the systems every 5 minutes, bogging down the systems to a crawl, or
destroying the databases, then it can be concluded that the software may not be in a ‘sane’
enough condition to warrant further testing in its current state.

What is the difference between Dynamic and Static Testing ?

“Static Testing” involves testing activities performed without actually running the software.
It includes Document review, code inspections, walkthroughs and desk checks etc.
Whereas “Dynamic Testing” Is used to describe the testing of the dynamic behavior of the
software code. It involves actual compilation & running of the software by giving input
values and checking if the output is as expected. It is the validation portion of Verification
and Validation.

What is the difference between Alpha Testing and Beta Testing ?

Typically a software product passes through two stages of testing before it is considered to
be Final. The first stage is known as “Alpha Testing”. It is often performed by potential users
/ customers or an independent test team at the developers’ site. It is usually done when the
development of the software product is nearing completion; minor design changes may still
be made as a result of Alpha testing.
The second stage coming after alpha testing is known as “Beta Testing”. Versions of the
software, known as beta versions, are released to a limited audience outside of the
programming team so that further evaluation by the users can reveal more faults or bugs in
the product. Sometimes, beta versions are made available to the open public to increase the
feedback field to a maximum number of future users.