Friday, April 6, 2012

How many types of Defects?


Basically the defects are classified in to three types:

1.     Missing Defect
2.     Extra Defect
3.     Wrong Defect

·         Missing Defect (Requirement not implemented)

The requirement given by the client was not done. This also is a discrepancy from the specifications, and feature that a specification was not performed. It also may mean that requirement of the client wasn’t noted appropriately.

·         Extra Defect (Added something more than need)

A requirement incorporated into the product that wasn’t given by the end client. This is usually a discrepancy from the specification, but it also may be characteristic requested by the user of the product. Nevertheless, it is supposed a defect because it’s a discrepancy from the existing requirements.


·         Wrong Defect (implemented requirement is not working)

The requirements have been performed falsely. Actually this defect is a discrepancy from the given specification.

What is difference between Error, Bug, Defect, Exception, Fault, Failure and Crash?


Hi Friends,

I’ll try to explain all these term with an example as per my better understanding:

Error: A human mistake or issue occurred in program before or during Compilation of program.
Ex.
1.     If (a!=b)
2.     {
3.     c = a/b(;)
4.     }

If programmer missed the semicolon at the end of 3rd line of code and tries to compile, then an error message is occurred. This type of mistake called ERROR.

Bug: When an issue, unexpected result or deviation in actual functionality is found out by an Author (who wrote the code) after compilation of program and during any testing phase (At during development, Beta version or at production) is called Bug.
Ex. Author used the variable ‘d’ instead of variable ‘b’ or use divide symbol intend  of plus symbol, due to this there is no compilation error is occurred but it produce some unaccepted result.

Defects: When an issue, unexpected result or deviation in actual functionality is found out by a moderator (Not an Author of code) during any phase (At during development, Beta version or at production sites) of testing is called Defect.
Ex. Author used the variable ‘d’ instead of variable ‘b’ or use divide symbol instead of plus symbol, due to this there is no compilation error is occurred but it produce some unaccepted result but here issue is found out by Moderator.

Exception: An unhandled error is occurred at run time of program.
After compilation of program, when an unhandled error is occurred during any phase of testing (found out by Author or Moderator) is called EXCEPTION.
Ex. There is no error is generated during compilation of program but at run time it through an exception for b=0.

Fault: it is a state during testing, which indicate deviation from actual functionality.
Ex. In this example, Author used the ‘b’ instead of‘d’, this state when we got a deviation from actual result. This state is called Fault.

Failure: It is a state which rose due to a fault and affected a single part of functionality.
Ex. Due to this Fault state, any other single line code or single module is affected, this state is called Failure.

Crash: It is a state which rose due to a fault and affected to multiple functionality or a whole module or whole application.
Ex. Due to this Fault state, if any other multiple modules is affected, this state is called Failure.

Wednesday, April 4, 2012

What is the testing objectives and purpose?


The objective and purpose of testing depends on its business needs and expected value, and it can be achieved by using Verification and Validation process.

The objective and purpose may be to:

·         Reduce the number of bugs in the code.
·         To provide a quality product.
·         To see all the requirements are met.
·         To satisfy the customers need.
·         To provide a Bug free software.
·         To earn the reliability of the S/W
·         To avoid the user from detecting problems.

Tuesday, April 3, 2012

Why is Software Testing necessary?

Software testing is performed to verify that the completed software package functions according to the expectations defined by the requirements/specifications. The overall objective to not to find every software bug that exists, but to uncover situations that could negatively impact the customer, usability and/or maintainability.

The main purpose of doing software testing is mentioned below:

·         To discover defects.
·         To avoid user detecting problems
·         To prove that the software has no faults
·         To learn about the reliability of the software
·         To avoid being sued by customers
·         To ensure that product works as user expected.
·         To stay in business
·         To detect defects early, this helps in reducing the cost of defect fixing.

Friday, March 23, 2012

What is Software Testing


Software testing is more than just error detection; 

Testing software is operating the software under controlled conditions, to (1) verify that it behaves “as specified”; (2) to detect errors, and (3) to validate that what has been specified is what the user actually wanted.

1.    Verification is the checking or testing of items, including software, for conformance and consistency by evaluating the results against pre-specified requirements.  [Verification: Are we building the system right?]
2.    Error Detection: Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn’t or things don’t happen when they should.
3.    Validation looks at the system correctness – i.e. is the process of checking that what has been specified is what the user actually wanted.  [Validation: Are we building the right system?]

In other words, validation checks to see if we are building what the customer wants/needs, and verification checks to see if we are building that system correctly.  Both verification and validation are necessary, but different components of any testing activity.

The definition of testing according to the ANSI/IEEE 1059 standard is that testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the software item.

Remember: The purpose of testing is verification, validation and error detection in order to find problems – and the purpose of finding those problems is to get them fixed.