Loading ...
Sorry, an error occurred while loading the content.
 

Re: Persona fixture for FIT

Expand Messages
  • timander37
    ... [Tim]: Rob, thanks for the feedback. I m excited that others are interested in using personas in FitNesse tests. [Rob]: What is it about Boris that I need
    Message 1 of 5 , Dec 1, 2009
      --- In fitnesse@yahoogroups.com, "Rob M" <robmyers64@...> wrote:

      [Tim]: Rob, thanks for the feedback. I'm excited that others are interested in using personas in FitNesse tests.

      [Rob]: What is it about Boris that I need to know in order to understand this test?

      [Tim]: Boris is a borrower who wants a loan to go to college.

      What about Boris?
      * Impatient
      * Uneducated about process & programs
      * Unorganized
      * Doesn't like ambiguous letters

      What does Boris value?
      * Quick processing
      * Status updates - account access
      * Clear communication
      * Online application

      [Rob]: Does he have a bad credit history?

      [Tim]: Not necessarily, but we have the capability to create that scenario.

      [Rob]: Are there other attributes of Boris that are important in other tests, but not important in this test?

      [Tim]: We use our personas to provide abilities to perform behaviors, not so much as a fixed set of attributes.

      [Rob]: I'm finding that using persona names in tests is fine for setting a general tone (Boris and his bad credit history), but the name then serves as little more than a metasyntactic variable. Boris could be replaced with anyone.

      [Tim]: Instead of Boris being a fixed variable set, Boris has abilities to interact with our system as a borrower. FitNesse makes it nice to plug in different variables (especially when using the !define and !include widgets.)

      [Rob]: Actually having the choice of persona alter the outcome of the test would make the test less clear, IMHO. E.g., if you hadn't explicitly set up the credit flag for Boris's SSAN, but instead left it to the Boris code to set that up, I wouldn't have been able to tell why his application was initially rejected (without first knowing Boris). And even if I did know about Boris's credit history, I would also be wondering if there was some other reason for the outcome (e.g., such as his current income).

      [Tim]: I agree with you on this point, we try to make our tests so they are not mysterious. However, we also want to avoid unncessary clutter of variable that are not important to a scenario. To do this, we set Boris up with good default values for each of the variables required to advance and the FitNesse test only needs to override variables that are relevant to the test scenario.

      [Rob]: So, I guess I'm wondering: Why try to inject personas into the tests? I like the idea of having the personas described in the FitNesse wiki, with photos and wiki formatting. But personas are bundles of preconditions. They're great for analysis and test-writing, but as test fixtures, they're too obscuring.

      [Tim]: It sounds to me like we might be using personas a little bit differently that you are envisioning. I would like to hear more about what you have tried and what you have learned by incorporating personas into your automated acceptance tests.


      > --- In fitnesse@yahoogroups.com, "timander37" <tandersen@> wrote:
      > >
      > > We use Personas in our FitNesse tests. Here is a simplified example of what a test looks like:
      > >
      > > http://twitpic.com/f6tmx
      > >
      > > Our Personas are implemented as Java POJOs that invoke mock HTTP requests. DoFixture simply provides a convenient facade for creating test scenarios. FitLibrary seems to already have everything we need.
      > > What's nice is that a variable that looks like this ends up getting translated into a Map in DoFixture:
      > > !define {
      > > |some key|some value|
      > > |another key|another value|
      > > }
      > >
      > > This makes creating mock HTTP requests pretty easy.
      > >
      > > Tim Andersen
      > >
      > >
      > >
      > > --- In fitnesse@yahoogroups.com, Rick Mugridge <rick@> wrote:
      > > >
      > > > I'm interested to hear if someone else is pursuing this.
      > > >
      > > > I've developed the use of personas in FitLibrary, where personas are
      > > > like test objects. But the support is rather weak, so I haven't
      > > > publicized it. This approach has only been used by one project team,
      > > > that I know of.
      > > >
      > > > Persona are encoded with "dynamic variables". For example, the name of a
      > > > person can be passed as an argument to a defined action. Internally, the
      > > > defined action can access all the properties of that person (name,
      > > > credit card, etc etc). This makes for much shorter storytests; you can
      > > > quickly get used to a particular persona having suitable properties (eg,
      > > > a valid or invalid credit card number).
      > > >
      > > > That's something I have on my list to explore further, treating personas
      > > > as "first-class" objects.
      > > >
      > > > I was inspired by David Hussman's use of personas in his storytest
      > > > writing workshops, which he showed me in 2007.
      > > >
      > > > The latest "hash" stuff added to slim looks like it could be used to do
      > > > the same thing.
      > > >
      > > > Cheers, Rick
      > > >
      > > > MasaKevin Maeda wrote:
      > > > >
      > > > >
      > > > > Hi,
      > > > >
      > > > > David Hanssen gave a presentation on Personas is San Francisco last
      > > > > week and during his talk he mentioned that there is a Persona plugin
      > > > > for FIT. Does any of you know where to get it?
      > > > >
      > > > > Thanks,
      > > > > Masa
      > > > >
      > > > >
      > > > >
      > > > >
      > > >
      > >
      >
    Your message has been successfully submitted and would be delivered to recipients shortly.