Software Testing Concept-
Software Testing is to find out a way for- Knowing your customer's requirement completely for making a software under the budget & time defined for project to meet the customer's needs exactly.
Software Testing validates( means -are we making right software) & verifies ( means – are we making the software right) the software,for following conditions-
1- The software made, is exactly the replica of the agreement signed between customer & company for design & development.
2- The customer will be completely satisfy with the working of software at his end after implementation .
( According to IEEE-STD-610 -
Validation: The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements.
Verification: The process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. )
According to ANSI/IEEE 1059 standard, Testing can be defined as -A process of analyzing a software item to detect the differences between existing and required conditions(that is defects/bugs/errors) and to evaluate the feature of the software item.
There are many methods of software testing. Depending upon these methods,we (test team)decide that at which state of software development life cycle,we will involve software testing. But it is always considered good to involve testing as early as possible so that we can reduce the cost of bugs.
It is like a game , where test team tries to find out all the odd behaviors(The behavior which is not needed) of the software made by development team by knitting a strong trap by using different test strategies & It is Fun to knit traps for those who are having great mind & strong skills & are able to use their commonsense to it's fullest .
Thanks !!! :)