[TIP] Fwd: Robot Framework 2.0 is available!

Pekka Laukkanen peke at iki.fi
Wed Jun 25 10:50:48 PDT 2008


2008/6/25 Stefano Masini <stefano.masini at pragma2000.com>:
> On Wed, Jun 25, 2008 at 5:26 PM, Pekka Laukkanen <peke at iki.fi> wrote:
>> [snip]
>> The steps in
>> these test cases can be very high-level, for example "Administrator
>> logs into the system and there are no users in the database", and they
>> tend to read better in natural language especially if they have
>> punctuations or other special characters.
>> [snip]
>> Since lowest level
>> keywords map directly to methods in library modules or classes, it is
>> easy for more technical testers to start writing test libraries using
>> a real programming language.
>
> This is an interesting point. Can you elaborate a bit?
>
> Let me see if I understood, please correct me if I'm wrong: in other
> words the original customer representative actually types in
> "Administrator logs into the system and there are no users in the
> database" in the "TestCases" table. This piece of text is located in a
> cell of the column "Action" and therefore it is called a Keyword.
> This Keyword has to be properly defined in a section of the table
> "Keywords", where it may break down into a sequence of other lower
> level keywords, that in turn may be defined in subsequent sections of
> the same table, or can ultimately be defined in python.

There's not much for me to elaborate since you seem to understand the
big picture pretty much perfectly. =)

> If this is the case, what puzzles me is who is going to be responsible
> for breaking down the definition of the original long keyword into
> smaller pieces.
> What prevents the inexpert customer representative from writing
> something like "Administrator can see what others are doing"? This
> sentence can make perfect sense in spoken language, but there's
> probably no way to be broken down into smaller automatable steps,
> since it doesn't identify a _specific_ action. What's missing here is
> probably a healthy discussion withe the customer about what are
> _specific_ examples of what the sentence should mean in different
> contexts, so that an actual test can be written.

The highest level test cases, i.e. requirements, should be designed
together with the team so that also testers and developers
participate. This is obviously not too easy with waterfallish
processes, but in Agile context you can do it in sprint planning. Even
then there probably isn't enough time to implement test cases fully,
and breaking down keywords used in test cases can be done later at the
same time actual features are implemented. Testers are good candidates
for splitting high-level keywords to lower-level ones, similarly as
developers normally implement needed new library keywords, but in
different teams roles and tasks can vary.

> I understand that my point is more on an higher level discussion about
> when and under which circumstances does it make sense to have tests
> actually written by someone who's not technical. As any other
> acceptance testing solution Robot Framework may or may not suit the
> need, besides it being a good tool, technically speaking.

Totally agreed.

Cheers,
    .peke



More information about the testing-in-python mailing list