Appendix
Test Plan
Introduction
Document Purpose
To set out the plan for the migration of our existing java test automation into JavaScript using cypress.
Test Scenarios
Giftshop Tests
Search spec (Test file)
Old Feature/ Shop |
Old Scenario |
Old Total steps/ Lines of Code |
New it tests |
New lines of Code |
Comments |
Search Product - Giftshop |
Search Results should display product |
6 |
Search Results |
5 |
The old code had 3 verifications and all
these needed to be One ‘it’ test with one assertion. |
|
|
|
Should Validate the product name |
4 |
|
|
|
|
Should find and select another product
colour |
7 |
|
|
|
|
Product name should show up in search |
15 |
Looping through a list of different
products. |
|
|
|
|
|
|
Wedding Favour spec tests
Old Feature/ Shop |
Old Scenario |
Old Total steps/ Lines of Code |
New it tests |
New lines of Code |
Comments |
Wedding Favour |
Verify <Payment_type> payment is
working for the selected products |
17 |
Should Verify paymentType is working for
selected products |
12 |
|
|
|
|
Should verify details in Thank You page
and Order details in Admin are matching |
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Publications Tests
checkout spec test
file
Old Feature/ Shop |
Old Scenario |
Old Total steps/ Lines of Code |
New it tests |
New lines of Code |
Comments |
Verify Opt in changes |
Verify Opt in changes |
|
User should be able to select option(s)
for receiving latest CRUK Ecommerce Shop Updates' |
8 |
|
|
|
|
'Verifying user selections of Updates in
admin', |
17 |
|
steps on progress bar |
steps on progress bar |
|
'Should verify Details of steps on
progress bar is highlighted', |
4 |
|
|
steps on progress bar |
|
'Should verify Confirm Order of steps on
progress bar is highlighted' |
3 |
|
Remove spaces from email addresses |
Remove spaces from email addresses |
|
'Should validate email address with spaces
are accepted', |
6 |
|
|
|
|
|
|
|
Regression_Publications
feature
Old Feature/ Shop |
Old Scenario |
Old Total steps/ Lines of Code |
New it tests |
New lines of Code |
Comments |
|
Verify Add to Basket isn't displayed on
Home and productListing page |
|
'Verify Add to basket but is not displayed
on homepage', |
3 |
|
|
|
|
'Should not be displayed on homepage' |
|
|
|
|
|
Should verify Add to Basket button is not
displayed on product listing page |
4 |
|
|
Verify Add to Basket count incresing on
adding products from different departments |
|
'Should verify Add To Basket count
increasing on adding Product from different Departments' |
9 |
|
|
Verify Thank you page displays correct
information |
|
Should verify Thank you page displays
correct order information' |
18 |
|
|
Order product on selecting value DropDown |
|
Should verify organisation order', |
13 |
|
|
Verify GDPR details are not shown for
Publication Site |
|
'Should Verify GDPR details are not shown
for Publication Site' |
10 |
|
|
Verify GDPR details are not shown for
Publication Site via search |
|
'Should Verify GDPR details are not shown
for Publication Site via search' |
12 |
|
Scope of Automation
Migrating our existing java test automation into JavaScript using cypress.
Test Type |
Description |
|
Static
testing |
Static
tests should be carried out on the user stories. Review
the stories and make sure the acceptance criteria are correct as requested by
the user, and it’s testable. The
behaviour-driven development (BDD) tasks written in the java automation will
be copied onto the acceptance criteria of the Jira ticket. |
|
System
testing |
Blackbox
manually test may be carried to help automation the user journeys. |
|
Regression
testing |
Automation
regression (test automation would be carried out for the four eCommerce
shops. |
|
Test
Automation |
Automation script will be coded with JavaScript using Cypress. |
|
Cross-browser
testing |
Cypress
BrowserStack automation will be covered in this project. |
|
Accessibility
Test |
Accessibility
automation tests on eCommerce will be covered in this project. Using
– wave and axe accessibility browser extension for manual accessibility
testing. In
this project, we will be integrating cypress-axe within the cypress
automation to automate accessibility testing. |
|
|
|
|
Out of Scope
Test Type |
Description |
|
Usability
Testing |
Usability
Testing is outside the scope of this test plan and maybe covered in another
project. |
|
Unit
Test |
This
is when individual components or modules are tested. Unit testing is usually the responsibility of the developers to create a unit test for their modules.
Although it is our long-term plan to convert the black-box automation into
white soon, it is out of scope for testers in this plan. |
|
Component
integration-test |
It
is usually the responsibility of the developers to carry out the integration
test for their modules. |
|
Operational
Acceptance and Recovery Testing |
Currently,
this is out of scope for this project. |
|
End
to end testing |
End
to end data testing is out of scope for this project. |
|
System
integration-test |
Out
of scope for this project. |
|
Security
regression Test |
Out
of scope for this project. |
|
Manual
Test |
There’s
no need to design manual tests cases, as the Behaviour Driven Development
details of the java framework can be provided on the Jira tickets. These can
be used as test steps for writing the JavaScript test code. |
|
Compatibility
Testing |
Out
of scope here. |
|
Performance
and load testing |
This is out of scope for this project. |
Approach for New tests
Each Jira ticket would have details of Behaviour-driven
development (BDD) of scenarios from the java automation. Each Jira ticket can
contain details of one or more scenarios from the java automation. Testers
should pull the current automation test code from the main branch in Github, then create a
new branch, referencing the title to the corresponding Jira ticket. Testers can
then start coding following the steps of the BDD details on the corresponding
Jira ticket.
Furthermore existing and future stories on Jira that require
automation can be added to the migration project.
Schedule Plan
Jira Ticket Ref |
Shop |
Old feature text |
Old Scenario Text |
Plan days/weeks to complete |
Date Started |
Date completed |
On Schedule |
Comment |
|
Gift Shop |
|
|
|
|
|
No |
I had exams to prepare for. Also, the Jira tickets created by the stakeholders would take priority over my automation work. I
also needed to devote time to writing other projects for my apprenticeship programme. |
|
Publications |
|
|
|
|
|
No |
|
|
Cypress-axe for Accessibility Testing |
|
|
4 |
06/07/2020 |
15/07/2020 |
No |
Working multiple projects and project writeup. |
Test/ECOM-1870_cypress_Browerstack |
Browserstack cypress integration |
|
|
7 working days |
11/08/2020 |
12/10/2020 |
yes |
Waiting for a go-ahead for numbers and licence npm
package and browserstack.json settings. |
|
Artillery – For performance testing. |
|
|
|
|
|
No |
I need to understand the report which means going through
the doc and executing the file at the same time to understand what they all
mean. |
|
Lighthouse security |
|
|
|
|
25/08/2020 |
no |
I was experiencing some errors. |
Ecom-1881 |
Visual Testing - Percy |
|
|
5 |
25/08/2020 |
|
|
Annual leave and bank holiday held me back on fixing
errors. |
Integration with GitHub Actions
GitHub Actions will be used as the continuous Integration
system for this project. GitHub Actions lets you build, test, and deploy code
from GitHub.
This story was planned to be completed by the Quality
Assurance team under each product team, using the agile scrum process.
Who would do it?
Tester (me).
Configuration management system
GitHub – Our version control
system to manage and hold our software codes.
Test Levels
In this project, I will be carrying out tests under
the System, and User Acceptance test levels.
Test types
I will be carrying out the test under the
functional test type for this project.
Please, refer to Test
scope table above, for more information.
Test techniques
I will be creating the scripts using the black-box
techniques, where I will be writing scripts for the Graphical User interface. I
will be making use of experience-based test technique, where I may consult
other experienced Quality Assurance testers or the Automation Test Lead for
help when required. I will also put into
good use my own programming experience as well as my researching and problem-solving
skills.
Product team
Roles and Responsibilities
This project would be carried out on the Ecommerce
Product team by the QA Testers, which includes me.
Test Environments
Test environment for this project will be under the UAT(User
Acceptance Test) or the stage environment.
Test Tools
Test Automation Tools
In this project, I will be migrating the test scripts of our
java, Selenium and Cucumber automation framework into JavaScript using the
Cypress testing tool.
Cypress
I will be coding the automation tests using Cypress with the
JavaScript language. According to the cypress website, it’s the
next generation front end testing tool built for the modern web. Cypress enables
fast, easier and reliable tests. Cypress is easy to set-up and gets running in
a matter of under an hour, as compared to Selenium. Cypress helps test automation
developers concentrate on their coding rather than spending time other unnecessary
errors, for examples errors experiencing from corrupted jar files.
Wave and Axe browser extensions
For manual accessibility testing.
Cypress-Axe
For automating Accessibility Testing within the Cypress
automation script.
Mochawesome
A custom reporter for use with JavaScript testing framework.
Cypress Browserstack
An integration tool for cypress to add browsers,
devices and other operating systems (cross-browser testing) to the Cypress automation
test.
Percy
A Visual Testing Tool from BrowserStack to
add Visual tests into the Cypress automation script.
Relating software
JavaScript – the software language for
writing the automation script.
Test Management Software (Tools)
Jira and Zephyr
We use Jira to manage our tests. Testers must update the team of anything concerning the request, for example, blockers, by adding comments on the relevant Jira tickets. Also, testers can update the team on the Slack channel. Add links to relevant test documents documented on Zephyr.
Defect Management Tool
Use Jira to log and manage defects experienced during test development. If bugs/defects were encountered, testers must use this tool to report to the team. A bug report must be assigned to a Developer. It should contain all the relevant sessions including Expected and Actual Results, steps to reproduce, screenshots extra.
Integrated Development Environment (IDE)
Visual Studio
It is a software application that provides comprehensive facilities to computer programmers and software developers. Use this IDE to develop and execute the cypress automation scripts.
Test Process
- Planning – including scope, exploratory testing, functional and non-functional elements.
- Scripting – manual tests should be written with the preferred tool (excel or Zephyr) so that results can be easily tracked, and the tests made available for future regression tests. Automated tests should also be prepared here to cover the functionality being delivered so that the overall regression test pack is kept up to date and in line with new functionality being delivered.
- Execution – execution of tests and recording of results. The results of automated tests should be combined with manual tests executions to gain a complete picture of the quality of each release before deployment. Defects should be logged during execution via JIRA, using the workflow defined in this document.
- Reporting – reports on tests run, passed/failed and defects identified by severity, to identify any remedial action that needs to be carried out urgently or as a part of the next sprint.
Test Objective:
- · To prevent defects in user stories and acceptance criteria (work products).
- · To migrate the existing java automation into JavaScript using Cypress.
- · To add any existing and new user stories that can be automated into the migration.
Test Data Requirements
- · Testers should create test data based on test cases and Scenarios.
- ·
Use Valid and Invalid test data.
- ·
Make use of boundary value analysis test techniques
where necessary.
- ·
Perform blank data on any of the text fields.
Risks
- Difficult to estimate time effort required for completing the automation migration. This can be due to the following reasons:
- · Training for testers to learn the new tool.
- · External factors that may place time constraints on testing. For example, a requirement to shut down the office for any reasons.
- · Not being able to run tests remotely due to tests environments not working remotely may slow down the progress of the migration.
- · Version control and maintainability of test scripts and test results.
- · Adding new tests stories from Jira or existing test stories that have not been already migrated.
Test Entry Criteria
·
Jira ticket (User stories) should
have acceptance criteria (from the feature files of the existing java
automation scripts) on them.
·
The test environment should be
stable and ready before the test can commence.
·
Test tools should be available.
Exit Criteria
- ·
User stories, acceptance criteria,
and all feature file scenarios have been migrated.
- · Unresolved defects should be kept to a minimum.
Test Deliverables
The following artefacts will be created during this project and delivered at the end of the project:
- Test Complete report.
- Test automation scripts.
- Errors and Defect logs.
Comments
Post a Comment