Skip to main content

Manual Testing - part 4

 

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.

Prolog-

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.

TestNGA 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.

MavenOur 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

Popular posts from this blog

Working with Dropdownbox elements in Selenium WebDriver

How to select element from a Dropbox We are going to use Selenium webDriver and chrome driver to test this. In addition, this test was created on Mac.  I assume you have installed and setup java in your system path.  Also, install Eclipse for jee. 1. First let's take a look at a quick test case: Test case: TC_1. Register on http://automationpractice.com/index.php TC_1.1: Launch hope page -http://automationpractice.com/index.php TC_1.2 : Click on link ‘Sign in’ TC_1.3 : Under “Create Account” subheading, enter Email address in ‘Email address’ textfield TC_1.4 : Click on ‘Create an account’ button. —————————————————————————————— Test data: Email address: gorgeous12@hotmail.com http://automationpractice.com/index.php ---------------------------------------------------------------- Expected : http://automationpractice.com/index.php?controller=my-account ———————————------------ 2. Next, create a maven project in Eclipse 3....

Date Picker 2 -Calendar

Working on date picking- part 2 package com.phpTravels.PHPTravels; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; public class LaunchClose { WebDriver driver ; @BeforeClass public void launchApp() { //instantiate Chrome Browser driver System.setProperty( "webdriver.chrome.driver" , "/Users/tester/Documents/webDrivers/chrome/chromedriver" ); driver = new ChromeDriver(); driver .get( "https://www.phptravels.net/" ); //boolean applaunch =driver.getCurrentUrl(); System. out .println( "browser has launched" ); } @AfterClass public void CloseApp() { driver .quit(); System. out .println( "browser has quite" ); } } Second class - package com.phpTravels.PHPTravels; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.D...

Cypress UI Automation - part 1

Java to Cypress-JavaScript Automation Migration Introduction: Across Cancer Research UK engineering department, we currently use a Java automation framework for our User interface and API testing. The framework has evolved in the last 3 to 4 years and currently, we have 19 products/project, (running approximately 1350 test scenarios) using the framework to run the respective sanity/regression packs. The project/products extend across different technology stacks such as Drupal, Symphony, React JS, .Net, OBI and Siebel CRM.   The Quality Assurance (QA) test team are currently under the process to be transformed into a fully-fledged Quality Assurance function.   As part of this transformation, we would like to have a comprehensive, automated test suite that can be maintained by developers and testers. Furthermore, our front-end web development is moving into JavaScript, now is the right time to migrate our automation framework also from java into JavaScript. The introduction ...