If you had never been trained for software testing, this blog post will explain what are foundation goals of agile software testing according to Black Box Software Testing.
Key Challenges Of Software Testing
The first breakthrough is to understand that software testing is not just confirming that product works. It is much more. As a software tester you need to collect information goals that you need to fulfill. Using those goals you will need to create testing strategy and go to testing missions. For example, your information goal is to find out registered users of application. Test strategy is to use forgot password feature. Testing mission is to find out registered users using forgot password application feature.
Oracles are heuristic. Oracle is mechanism that helps you to identify potential problem in application. In previous example, oracle is returned message for password reset feature. Heuristic is your assumption about the oracle, and it could be wrong. For example, your heuristic is that if message for unknown email is “Email could not be found” is potential security problem, because attacker could enumerate registered emails in your application. Example how this heuristic could fail is that if your application is only available on company intranet behind big firewalls, that message could be valuable for your company employee.
Testing coverage is multidimensional. For example, you are testing search feature for Meetup.com application. Your information goal is to find all Zagreb tech events for particular day. Here your coverage is two dimensional, you have tech event types (Ruby, Python, Testing) and time (date).
Complete testing is impossible. Example is square root function of calculator, where input is decimal number, and maximal number is 64 bit double, which is 1.8 x 10^308. Simply, to calculate square root for every value would take too long.
Measurement is important, but hard. Measuring of tester productivity by counting of reported bugs could easily turn into Game of Thrones campaign.
You Need To Learn About
Basic vocabulary. What is software testing, bug, test strategy are just few of definitions that you need to know.
How data is stored into computer, because you will have to know how to create test data.
Every Agile team has diversity in viewpoints, and every viewpoint has its own vocabulary. For example, I worked on project where product owner definition of certificate was actually a smart card that holds the certificate, and developers defined it as file that had public part of certificate.