Acceptance Testing

Before we start

we need to agree on a few definitions

person who knows what the software should do

 

hereby known as the product owner

person who knows how to make the software do what it should do

 

hereby known as the developer

white box testing

 is a method of testing software that tests based on knowledge of the internal structures or workings of an application

black box testing

is a method of software testing that test the functionality of an application without knowledge of its internal structures or workings

Acceptance Test

AN acceptance test is a test conducted to determine if the requirements of a specification or contract are met

End to end testing

End-to-end testing involves ensuring that that integrated components of an application function as expected. The entire application is tested in a real-world scenario such as communicating with the database, network, hardware and other applications.

integration testing

Integration testing is where individual software modules are combined and tested as a group

unit testing

unit testing is a software testing method by which individual units of source code are tested to determine whether they are fit for use

BEHAVIORAL driven development 

BDD is the use of a simple domain-specific language using natural language constructs that can express the behavior and the expected outcomes

Acceptance tests are not BEHAVIORAL driven tests

Acceptance tests are not end to end tests

Acceptance tests are not UNIT tests

ACCEPtANCE tests are not Integration TESTS

The only difference between an acceptance test and any other is who specifies the test

I love examples

 

THIS IS THE LEWEB CREATE ACCOUNT PAGE

 

 

 

 

Given I want to register an account with logentries
When I visit the registration page
Then the registration page should display correctly

 

Given I am registering for a new account
When I dont provide any details
Then my registration should fail

 

Given I am registering for a new account
When I provide correct and valid details
Then my registration should succeed

 

 

 

 

Given I am registering for an new account
When I leave the first name field blank
Then I should see the message "First name is required"

 

Given I am registering for an new account
When I try to enter a first name that is too long
Then the first name text should be limited to 30 characters

 

 

Given I am registering for an new account
When I leave the email field blank
Then I should see the message "Email is required"

 

Given I am registering for an new account
When I try to enter a email address that is too long
Then the email address text should be limited to 75 characters

 

Given I am registering for an new account
When I try to enter an invalid email address
Then I should see the message "Email address appears invalid"

 

 

Given I am registering for an new account
When I leave the password field blank
Then I should see the message "Password is required"

 

Given I am registering for an new account
When I try to enter a password that is too short
Then I should see the message "Must be eight or more characters"

 

Given I am registering for an new account
When I try to enter a password that is too long
Then the password text should be limited to 75 characters

 

 

Given I am registering for an new account
When I leave the confirm password field blank
Then I should see the message "Password must match"

 

Given I am registering for an new account
When I try to enter a confirmation password that is too long
Then the confirmation password text should be limited to 75 characters

 

Given I am registering for an new account
When I enter two different passwords
Then I should see the message "Password must match"

 

 

 

Given I am registering for an new account
When I leave the organization field blank
Then I should see the message "Organization name is required"

 

Given I am registering for an new account
When I try to enter an organisation name that is too long
Then the password text should be limited to 64 characters

 

 

 

Given I am registering for an new account
When I leave the telephone field blank
Then I should see the message "Telephone number is required"

 

Given I am registering for an new account
When I enter an invalid telephone number
Then the telephone entry box should be cleared
And I should see the message "Telephone number is required"

i have defined 18 criteria

for this page

18 acceptance criteria become

  • 3 end to end tests
  • 15 unit tests

Depending on how the unit tests / code is laid out, you may never need to write them again

END to end

End to end tests are like a sledgehammer, big and heavy.

 

They should be used as sparingly as possible

 

For leweb, they should live with the application

unit

Quick and easy to run, fast feedback


Should be the workhorse of test suite


For react, they should live with the components




UNIT

INTEGRATION

E2E

Questions?

 

@endtoend

Given I want to register an account with logentries
When I visit the registration page
Then the registration page should display correctly

 

@endtoend

Given I am registering for a new account
When I dont provide any details
Then my registration should fail

 

@endtoend

Given I am registering for a new account
When I provide correct and valid details
Then my registration should succeed

 

 

 

@unit

Given I am registering for an new account
When I leave the first name field blank
Then I should see the message "First name is required"

 

@unit

Given I am registering for an new account
When I try to enter a first name that is too long
Then the first name text should be limited to 30 characters

@unit

Given I am registering for an new account
When I leave the email field blank
Then I should see the message "Email is required"

 

@unit

Given I am registering for an new account
When I try to enter a email address that is too long
Then the email address text should be limited to 75 characters

 

@unit

Given I am registering for an new account
When I try to enter an invalid email address
Then I should see the message "Email address appears invalid"

@unit

Given I am registering for an new account
When I leave the password field blank
Then I should see the message "Password is required"


@unit

Given I am registering for an new account
When I try to enter a password that is too short
Then I should see the message "Must be eight or more characters"


@unit

Given I am registering for an new account
When I try to enter a password that is too long
Then the password text should be limited to 75 characters

@unit

Given I am registering for an new account
When I leave the confirm password field blank
Then I should see the message "Password must match"

 

@unit

Given I am registering for an new account
When I try to enter a confirmation password that is too long
Then the confirmation password text should be limited to 75 characters

 

@unit

Given I am registering for an new account
When I enter two different passwords
Then I should see the message "Password must match"

 

 

 

@unit

Given I am registering for an new account
When I leave the organization field blank
Then I should see the message "Organization name is required"

 

@unit

Given I am registering for an new account
When I try to enter an organisation name that is too long
Then the password text should be limited to 64 characters

 

 

@unit

Given I am registering for an new account
When I leave the telephone field blank
Then I should see the message "Telephone number is required"

 

@unit

Given I am registering for an new account
When I enter an invalid telephone number
Then the telephone entry box should be cleared
And I should see the message "Telephone number is required"

Made with Slides.com