IntroductionHello and welcome, this course introduces a practical approach to testing software. It bridges the gap between theoretical knowledge and real world implementation. This article helps you gain an insight to Software Testing – understand technical aspects and the processes followed in a real working environment.Who will benefit?Beginners. For those of you who wish to mould your theoretical software engineering knowledge into practical approach to working in the real world.Those who wish to take up Software Testing as a profession.Developers! This is an era where you need to be an All rounder. It is advantageous for developers to posses testing capabilities to test the application before hand. This will help reduce overhead on the testing team.Already a Tester! You can refresh all your testing basics and techniques and gear up for Certifications in Software TestingAn earnest suggestion: No matter which profession you choose, it is advisable that you posses the following skills:- Good communication skills oratory and writing- Fluency in English- Good Typing skillsBy the time you finish reading this article, you will be aware of all the techniques and processes that improves your efficiency, skills and confidence to jump start into the field of Software Testing.Fun Facts:Following are some facts that can help you gain a better insight into the realities of Software Engineering.The best programmers are up to 28 times better than the worst programmers.New tools/techniques cause an initial LOSS of productivity/quality.The answer to a feasibility study is almost always yes.A May 2002 report prepared for the National Institute of Standards and Technologies (NIST)(1) estimates the annual cost of software defects in the United States as $59.5 billion.Reusable components are three times as hard to buildFor every 25% increase in problem complexity, there is a 100% increase in solutioncomplexity.80% of software work is intellectual. A fair amount of it is creative. Little of it is clerical.Requirements errors are the most expensive to fix during production.Missing requirements are the hardest requirement errors to correct.Error-removal is the most time-consuming phase of the life cycle.Software is usually tested at best at the 55-60% (branch) coverage level.100% coverage is still far from enough.Rigorous inspections can remove up to 90% of errors before the first test case is run.Maintenance typically consumes 40-80% of software costs. It is probably the most important life cycle phase of software.Enhancements represent roughly 60% of maintenance costs.There is no single best approach to software error removal.