Actions

Difference between revisions of "Testing Area/Behat Testing/Characteristics of a good test"

From Mahara Wiki

< Testing Area‎ | Behat Testing
Line 66: Line 66:
 
* Tags on the scenarios just run those scenarios.
 
* Tags on the scenarios just run those scenarios.
 
* If there are multiple scenarios on the page and they are testing are testing multiple parts of a feature, tag the top of the scenario appropriately.
 
* If there are multiple scenarios on the page and they are testing are testing multiple parts of a feature, tag the top of the scenario appropriately.
 
+
* A
  
  

Revision as of 12:43, 16 December 2014

How to write a good test

Template

Copy and paste into your text editor and remember to save in the right directory and as a .feature file

Single scenario on a page

 @javascript @core
 Feature: 
  In order to 
  As an
  So I can

 Scenario:
  Given
  And
  When
  And
  Then 


Multiple scenarios on one page.

 @javascript @core 
 Feature: 
  In order to 
  As an
  So I can

 Background:
  Given
  And
  And
  And  

 @core_
 Scenario:
  Given
  And
  When
  And
  Then 

 @core_
 Scenario:
  Given
  And
  When
  And
  Then



Tags

The tags are how we run the tests, to run a group of tests on Jenkins at once we identify the ones to run by the tag.

  • Always attach an @javascript tag to the top of the page. This will run all the scenarios on the page, don't tag each scenario with @javasript. One at the top is enough.
  • If it's testing a core feature tag it @core, this will be all tests except 3rd party plugins.
  • Tags at the top of the page, run all the scenarios on the page.
  • Tags on the scenarios just run those scenarios.
  • If there are multiple scenarios on the page and they are testing are testing multiple parts of a feature, tag the top of the scenario appropriately.
  • A


Feature

Good features clearly explain what you are trying to do. If you are using a bug from Launchpad to write the test, use the title of the bug in the title of the feature.

Feature: Creating a group
 In order to create a group 
 As a student
 So I can become a part of the group and share my work
  • The first line of the feature is the title of what you are testing
  • In order to do something specific
  • As an, who you are logging in as (remember if you are logggin in as a student you first need to have the student account created, use the background for this)
  • So I can, tell us what the end game is here. So you can do what?


Background


Scenario


Steps


Comments