The American chapter of Weekend Testing is an online event focused to refine testing skills and practice the art of testing in collaboration with other passionate testers. I found this “WTA06 – It’s In The Cards” event to be a wonderful platform that enables testers to test products from different angles, share the diverse thoughts of fellow testers, enjoy the freedom to fail safely and learn; and most important – share personal observations and receive immediate feedback from other testers on the approaches. I continously questioned my testing approaches till the end and learnt a lot from this session. Thanks Michael Larsen for organising this session. In this article I would like to share my personal experience and lessons learned from this exercise.
Here is a brief description of the testing challenge given in the session. For the full event details and session report please refer the website weekendtesting.com at http://weekendtesting.com/archives/1736
This week’s testing challenge was brought to us by Eusebiu Blindu. Thanks Eusebiu! The game was very interesting and really challenging.
This game uses playing hand of cards, and based on the hand selected an image is generated when the player clicks on the “Generate Image” button.
The primary task is to test the application, and the mission is as follows:
1) Detect if any relation exists between the selected cards and the image generated in popup (after pressing “Generate Image”)
2) Are you able to determine if the application needed some skills that you needed to improve and, if so, which is the main one?
The first one hour was spent in answering the first question. We clicked on the cards and tried to detect if the image generated had any relationship with the card selected. There were 5 suits of cards. Each suit contained cards from 2,3 to King, Ace Joker of (heart, diamond, club, spade). I tried several combinations of test input data and reported the findings. The images generated where bird, cat and fish with black, blue and red background. I was trying to detect which combination of input data creates a specific output. I did detect a pattern but the behavior was random.
The variabe that was the central focus of test was the relationship between the card selected and the image generated. We made a note of the factors that influenced this variable:
Key factors influencing the variable under test:
1. Sequence of image invocation
2. Arguments passed to the url in source code
3. Card selected
4. Order of navigation: Backward, Forward
At the end of one hour all the participants agreed that there did exist a relationship between the card selected and the image generated. We ended up with some key takeaways on the testing approaches used.
“We need to test all the combinations of input data to do complete testing”
This is a myth. Its not required to test all combinations of input data. We can seperate out the testing that is unnecessary to perform before wasting our time on all combinations. The test design should cover only the necessary combinations of input test data.
In the last one hour we started sharing our ideas and attempted to find the main testing skills needed to solve the challenge.
Listed below are the skills that I felt were key for testing after the exercise.
Here I had to repeatedly test the same scenario with 253 different combinations of input test data which was monotonous. Writing a script to automatically iterate through each of these combinations to test can save lots of cost and time. Also manual testing is prone to human errors while automated tests tend to make it a lot more easier and accurate. So, automation skills are definitely required to effectively test in this context.
Analytical \ Pattern detection skills:
We need to have strong analytical skills to detect the patterns in the challenge. Test design will become easier once we are aware of the patterns. This skill is indispensable when doing testing at workplace since we cannot jump to any conclusion without thorough analysis and reasoning.
Simpifly the problem:
Even though the problem is complex, the solution can be quite simple. Through pattern detection we can generalize the solution. Quickly decompose the problem into smaller chunks for investigation and simplify it.
When the challenge could not be cracked with the black box approach I decided to defocus and started focusing on other approaches like boundary value analysis, viewing source code and collaboration with other testers and it helped.
Pairing and collaboration:
Some participants paired up and their consolidated findings were more than that of solos. http://testing.gershon.info/rapidreporter/pairingrr/WTA06CardsWithNancy/20110129_211619.htm is a report produced by Shmuel Gershon by pairing up with a fellow tester
Finally, these are the key takeaways from the sixth session of the American chapter of weekendtesting. I will definitely fallback on these key skills when posed with a real challenge at workplace since it really helps! Feel free to share your thoughts or question anything in this article.