Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

QA Process Sample:

Requirement ID: 35

JIRA Ticket Id: AE.UI.11

Requirement Description:

UI shall support user logins.

Testing Objective:

Objective No.

1

 

 

Objective Description

Login Web Page

 

Testing Strategy

Unit Testing/ System and Integration Testing/Performance and Stress Testing

 

 

Testing Approach:

Manual/ Selenium/ JUnit/ Cucumber

Selenium

 

Component Testing

Component Description

Check a valid Username/Password

 

Input Criteria

Valid Usename/Password

Suspension Criteria

 

 

Resumption Criteria

 

 

Exit Criteria

 

 

Component Testing

Component Description

Check an invalid Username/Password

 

Input Criteria

Invalid Username/Password

Suspension Criteria

 

 

Resumption Criteria

 

 

Exit Criteria

 

 

Component Testing

Component Description

Display an appropriate Web Page for a valid User

 

Input Criteria

 

Suspension Criteria

 

 

Resumption Criteria

 

 

Exit Criteria

 

 

Component Testing

Component Description

Display an appropriate Web Page for a invalid User

 

Input Criteria

 

 

Suspension Criteria

 

 

Resumption Criteria

 

 

Exit Criteria

 

 

Component Testing

Component Description

 

 

Input Criteria

 

 

Suspension Criteria

 

 

Resumption Criteria

 

 

Exit Criteria

 

 

Cucumber Script:

     

      Background: Given I am on the Login page

 

      Scenario Outline:  Check if the login page works for valid username/password

                                            and doesn’t work for invalid username/password

                                            User fill out the Username/Password textboxes .

 

      When user press login button.

 

       Then system checks the DB table to find if it is valid.

       When username/password is valid.

       Then the main web page will be presents.

       When username/password is invalid.

       Then stay on the login page.

       And show a text “Invalid username/password. Please try again.”

 

 

 

 

 Testing using Selenium and Cucumber-JVM

   Cucumber is a testing framework which helps in performing acceptance testing, where test scripts are written in a BDD approach. A feature file is created and written in plain english and the corresponding testscripts are driven using selenium.   

  • The annotations that are commonly used are : Given, And,When,Then, But, Before and After
  • A feature file should contain the feature description that tells about the features the test scripts would cover, test scenarios and may contain a background or scenario outline as well.

 

<dependency>

 <groupId>info.cukes</groupId>

 <artifactId>cucumber-core</artifactId>

 <version>1.1.5</version>

 </dependency>

 

 <dependency>

 <groupId>info.cukes</groupId>

 <artifactId>cucumber-java</artifactId>

 <version>1.1.5</version>

 </dependency>

 

 <dependency>

  <groupId>info.cukes</groupId>

 <artifactId>gherkin-jvm-deps</artifactId>

 <version>1.0.2</version>

 </dependency>

 

 <dependency>

 <groupId>info.cukes</groupId>

 <artifactId>cucumber-junit</artifactId>

 <version>1.1.5</version>

 </dependency>

 

 <dependency>

   <groupId>org.seleniumhq.selenium</groupId>

 <artifactId>selenium-java</artifactId>

 <version>2.44.0</version>

 </dependency>

 

Feature File: 

Feature:  A feature would describe the current testscript that is to be executed

 Background: Background describes the steps that would be executed before  each scenario

 Scenario: Scenario would describe the steps and expected outcome for a particular test case.

 Scenario Outline: Using Scenario Outline, we can execute the same scenarios for multiple sets of data. The data is provided in a tabular structure(separated by | |) under Examples. The step definitions can be parameterized by providing the column header in angular brackets(< >). Double quotes for each parameter needs to be put in the table and not in the step definition.

 Given: Given specifies the context of the text to be executed. Given step can also be parameterized using datatables. 

When: When specifies the test action to be performed 

Then: Then specifies the expected outcome of the test