Domain Testing Example Of The Technique Recipe Components

Image for post
Image for post

This post maps the components of domain testing test technique (the recipe) using our previous example of domain testing Google calendar event creation. Components are aligned with Black Box Software Testing Foundations course (BBST) created by Rebecca Fiedler, Cem Kaner and James Bach.

Test technique has following components:

  • analyze the situation
  • model the test space
  • select what to cover
  • determine test oracle
  • configure the test system
  • operate the test system
  • observe the test system
  • evaluate the test results

Analyze the situation

What are input and output variables? In domain testing example, we only analyzed input variables. But what are output variables?

You get this event when you submit event with default values. We should also do analysis what are possible values for output variables.

Model the test space

We did that for event name variable. Sample all possible variable values by splitting values in groups that are treated equally by the create event feature. One group were values from zero length to max length. Consider valid and invalid values. Do a test with value from group that has the highest probability to trigger a failure. In our example, that would be length of max_length.

Select what to cover

Combination of variables event type and time.

Determine test oracles

Should we consider input rejection or output overlows. Event time variable has a date. Oracle is Gregorian calendar standard definition.

Configure the test system

Should we test on live system or test environment? In this example we tested on tentamen GSuite. Is this wise? What if failure causes lost of all event data? How can we easily set up test environment, are there scripts for that purpose or we must do it manually? How can we create tests, by hand or using selenium? What are input field selectors? This is input selector for time variable:

`//*[@id=”xStDaIn”]`

Operate the test system

How do we run tests? Run selenium tests from our development machine, or execute test manually following the test script?

Observe the test system

What are system outputs while we execute the tests?

Evaluate the test results

Did the program pass the test? Should be event without name be accepted?

This recipe components are part of every test technique, not just domain testing.

Originally published at https://blog.tentamen.eu on June 10, 2019.

Written by

Founder of Tentamen, software testing agency.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store