At the outset, let me define a couple of terminologies I will be using in this post. Product here refers to a software product or an off-the shelf, customizable business application. And tester here refers to a conventional, functional tester.
While setting up testing for some global product organizations, building the right mix of talent pool was one of my key responsibilities. After some point of time, competency development and swapping of teams to make the delivery more effective, became very critical, since they need to be aligned to the changing nature of product and business dynamics. It also helps in motivating high performers to stay in the organization!
One of the roles in testing, and by far the large portion of today’s testing community is functional testing. As the word denotes, a functional tester validates ‘functional’ behavior of the application, having business requirements as the reference. Developing test scenarios, test cases, test data, configuring or customizing some parameters, test execution and defect management are a functional tester’s key responsibilities.
In typical bespoke application testing, the tester focuses on the module or epic that is delivered for testing, creates/makes use of existing test suite, executes test cases on installed applications, captures defects and retests after the issues are fixed. It is a single handed job right from test plan preparation through promoting the release to UAT. We may add more testers depending on the size of the application. However, the responsibilities of each tester will remain the same.
Now a product tester does not have this luxury! He/she will be working with a bandwagon of testers where the business processes they test are inter-dependent and test data is shared. When a tester modifies a parameter to test a feature, that can completely disrupt the testing performed by other testers in other modules!
In my view, a successful product tester possesses certain unique traits:
- Keeping others’ test plan in mind while drafting his/her test plan
- Understand overall testing scope of the release to sequence test execution chronology
- Constantly think of ways to automate test execution to reduce cycle time and achieve better predictability
- Ability to create sql queries, views, and so on, in order to independently create and manipulate test data
- Awareness and ability to create golden copy or base data needed to bring the application up for testing
- Keeping in mind zillions of test scenario combinations and pick the few that are most needed for the release
- Ability to work across multiple versions of the product, yet remember those bugs that need to be tested during roll-forwards on specific versions
- Ability to remember different parameters that enable in executing a business process flow
- Knowing why the test execution throws an error message when no changes were made to the code (value of a parameter changed by another tester!)
- When a showstopper at production is reported, analyze, rerun past release’s scope, test coverage, changes in tables, new parameters, etc., and isolate the root cause in close consultation with engineering and release teams. And the list goes on.
If you are a test manager or lead and assessing someone for the role of product tester, look for the above traits. Product testing requires passion, commitment and steadfast focus. One should keep the product stability and quality as top priorities in mind, and even be prepared to compromise on their other commitments to some extent. Since the developer may give the build midnight and the release may have to for general availability the next day morning, the tester may have to burn the midnight oil to validate and certify the build.
Risk-based regression testing becomes the second nature of a product tester. Most often a small code change tends to give an impression that the impact to the product is ‘minimum’. Whereas the reality could be very different. It may warrant to run hundreds of test scenarios to ensure that the existing functionalities are not affected inadvertently. In such a scenario, a seasoned product tester will define customized test suite based on impact analysis (most often this is in a developer’s head than actually inked!) to run and validate.
If you are a functional tester and aspire to be a product testing pro, probabilities are that you already are! The end-user community depends on you to eliminate all errors and deliver a product that works consistent, fast and reliable. You need to ensure the product works seamlessly on desktops, mobiles, tabs, different OS, browsers, plug-ins, and endless lists of technology options! And the speed of delivery is not achieved by magic. You need to master one of the test automation tools with which frequently used, mission critical business scenarios are automated for quick regression runs.
A product tester makes use of mind maps to connect the dots on various masters, parameters, attributes and configurations associated to each functionality, and possesses the ability to setup the product under testing, from the scratch. Relating and demanding a specific data set to be made available to test client-specific features require excellent understanding on base product features, customization and test data dynamics.
It is crucial to get inputs from subject matter experts or business analysts to gain product knowledge. Remember, they are associated with the business domain to a large extent. At the end of the day, product testers gain respect only when they demonstrate their in-depth understanding of the product, find various ways to accomplish business processes, and assess what might have gone wrong just by looking at a vague error message. In large business domains such as banking, insurance and healthcare, successful product testers have progressed within the system to become excellent business analysts or acceptance testers to certify the product on behalf of business users.
In nutshell, while processes and tools are the building blocks, it’s the persona “within” that differentiates between a vanilla tester and product tester! Good luck to the product tester in you!!