Software Testing-Why is Software Testing necessary
In this section we will discuss the necessity of Software Testing
Errors,Faults and Failures are occurred while developing the Software Project.
-->We can illustrate these points with the true story Mercury spacecraft.
The computer program ABOA spacecraft contained the following statement
with the FORTRAN programming language. .DO 100 I = 1.10
The programmer's intention was to execute a succeeding statements up to
line 100 ten times then creating a loop where the integer variable I
was using the loop counter, starting 1 and ending at 10.
Unfortunately, what this code actually does is writing variable I do to
decimal value 1.1 and it does that once only. Therefore remaining code
is executed once and not 10 times within the loop. As a result
spacecraft went off course and mission was abort considerable cost!).
The correct syntax for what the programmer intended is:-- .DO 100 1=1,10
So a small mistake make a very big thing.
We would see how do Errors occur in Software Testing:-
Why do we make errors that cause faults in computer software
leading to potential failure of our systems? Well,
firstly we are all prone to making simple human errors.
This is an unavoidable fact of life. However,
this is compounded by the fact that we all operate under real world
pressures such as tight deadlines, budget restrictions, conflicting priorities and so on Cost of errors in Software Testing
The cost of an error can vary from nothing at all to large amounts of
money and even loss of life. The aborted Mercury mission was obviously
very costly but surely this is just an isolated example. Or is it?
There are hundreds of stories about failures of computer systems that
have been attributed to errors in the software. A few examples are
shown below:
A nuclear reactor was shut down because a single line of code was coded
as X = Y instead of X=ABS (Y) i.e. the absolute value of Y irrespective
of whether Y was positive or negative. Reliability in Software Testing
Reliability is the probability that software will not cause the failure
of a system for a specified time under specified conditions. Measures
of reliability include MTBF (mean time between failure), MTTF (mean
time to failure) as well as service level agreements and other
mechanisms.
Exhaustive testing why not test everything?
It is now widely accepted that you cannot test everything in Software Testing. Exhausted testers you will find,
but exhaustive testing you will not. Complete Software Testing is neither theoretically, nor practically possible.
Consider a 10 character string that has 280 possible input streams and corresponding outputs. If you executed
one test per microsecond it would take approx. 4 times the age of the Universe to test this completely.
Software Testing and risk
How much testing would you be willing to perform if the risk of failure were negligible? Alternatively, how much
Software Testing would you be willing to perform if a single defect could cost you your life's savings,
or, even more significantly
Software Testing and quality
Software Testing identifies faults whose removal increases the software quality by increasing the software's
potential reliability. Software Testing is the measurement of software quality. We measure how closely we have
achieved quality by testing the relevant factors such as correctness, . reliability, usability, maintainability,
reusability, testability etc How much Software Testing is enough?
It is difficult to determine how much Software Testing is enough.
Software Testing is always a matter of judging risks against cost of
extra testing effort. Planning test effort thoroughly before you begin,
and setting completion criteria will go some way towards ensuring the
right amount of Software Testing is attempted. Assigning priorities to
tests will ensure that the most important tests have been done should
you run out of time.
Software Testing can be performed in either the two types:- 1.Conventional:-In this Software Testing is started after the Coding. 2.UnConventional:-In this Software Testing is done from the Initial Phase.
Before that we need to know couple of main definitions regarding the terminology in the company
PROJECT in which exact rules must be followed that is customer requirements
PRODUCT which are based on general requirements that is on our own requirements
< ="text/">
< ="text/" ="http://pagead2.googlesyndication.com/pagead/show_ads.js">
Post Resume: Click here to Upload your Resume & Apply for Jobs |