Kennis Blogs Using personas in software testing

Using personas in software testing

Meet 'grandmother' Wilhelmina Petronella van der Linden-Zaagsma. Born on a leap day (February 29, 1928), she was bound to become a very special lady. She is a loving and caring person and especially freehanded. She visits her notary frequently to include new charities to her ever-growing will. She lives in a sheltered housing apartment in Arnhem, is a widow to the late Titus van der Linden and has two children, as well as a couple of grandchildren.


The only thing is... she never existed. She's a figment of our imagination. Actually, her personal data consists of shards of the personal data of people close to me. Her story is entirely made up. And she is far from the only persona in our universe. Most of all, she is very dear to us. We need her on a daily basis to explore our applications and see what happens when Granny comes up with yet another addition to her will. She helps us by being true to her story. A story that probably will never be finished. We keep adding new stuff to it when we need to, but we're always keeping the entire story believable and consistent. Her notary is also entirely made up, but in such a way that his story is also believable and fitting to a common stereotype of notary that makes up a substantial portion of the Dutch real notary population: a solitary notary that operates a notary office all by him/herself. Always an interesting case when such a notary falls ill or retires.


By now you've probably figured out we have special interest in the notary universe (the union of Dutch notaries is one of our clients) and that we value stories. Everybody can relate to a good story. People tend to remember personas better when there is such a story. Nobody in our office will ask who Granny is, or why Bas Ruis was used in a specific test. When you need to explore what happens in your system when somebody dies, Bas immediately comes to mind. He recently died in a tragic case where he failed to miss a falling bowl of petunias. His recent demise is a constant reminder that people have an ending lifecycle in real life and that a system that operates in the real world should be able to handle such an unfortunate event. Besides: Bas also had a last will and testament, so we can use him wherever we need to replay what happens when a will gets activated.


Other people in our universe fulfill similar tasks. The family A. Jansen, consisting of father Ab and mother Annie and their 9 children who all have a first name starting with the letter A (useful to test what happens when more than 10 people share the same lastname and first letter). There are three different types of foreign immigrants that all have a special story. A French lady with lots of special characters in her name, a EU passport and a fondness to Dutch cheese. A first generation Moroccan immigrant whom completed his nationalization, owning a very classical Dutch restaurant. A Vietnamese ex-ballerina who is still in the process of obtaining a Dutch citizenship. There are people getting married and there's people with a royal or an intriguing mysterious background. Almost every aspect of one's personality is covered: age, gender (even transgender), nationality, income, ancestry, relational/marital status. As is almost every aspect of personal data: address, date of birth (or the absence of one), working history, social profile and even a personal mugshot in the form of a stylized and unique icon.


Building a test set is hard. It's a lot of work and to have data for all sorts of situations one requires a large amount of test subjects. While we have a relatively small test set, it suits our needs. And when it doesn't, we alter a story here and there to make it fit. While this is hardly new or rocket science, it is not used as often as you would expect. Most test sets consist of 'people' with unrealistic or incoherent stories. That makes creating a test scenario difficult and integration testing over multiple systems a nightmare. Personas that exist in one system are missing in the next or they do exist but with conflicting data. This makes the test results unpredictable at best.


Besides: it's good fun to come up with the personal stories that replicate (un)stereotypical behavior of real life people. Shall we give him a wife or a is he still looking for love (in all the wrong places)? Is she highly educated or a high school dropout? What crime did he commit? Why would she travel around the world to settle in a small town? What type of house does this couple own or do they rent a house? The stories are fun to come up with, easy to remember, easy to talk about and particularly easy to keep consistent across multiple systems. We even make a sport out of spotting obvious mistakes in test sets when someone used one of the personas but forgot about a specific attribute or trait of that


persona. Enforcing and testing business rules became easier as well, just connect a persona to a business rule and figure out if the business rule should forbid or approve the situation in coherence with the personal story. And then think of which persona can prove valuable when testing the opposite situation.


Last thing we did: we gave every persona a personal page in our document system, gave them a face (icon) and we now have two banners standing in our office with the names and some of the characteristics of the most influential personas. They're almost alive. Almost...