Lecture 5 - The Software Testing Life Cycle -> Quick Intro -> Research -> Test Planning
The subject of the Research is basically WHAT is going to be tested.
Question: Why do people need software in general and Web sites in particular?
Answer: To satisfy certain needs, e.g., to buy books, read news, share videos, check credit card balances, etc.
Question: How can we, as software professionals, satisfy those needs?
Answer: We have to…
– come up with (marketing dude and PM),
– write (programmer),
– test (tester) and
– release (RE)
…concrete means to satisfy those needs. These concrete means consist of user-oriented features. It’s no surprise that most – or sometimes all – of the efforts made by testers are related to the testing of those features.
Brain Positioning
Testing user-oriented features is very important because these features are the reason users visit our Web site, and if those features are broken, the happiness of our users goes down, and, as we know, our profits are directly related to that happiness.
BTW
A logical question is: What features are NOT “user-oriented”? There are many other features that can be developed for these Internet projects. Those features can serve a variety of purposes: e.g., reporting, infrastructure, performance, etc.
For the sake of this course, we’ll concentrate on user-oriented features. We’ll simply call these “features.”
Some examples of features:
– User can search book titles
– Link “Logout” is displayed only if user is logged in
– User can update quantity of books inside the shopping cart
What is the main source of information about features?
– Documentation (for example, specs, mock-ups, flowcharts, and other documents describing the features of our Web site)
An example of “other documents” could be instructions from our business partner about the file format for credit card transactions.
– Humans
Communication is an extremely important source of information. If you are in doubt about some of the spec provisions, feel free to approach the PM and ask as many questions as needed. In cases where there is no documentation and the features are not yet available for testing, your colleagues who have knowledge about the feature are the primary sources of information.
– The Web site itself
You can also learn about features by exploring previously written software: i.e., the Web site.
Let’s discuss the concept of exploration. Each of us do this when we visit a Web site, fill in and submit forms, click links, and perform other actions that assist us to understand the Web site features. In Internet start-ups, exploration usually takes place in two situations:
1) When the code has been written, but the documentation is missing. Very often the first tester in the start-up finds himself in this situation.
2) For self-education. When you come to a start-up company, they usually give you some time for getting started; everyone is extremely busy, and as a rule, nobody is going to babysit you.
What sources for expected results do we have during exploration? Primarily our old friends: common sense and life experience.
BTW
A very good way to better comprehend the features of the product is to become a regular user – i.e., go to the production environment, create an account, and do whatever other users do. Why? Because you’ll take your understanding of the product to another level: it’s one thing to be a chef in the restaurant and another thing to be a customer. It’s a totally different perspective. Besides, you might get familiar with features that you’ve never used before.
The American expression “to eat your dog’s food” applies to testers this way: “If your Internet company sells books, you should buy books from your company.” It’s also very useful to become a customer at your competitors’ Web sites.
The main purpose of the Research stage is to answer two questions:
– Which features are we going to test?
– How are those features supposed to work?
When we have the answers, we can proceed to the next stage. Next ->
Lecture 5 - The Software Testing Life Cycle -> Quick Intro -> Research -> Test Planning