What's testing?
A process to check how a product (may refer to any such as, a Website, a Win Tool etc) behaves when a certain steps of checks are executed on it.
Here, checks may refer in perf. testing/API testing/DB testing.
In general, testing is done to measure the efficiency, accuracy, usability and possible faults in a software.
To test up any product or software we're required to develop Test Cases.
TEST CASES - These are a set of steps which are framed to invoke all the functionalities present in the product or software. Contains both Positive and Negative functionalities.
Verification v/s Validation -
These two terms are commonly used in SE which are refered to two different types -
VERIFICATION - Process that determines the quality of the Software.
VALIDATION - Process that checks the requirements of the customer that are actually w.r.t the software functionality.
Major differences can be found here..
Why Testing is really required?
- To avoid risks during the execution.
- To measure the efficiency, performance, etc before it is deployed in prodution.
- To avoid extra cost and time. Because, if the BUGs are caught at the early stages of Devlopment it helps to fix with less cost.
- Enables, to give a Quality Product at the end.
- To have a best Customer Satisfaction. This can be done when the software is tested throughly to have a best customer experience. and so on..
Consequences when testing isn't performed!
- A non properly tested product may end up with leaking of the confidential data to the open internet. (a Bank Application, the data may be end up in the hands of hackers)
- When noticed w.r.t the different platforms, the data may be inconsistent.
- We may end up with Excessive expenses as the BUGs may require cost and time for resolution.
- Also, may cause delay in the product deployment or launch.
- Customer Satisfaction or User Experience may get reduced gradually.
and so on..
Few key principles of Testing a Software.
- All the test cases / test parameters must be planned during the early stages of testing.
- The test cases must be designed in such a way that it is easily understandable to the End User.
- All the test cases must meet the Customer requirements.