5 Ways Building User Profiles Can Improve Your Testing
As testers we always look for ways to test better, to find the critical bugs first and to focus on the most important areas of the application under test; after all, we have limited time to test and we need to make the most out of it. One of the most important tools a tester has in their "virtual toolbox" is the use of User Profiles.
What is a User Profile?
A User Profile is the representation of a generic user of your system. It does not relate to any specific user but to the way you can describe the average user(/s) of your application. In practice, most real applications have a number of relevant User Profiles such as regular user, managers, system administrators, external users, etc.; and for each of them you will want to create a separate Profile.
How to create a User Profile?
When creating a User Profile you will define all the personal and professional traits that are relevant to the work this person does with your application. For example:
- Years of experience in the field
- Knowledge of your tool, or similar tools
- The way in which he/she works: on a desk in his office, in the field while walking, on a store behind a counter, does the person access the application from his iPhone or BlackBerry?
- Interactions with other users of your tool or other tools with which they need to communicate and collaborate
- You may even want to define some demographic information if relevant such as age, nationality, language, etc
Some companies (and I really like that approach) go as far as creating big posters with the description of their User Profiles, including their Name and even a Picture. Even though this may sound unimportant and even childish it will help you to relate to your User Profiles and to remember who is who better and faster.
5 simple and powerful things you can do with User Profiles
(1) Write Testing Requirements and Documentation with User Profiles
User Profiles as part of your requirement and design documents allow you to create more concrete scenarios of what the application should do based on the needs and characteristics of concrete individuals, this in turn will allow you as a tester to find problems faster during your learning and review process. By providing feedback and comments based on User Profiles you also help others to understand you better and to agree or disagree with you based not on their personal assumptions but on what was already agreed upon by the whole team.
(2) Test Scenarios based on User Profiles
One of the most powerful things you can do with User Profiles is to leverage them when creating your testing scenarios. Profiles will allow you to work always based on realistic scenarios, allowing you to test the things that will surely happen in the outside world once you release your product.
You should use Profiles not only to create your positive scenarios but also to think about the wrong things or negative scenarios that your users run into based on their constraints and the ways they work with your product.
(3) Test Prioritization based on Profiles
Once your tests take into account User Profiles it will be easier for you to prioritize them based on their importance, risk and even on how common the scenario is and how many user will fall into a bug located on this area. You obviously want to run all our tests, but just in case you start running out of time this is an additional way to know what not to test...
(4) Calculate coverage based on User Profiles
User Profiles are a simple and more effective way to communicate your testing coverage to external stakeholders. For example, when you talk to your Marketing or Sales guys, it will make more sense to them if you talk about what you've tested and haven't tested based on User Profiles; it will allow them to understand the implications and the risks faster and easier.
(5) Work with realistic test data based on your User Profiles
Profiles can be used to generate more realistic data and not to use sentences and phrases such as "this is a test" and "hello world", and data entries such as "asdf' or "123456". When you work with realistic and varied data you have a better chance of running into important bugs that will happen in the field. In PractiTest we constantly leverage "User Profiles" as one of our main sources for testing. They've proven to be effective and to provide great value for the limited amount of effort needed to create them.