Process of executing the application or software to locate a bug or error is known as software testing. Programs are checked for the errors and mistakes in the system. It is possible that the syntax and grammar for the program is correct but the logic isn’t which may open doors for security vulnerabilities. With the software validation and verification of the program can be done using several tools by any human and the errors can be detected easily. It might seem like a single activity but rather a continuous process. It’s good to introduce software testing in the initial stage to make it error and mistake free.
In static testing, the procedure identifies the error or mistake in the verification process and rectifies them without needing to execute any extra code. Usually static testing includes reviewing the documents and source code and static analysis. Walkthrough, reviewing, inspection etc are some common examples of static testing.
Dynamic testing is conducted to check the errors in the running program and rectifying the coding issue in the running process. It is conducted during the validation process. Integration testing, unit testing, system testing etc are its example.
Testing is important and after reading some of the historic failures, you’ll realize the importance of software testing:
- On April 26, 1994, 264 innocents were killed in China Airline Airbus A300 crash due to a software bug.
- Once, some of the Amazon third party retailers experienced 1p reduction in their product and they faced heavy losses just because of a software glitch.
- Due to software glitch in air bag sensory system, Nissan have to recall over 1 million cars from market. Two accidents were reported due to this failure.
- Bloomberg terminal in London crashed glitch in April 2015, which affected about 300,000 traders.
- In May 1996, nearly about bank accounts of 823 customers were credited with 920 million US dollars, courtesy to software glitch.
Benefits of testing
- Software testing can be helpful in learning about reliability of the developed program or application.
- Testing is required for offering various available facilities to users like delivering high quality software or program along with lower maintenance costs and reliable results in most accurate manner possible.
- Testing is conducted to assure the clients or end users regarding the reliability and satisfaction of the system.
- Testing is required as it is included n project plan, which helps in staying in business.
- Testing is majorly conducted to understand the fault errors in software during the development phases.