Appendix-
Planning and Test Strategy
Product
team
Ecommerce Product
Team
Product Roles and Responsibilities
Stakeholders
Stakeholders
(Priority One)
Product manager(owner)-stakeholder
The product
manager collaborates with the team to sure things are going as expected. The product
manager may ask team members of any blockage to make sure things are working
accordingly. With collaboration with the team, the product manager would
prioritise the product backlog. Discussing work results with stakeholders and
reporting it back to the developer and tester if further work should be carried
or not. The product manager may discuss with the team to set scope or schedule
decisions for sprints. The product manager may adjust the features of the
product and prioritise financial goals for the project. Removes any obstructions for the team
and make sure each team member performs well, helps to improve team
productivity and makes sure all teams from all functions are collaborating to
get work done. It would also protect the team from any external interferences.
The product owner also may act as the middle man between me, the developer,
Trading Team and other stakeholders.
Trading and content
Team -stakeholders
In
charge of merchandising of the e-commerce shops. The team looks
after all the online stock. The team researches to make sure buyers’ buys what
they need from the shop. One way is for the team to go and make awareness of
our websites and what we sell on the websites.
The team take opportunities to visit patients at meeting rooms so they
can learn what they want and where they shop. They would then purchase these
products, take great pictures and make them available on the website. Also, the
team oversees data entry and updating the content page of the websites. The
team regularly carries out data analysis from google analytics for e-commerce
shops.
To provide reports
on sales, stocks to management and senior leadership team, the team would
download data from our fulfilment providers(Orbital, Tibco-prolog) and run
google analytics. The team would provide a lot of insights into what resulted
in a campaign. The team would provide insights into conversions- how many
customers are accessing our shops and how many of them would buy something, and
what devices they are using to access our sites. It helps the team to work on
ideas of how to get customers to spend more on our website and stay with us.
Currently, the
eCommerce team have budgets and targets to reach and the teams are aware that
our conversion is not what it should be. The team plans to make sure the
website is easier for customers to find products.
Stakeholders
(Priority Two)
Test
Lead / Internal Mentor
The Lead tester
would discuss Jira ticket with the tester when required. The lead tester would
discuss and make sure the tester is following the correct process for testing.
The lead tester would discuss test strategy and approaches with the tester.
She/he would review any documentation created by the tester to make sure the
tester is on the right track and following the organisation’s procedure and
standards. Ensures by requesting from the test manager to provide the right
resources for me to carry out work. The lead tester may raise incidents report
on behalf of the tester to help resolve any issues/blockers. May required to
review the test completion report before tester would send off to the rest of
the team and stakeholders.
Agile Coaches (stakeholders)
The agile coach would lead the daily stand-up meetings
and make sure the team follows the agile workflows. Responsible for making sure
the team acts upon the scrum values.
Service
Change Manager -stakeholder
Responsible for
facilitating the progress of changes from UAT (staging) to the production
environment. The service change manager may add requests to the Change advisory
meeting’s agenda for discussion and approval. If there are any issues after
deployment of a production request, then it may be reviewed by the service
change manager. The project would be reviewed before and after deployment to
production. The change service manager may aid in any incident investigations
when required.
Service Recovery
Manager -stakeholder
The Service
recovery manager would manage the workaround releases, organises the go / no go
meeting, write the change and attend the Change Advisory board meeting. Get
approval and would make sure resources are available from online hosting for
the change request. When there is a request, the Service recovery manager would
work with the technology and product team to make sure it all goes well and
smoothly. Also, help manage any issues raised.
----------------------------------------------
Test Manager
Ensures that the
tester has all the training and resources she needs to carry out her work. The test manager is provided with updates of
testers progress by the Test Lead.
Developer
The developer
develops code upon request by the stakeholders and other Cancer Research UK
users. Communication is done via email and meetings such as daily stand-up. The
developer would communicate and update the rest of the team on the slack
communication system as well as update the corresponding Jira ticket. If any
uniting testing is required, it would be the developer’s responsibility to
implement. Code would be developed on the developer’s local machine and
commitment of code would be pushed to the corresponding source control (git)
repository. The developer may also discuss
the test approach and technical knowledge with the testers.
For the Google
Merchant Centre (GMC), the developer created the cron to generate the XML
export file for uploading into GMC. Developers would usually carry out their
tests before the tester carries out their test after implementation.
System
Admin
The system admin would deploy work onto production
following the success of the go / not meeting. Nessus Security scan may be
requested for UAT by the tester and so an admin would oversee carrying out the
scan and provide results back to the tester.
Race Team
Looks after Race
for Life events.
Stand-Up-To-Cancer Team
Looks after stand-up-to-cancer
fundraising events.
Enterprise
Platforms Support
Enterprise support
for Tibco (use for publications website) as traffic flows through Tibco and
into Siebel. Also supports other applications that depend on e-commerce
websites.
Online and Cloud Hosting (Amazon
Web Services)
Looks after the
servers and maintain relationships with Acquia where our websites are hosted.
Online hostings
DoTS Team.
Looks after Dots
our payment system.
CAB (Change Advisory
Board)
Meetings
held to cover changes taking place and impact that may
be imposed on the product.
External Agency:
Impression –
A digital
marketing agency that may provide Cancer Research UK marketing guidelines when
necessary.
Fulfilment
provider for the health publication site.
Acquia –
A hosting product
that specialises in Drupal hosting. Acquia is used to host our AWS (Amazon Web
Server) offer technical support and guidance, attempting to abstract away the
complexities of AWS. Our e-commerce products’ environments such as development (dev),
integration(int), stage(stg) and production are hosted on Acquia.
Test
Environments
Local
Local machine
environment for the developer to code and push code into our source version
control, GitHub.
Development (dev)
A test environment
for developers / and testers to push code from Acquia environment above for
testers and other users to access, to carry out testing before deployment into
production. The code is pushed and merge in version control (git) and then is
deployed into the dev environment through Acquia(Ecommerce web hosting agent).
Here Developers can carry tests (component integration) and unit testing.
Integration (int)
A test environment
for developers to push code from the local machine environment above for
testers and other users to access to carry out testing before deployment into
production. Code is pushed and merged in version control (git) and then it’s
deployed into the int environments through Acquia.
Stage /User
Acceptance Test (stage
/ UAT)
This test
environment is like production and one step away from the production
environment. Code from the version control (git) is deployed into the stage
environment through Jenkins (Continous Integration tool).
Production
Latest code
tagged/branch is deployed onto production from our git repository
through Jenkins.
Ecommerce
Integration systems:
This’ our
integetration systems. Below the this
picture are details of the Ecom Integration systems.
Below are details of all the e-commerce integration
systems of the picture above:
Dots –
Our Payment gateway.
Orbital –
Our Fulfilment provider for giftshop,
stand-up-to-Cancer and Race-for-life, shops.
Informatica PowerCenter ETL/Data
Integration Tool –
Handles the
transformation, standardisation and validation and matching of Supporter and
their associated entities such as Donations, Direct debits, Even registration,
fundraising activities, suppressions etc.
Tibco –
A business process
and integration system that enables reliable and high-performance information
delivery.
Siebel –
Our CRM(Customer
Relation management product that holds supporters and their fundraising and
donations info. Passes financial info for the organisation and forward details
to Agresso.
Agresso –
Holds details of
our financial info.
Google Merchant Centre (GMC) –
An integrated
system for including our products on google ads.
Configuration
management system
GitHub –
Our version
control system to manage and hold our codes.
DiMs –
Discount
Management Service – The organisation
uses this system to create and manage discounts and vouchers for various
events, such as ‘race
for life’ and ‘stand
up-to cancer’.
Slack –
Our communication
system where the team comes together and quickly discuss work-related problems
Hotjar
Hotjar provides an
insight of supporters, and users who visit our websites, details of their
interactions and actions.
Related
Software
Drupal – Is the Content Management system (CMS) behind
our products. Development is done using the PHP
language.
Mysql – Database behind our product.
Development
Methodology
Agile
is the development methodology the team uses,
and requirements come in the forms of stories, bugs
or tasks.
Test
Tools
Test
Automation Tools
We
use Selenium web Driver, and Cucumber
with the Gherkins language and the java
language to write our test script framework.
TestNG – A java testing
framework for running our scripts.
The NG stands for ‘Next Generation’, it’s inspired
from Junit, making use of annotations such as @.
TestNG reports provide more
details on test cases,
failed, passed
and skipped Test Cases.
Maven
– Our test script
projects are created using the maven
project. Maven is used to
managing applications-built
lifecycles.
Test Management
Software (Tools)
Jira and Zephyr –
We
use Jira and Zephyr to manage tests.
Zephyr is used to create tests and manage test cycles. It is linked to Jira
tickets so a test can be linked to a defect or story on a Jira ticket.
Defect Management Tool
The team uses Jira to log and manage defects, experienced during test and
development. If I encounter a defect, I will create a defect report with
details of the steps to reproduce. I will link the defect report to the Jira
ticket concerned, I will assign the report to one of the developers and tag the
product manager of the issues. I will also make the rest of the team aware by
updating them on Slack(our chat communication system). The defect report should
have details of the priority to help decide how urgent defect (bug) should be fixed.
Jenkins –
The team
uses Jenkins(Continous Integration)
to automatically run our scripts on a
daily schedule. And push codes from our git
Repository in our environments.
Test
Process
The fundamental
test process that should be followed for any testing can be summarised as
follows:
·
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. The method for test
automation may be different, depending on the scrum.
·
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.
Process flow:
Test Objective:
·
To prevent defects in user stories and acceptance criteria (work
products).
·
To ensure XML provided to Google Merchant Centre holds all the required
attributes specified on Google Merchant Centre product data specification page.
·
To provide feedback on information that may allow stakeholders to make
informed decisions.
·
To ensure the XML file generated for Google Merchant Centre is validated
with minimum errors.
·
To ensure the XML file is accepted on Google Merchant Centre with no
errors.
·
To ensure feeds
are working and providing the correct results.
·
The Cron job
should update feed XML file so Google Merchant Centre product feed is updated
with our latest up-to-date product details.
Test
Data Requirements
·
I plan to use Valid
and Invalid test data at the checkout and shipping pages of the websites.
·
I will make use of
boundary value analysis on the telephone and email text fields.
·
I will perform
blank data on any of the text fields at the checkout.
Risks
·
During the
deployment to the UAT environment, the test data will have to be updated as the
database for UAT is refreshed. It will take time to fix and therefore requires
more time for testing before the test summary report can be completed for
production deployment. If I experience this, I will explain and request more
time from the team.
·
Uploading CSV
files on google drive to be uploaded on google merchant feed can be risky if
other users can access my google drive account. Therefore, after testing on
Google Merchant Centre, any google sheet product details files must be deleted.
·
Risks of Account
suspension due to price availability and mismatch(es).
Automatic item updates help keep product data updated. It allows Google
to update your product listings on Shopping ads, Shopping Actions, local
inventory ads and surfaces across Google. Automatic updates are currently on
offer on product price and availability. It checks recent data feed prices is
the same the product landing page. Since automatic item updates are turned on Google
Merchant Centre accounts, you the account experience too many mismatches, then
automatic item updates will stop working. And the account will then risks
pre-emptive item disapproval.
I plan to make sure that the product data feed contains current price
availability to avoid item disapproval. I must make sure Google Merchant Centre
feeds fetches the product data on a regular daily schedule. This way there will
hopefully be none or less price availability mismatches.
·
Item disapprovals
for product data quality violations.
If product data does not meet the data quality requirements, the items
and the entire Google Merchant Centre account are subject to disapproval.
I plan to make sure the product data contained in the data file meets
the data quality requirements by referring to the Google Merchant Centre data
quality requirements page.
Test
strategy and approach
Directed (consultative)
To carry out the
test I need to gain more knowledge of the system from experience individuals
such as the developer and product manager.
Regression-averse
I would be using
existing test ware (test cases and test data), test automation framework. I
would execute the automation on UAT, fixing any errors before providing a test
summary report for a go-ahead deployment to production.
Scope of testing
Test Scope
|
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. |
|
System testing |
End to end of manual regression (test automation would be carried out for the four eCommerce shops. Before the final production XML is generated, UAT
deployment should be done to refresh the UAT (stage) database. After UAT
deployment, manual and automation regression tests should be carried out on
UAT. |
|
Manual Test |
Can be designed using Zephyr or excel spreadsheets. |
|
System integration test |
Responsibility of the testers. System integration testing will be covered in this project. GMC is a system integration for e-commerce websites. The XML file generated for UAT should be validated on
Google Merchant Centre. The XML should contain the latest product update. File validations shall be carried on Google Merchant
Centre by loading fetching the XML file, on the product feed to make sure it meets the requirements for google ads. |
|
Security regression Test |
Nessus scan, our web inspect tool will be used to scan
UAT, before production deployment. Nessus scan is required for each test complete report
but not a direct requirement for Google Merchant Centre. |
Out of Scope
|
Test Type |
Description |
|
Performance and load testing |
There is no requirement to complete
the performance or loading test on the four shops for this project. |
|
Usability Testing |
Usability Testing is outside the scope of this test plan. Will be covered in another project. |
|
Unit Test |
Unit testing is usually the responsibility of the developers to create a unit test for their modules. This’ 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’ out of scope for this
project. |
|
Test Automation |
Automation script is usually created for stories that can be automated. In this project, the four online
e-commerce Cancer Research UK shops only need product details generated into
an XML file. Test Automation will only be in scope for carrying out regression test on UAT before production. There’s no need to add the stories for Google Merchant Centre into our automation test suites. |
|
End to end testing |
End to end data testing is out of scope for this project, as the product details contained in the generated XML
file would be validated in the Google Merchant Centre. And any errors
produced would be corrected for the product details to be accepted in the
Google Merchant Centre. At Cancer Research UK, end to end integration testing can be carried out under our system integrations. This
will be covered in another project. End to end testing is limited between these two systems. And a full user journey was not tested – google ads. |
|
Accessibility Test |
Validation for page access should be checked for all
environments. Full Accessibility tests on eCommerce will be covered
in another project. |
|
Regression and cross-browser testing |
As part of the regression test, the java automation
will be executed both through Jenkins, and manually using an IDE such as
Eclipse or IntelliJ. The regression test is done using manual and automation
tests. |
Test Levels
In this project, I will be carrying out
tests under the System and System Integration test level. Find more details
under Testing Scope and Out of Scope above.
Automation tests
for this user story are already covered in our java automation framework.
Please, refer to Test scope table.
Test Scenarios
|
Scenario |
Description |
Expected Result |
|
1. uploading
csv file |
Testing with CSV file |
Pass Google Merchant Centre validations and product details accepted
onto Google ads. |
|
2. uploading
xml file |
Testing with the XML file |
Pass Google Merchant Centre validations and product details accepted
onto Google ads. |
|
2.
Upload google sheet file |
Testing with google sheet |
Pass Google Merchant Centre validations and product details accepted
onto Google ads. |
|
3.
cron data Feedn- XML file |
Testing with cron data feed |
Pass Google Merchant Centre validations and product details accepted
onto Google ads. |
Test
Environment setup
Google Merchant Centre setup
Firstly, for me to
access Google Merchant Centre, I have to create a Google account. Then the
product manager has to add my Google account details to Cancer Research UK
Google Merchant Centre account. From here, I can view and carry out tests on
Google Merchant Centre environment.
Test environment set up for
Cancer Research UK
The eCommerce team
has four environments to test the four shops mentioned in the introduction:
Local, Dev, int,
and stage (UAT).
The product data
will be coming from the above test environments.
Test techniques
I will be testing
the Google Merchant Centre using the black-box ( exploratory) and
experience-based techniques. I will make
use of experiences from the stakeholders- trading team, and the developer.
Test Entry Criteria
·
Jira ticket (User
stories) should have acceptance criteria 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 regression test have been achieved.
·
File for uploading
in Google Merchant Centre should be in the correct format and validated for
most of the products.
·
The file
containing product details should be in the Google Merchant Centre required
format.
·
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 updates
Errors and Defect logs
Release
control
Before
deployment for production can go ahead, a Test Summary / Complete Report will
be presented to the stakeholders. The stakeholders will use the report to make
an informed decision if deployment to production should go ahead or not
(release control). After testing on UAT, the product manager, together with the
Trading team will decide whether to pass details of the Test complete Report
to the stakeholders – Service Change Manager, and Service Recovery Manager.
Details will also be passed onto the CAB (Change
Advisory Board), by the Service Change
Manager, and Service Recovery Manager, who will discuss how Cancer Research UK
would be impacted by such releases. Decisions to release the change to
production will be made by the CAB.
Deployment to production will only be necessary after UAT testing.
END OF TEST STRATEGY AND PLAN DOC.
---------------------------------------------------------------------------------------------
References:
Reference number
|
Reference Details
|
|
1 |
Cancer
Research UK. 2020. About Us. [online] Available at:
<https://www.cancerresearchuk.org/about-us> [Accessed 30 September 2019]. |
|
2 |
Shop.cancerresearchuk.org.
2020. Cancer Research UK Online Shop. [online] Available at:
<https://shop.cancerresearchuk.org/> [Accessed 30 September 2019]. |
|
3 |
Iso.org.
2020. [online] Available at:
<https://www.iso.org/obp/ui/#iso:std:iso-iec-ieee:29119:-1:ed-1:v1:en>
[Accessed 30 September 2019]. |
|
4 |
Baadsgaard,
J., 2020. Google Merchant Center Guide: Get Your Products On Google Shopping.
[online] Disruptive Advertising. Available at:
<https://www.disruptiveadvertising.com/ppc/ecommerce/merchant-center/>
[Accessed 14 October 2019]. |
|
5 |
Guru99.com.
2020. Best 25 Test Management Tools (Aug 2020 Update). [online] Available at:
<https://www.guru99.com/top-20-test-management-tools.html> [Accessed 30
July 2020]. |
|
6 |
Cohn,
M., 2020. Introduction To Scrum PPT - Scrum Methodology. [online] Mountain
Goat Software. Available at:
<https://www.mountaingoatsoftware.com/presentations/an-introduction-to-scrum>
[Accessed 6 December 2019]. |
|
7 |
Softwaretestinghelp.com.
2020. How To Create Requirements Traceability Matrix (RTM) Example Sample
Template. [online] Available at: <https://www.softwaretestinghelp.com/requirements-traceability-matrix/>
[Accessed 16 December 2019]. |
|
8 |
Impression.
2020. Impression: Multi-Award Winning Digital Marketing Agency. [online]
Available at: <https://www.impression.co.uk/> [Accessed 18 October 2019]. |
|
9 |
Support.google.com.
2020. Product Data Specification - Google Merchant Center Help. [online]
Available at:
<https://support.google.com/merchants/answer/7052112?hl=en-GB&ref_topic=6324338>
[Accessed 2 October 2019]. |
|
10 |
Support.google.com.
2020. Product Pages Can't Be Accessed - Google Merchant Center Help. [online]
Available at:
<https://support.google.com/merchants/answer/6098155?hl=en-GB>
[Accessed 6 December 2019]. |
|
11 |
ublications.cancerresearchuk.org.
2020. Publications. [online] Available at:
<https://publications.cancerresearchuk.org/> [Accessed 30 September
2019]. |
|
12 |
Qatestlab.com.
2020. Types Of Test Data – Qatestlab. [online] Available at:
<https://qatestlab.com/resources/knowledge-center/5-types-of-test-data-that-should-be-used-during-software-testing/>
[Accessed 1 October 2020]. |
|
13 |
Raceforlifeshop.cancerresearchuk.org.
2020. Race For Life Shop. [online] Available at:
<https://raceforlifeshop.cancerresearchuk.org/> [Accessed 30 September
2019]. |
|
14 |
Retail,
G., 2020. Merchant Center - Google For Retail. [online] Google.com. Available
at: <https://www.google.com/retail/solutions/merchant-center/>
[Accessed 16 October 2019]. |
|
15 |
Pascal.computer.org.
2020. Search Form. [online] Available at: <https://pascal.computer.org/sev_display/index.action>
[Accessed 30 September 2019]. |
|
16 |
Ico.org.uk.
2020. Some Basic Concepts. [online] Available at:
<https://ico.org.uk/for-organisations/guide-to-data-protection/introduction-to-data-protection/some-basic-concepts/>
[Accessed 30 September 2020]. |
|
17 |
Stand
Up To Cancer. 2020. Stand Up To Cancer. [online] Available at:
<https://www.standuptocancer.org.uk/> [Accessed 30 September 2019]. |
|
18 |
Cruk.fuseuniversal.com.
2020. Submit Form. [online] Available at: <https://cruk.fuseuniversal.com/communities/23027>
[Accessed 30 September 2019]. |
|
19 |
Softwaretestinghelp.com.
2020. Top 20 Best Test Management Tools (New 2020 Rankings). [online]
Available at:
<https://www.softwaretestinghelp.com/15-best-test-management-tools-for-software-testers/>
[Accessed 30 July 2020]. |
|
20 |
TestLodge
Blog. 2020. Top Defect Management Tools List - Testlodge Blog. [online]
Available at:
<https://blog.testlodge.com/defect-management-tools-list/> [Accessed 5
August 2020]. |
|
21 |
BigCommerce.
2020. What Is Google Merchant Center? Understand Benefits & Requirements
| Bigcommerce. [online] Available at:
<https://www.bigcommerce.co.uk/ecommerce-answers/what-is-google-merchant-center/>
[Accessed 13 October 2019]. |
|
22 |
dzone.com.
2020. Why Is Software Testing And QA Important For Any Business? - Dzone
Devops. [online] Available at:
<https://dzone.com/articles/why-is-software-testing-and-qa-important-for-any-b>
[Accessed 30 September 2020]. |
|
23 |
Testingstandards.co.uk.
2020. Working Draft Of BS 7925-1. [online] Available at:
<http://www.testingstandards.co.uk/bs_7925-1_online.htm> [Accessed 30
September 2019]. |
Thank you for visiting my website.
Find part 1 of the introduction here.
Comments
Post a Comment