Why do I need to learn about software testing?
Just image that a user installs your application, opens it and "BOOM!", it crashes. Is it good? An even worse case is when your software operating an airplane suddenly hangs up while the airplane is still flying in the sky. Can you image what may happen? How do you ensure that your application solves your customer's problems? How do you know if your software meets its users' requirements? How do you give your users' confidence about the correctness, reliability and security of your software? In order to answer these questions adequately you need to learn about software testing.
What can I do after finishing learning software testing?
You will know how to design and write a test case, how to prepare test data, how to test software structurally and correctly, how to automate testing tasks, how to report bugs.
I am a programmer. I am not a tester. Do I really need to know how to test software?
Many application capabilities must be tested by a programmer. Many software testing tasks can only be done by a programmer. Therefore you have to master software testing knowledge.
Alright! What should I do now?
Please read - this Cem Kaner et al. (1999). Testing Computer Software. 2nd Edition. Wiley book and - this Lee Copeland (2004). A Practitioner's Guide to Software Test Design. Artech House book, and - this Chaminda Chandrasekara and Pushpa Herath (2019). Hands-On Functional Test Automation: With Visual Studio 2017 and Selenium. Apress book, and - this Arnon Axelrod (2018). Complete Guide to Test Automation: Techniques, Practices, and Patterns for Building and Maintaining Effective Software Projects. Apress book. After finishing these books please click Topic 12 - Introduction to Software Design to continue.