Skip to main content

Manual Testing - part 2

 Requirement analysis

Test Strategy and Plan

Test Strategy and Plan covers details of the product, product team, software and other relating applications. Find test Strategy and plan document under Appendix.

Test Analyse and Design

The following are details of how I analysed the requirements for this project:

The requirements were logged on the Jira test management tool as user stories. Acceptance criteria were provided on the tickets for clarity to the team. The following are details of the user stories and bugs logged on the Jira Test Management tool, on sprint – Google Shopping Feeds!





The main Jira ticket for this project was - ECOM-1701 GMC automate and implement hosted export via cron.

 





The ECOM-1701 GMC automate and implement hosted export via cron, was the last issue type created under the Google Shopping feed! sprint, to provide a better insight of the stakeholder's request.


Below is a diagram of how the new request above should work. A cron job was set-up on the Cancer Research UK eCommerce website server, which generates an XML file. A product feed schedule from Google Merchant Centre should fetch the XML file daily to update the product details.







Obtaining test Data

Test Quality Time constraints

Recreating my test data would cost and take too much time. So I used the stage test environment which has anonymised data from production. This saves time and it is cost-effective. GMC would have been delayed by months if I was to create the relevant product test data from scratch, so I accessed that using existing data would provide me with enough coverage and quality data– Test quality time constraints.

Common Test Data

Test data commonly includes the following types:

  • ·        Valid test data(positive)– to verify the functionality of the fulfils the requirements.
  • ·        Invalid Test Data -for validating if the system can process and show the relevant messages for negative data.
  • ·        Boundary test data – Helps to detect defects connected to boundary values.
  • ·      Inappropriate format -Test check how the system reacts to the wrong data format. For example, oi letters for number format of 01.
  • ·        Blank field- Enter blank into the text field to access how the system reacts to blank fields.

Ways to obtain Test data

  • ·        Create it manually.
  • ·        Obtains from production environment.
  • ·        Using test automation tools.
  • ·        Duplicate from old tests carried out.

 Test data used for the test environments/sites are as follows:

Test data required for testing on the website are full product details which are predefined, already exists in the test environments. However, there were others which I prepared for the purpose of testing, to create orders on the testing websites. Details as follows:

Checkout Details:

Attributes

Data types

Data

E-mail address

String

ecom@maillinator.com

Phone number

number

07865432456

Title

String

Mr

First name

String

Manual

Last name

String

Tester

Country

String

United Kingdom

Address

String

44 Aldwick Court

Address Line 2

String

Cell Barnes Lane

Address Line 3

String

 

City

String

St. Albans

Postcode

String

AL1 5QQ

 

 

 

 

Test Payment Details

Payment type -Credit Card

Attribute

Data Type

Data

Name on Card

String

Mr Manual Tester

Card number

Number

1111 1111 1111 1111

Expiry Date – month

Date

04

Expiry Date – year

date

2022

Security Code

Number

444

Billing address

String

44 Aldwick Court

Cell Barnes Lane

St. Albans

AL1 5QQ

PayPal Details

Attribute

Data Type

Data

Email address

String

ecom@maillinator.com

password

String

mypassword

 

The product data contained in the XML file had some requirements to pass validations within Google Merchant Centre. Google Merchant Centre required us to follow the product data specification to format the product information required for integrating into Google shopping ads. Product data needs to be formatted the right way for them to successfully make it into google shopping ads. The following are details of basic product data requirements for the XML, as specified by the Google Merchant Centre product specification website:


Attribute

Minimum Requirements

Data Type / Data length /Format

Required - Comments

Id (SKU code, product code)

Product unique Identifier

 

 

Use the product’s SKU code. Use only valid Unicode characters. Avoid invalid characters such as control, function or private area characters.

String

 

Max – 50 characters

Yes – GMC will reject any product without a unique identifier.

 

I have checked that the product data file contains an ID attribute for all products. And the ID attribute does not exceed 50 characters.

Title

Product’s Name

 

Accurately describes your product and match the title form the landing page

Exclude promotional text such as ‘free delivery’, all Capital letters or gimmicky foreign characters

For Variants – include features such as colour or size

String

Max – 150 characters

Yes – GMC will reject any product without a product’s title

Description

Product’s Description

 

Accurately describes your product and match the title form the landing page

Exclude promotional text such as ‘free delivery’, all Capital letters or gimmicky foreign characters

Only include information about the product.

Exclude links to shop, sales info, details about competitors, other products or accessories.

Use formatting (line breaks, lists, italics

String

 

Max – 5000 characters

Yes - GMC will reject any product without a product’s description.

 

I have checked that each description attribute is not empty and does not exceed 5000 characters. And it would have provided an error and rejected if it exceeded 5000 characters.

Link

Product’s landing page.

URL

 

 

Use the verified domain name

Start with HTTP or https

String

Yes - GMC will reject any product without a product’s link or landing page.

Image_link

Product image within the URL or landing page

 

For the image URL:

Link to the main image of your product

Start with HTTP or https

For the image:

‘For non-clothing products, use an image of at least 100 x 100 pixels

For clothing products, use an image of at least 250 x 250 pixels

Don't submit an image larger than 64 megapixels or a file larger than 16 MB

Don't scale up an image or submit a thumbnail

Don't include promotional text, watermarks or borders

Don't submit a placeholder or a generic image. Exceptions:’

 

Jpg/ jpeg, PNG, BMP, gif, Tiff

Yes - GMC will reject any product without a product’s image link.

Additional image_link

Meets the requirements for the image-link attribute

 

‘Meet the requirements for the image_​link attribute with these exceptions:

The image can include product staging and show the product in use

Graphics or illustrations can be included

Submit up to 10 additional product images by including this attribute multiple times’

As above

 

Max- 2000 characters

Optional

Mobile_link

Your product’s mobile landing page -When you have a different URL for mobile and desktop traffic

 

 

Meets the requirements for the link attribute

URL

String

 

 

Max- 2000 characters

Optional

Price Availability

Product stock availability – in stock

-out of stock

-preorder

 

 

‘Accurately submit the product's availability and match the availability from your landing page’

 

Yes – the product will be rejected by google ads if there are no details of stock availability

Availability Date

The date that a preordered product becomes available for delivery.

 

YYYY-MM-DD

YYYY-MM-DDThh:mm: ss

YYYY-MM-DDThh:mm: ss

 

 

 

 

 

 

 

 

 

Use attribute -availability

Max – 25 alphanumeric characters

 

Date type –

 

 

Optional

Cost_of_goods_sold

Costs of the product.

 

 

‘These costs may include material, labour, freight and other overhead expenses. By submitting the COGS for your products, you gain insights about other metrics, such as your gross margin and the amount of revenue generated by your Shopping ads.’

Numeric

Optional

Expiration_date

The date that the product should stop showing

 

 

YYYY-MM-DD

YYYY-MM-DDThh:mm: ss

YYYY-MM-DDThh:mm: ss Z

Date

Max 25 alphanumeric characters

Optional

 

 

 

 

 

 

 

Product price

 

Price of products and currency

Landing page should include the price in currency.

The product can be purchased online with the submitted price.

Price should not be 0 unless the product is of a mobile device.

Numeric

Yes, - Products without Price will be rejected by google ads.

 

 

Sale_Price

Product’s sale price

 

Must meet the requirements for the price attribute.

Sale-price can be submitted in addition to the price attribute.

Match the sale_price to the price of the landing page.

Numeric with currency

Optional

Brand

Your product’s brand name

 

Provide your shop name as a brand.

Manufacturer or supplier’s name can be placed under the bran attribute

Max- 70 characters

Yes-

MPN

Product’s manufacturer part number

 

 

 

 

 

Submit MPN assigned by a manufacturer

Max – 70 alphanumeric characters

Yes

Condition

The condition of your product at the time of sale. For example ‘new’, ‘refurbished’.

String

Yes

Age_group

 

For all clothing item that focuses on the UK, as well as all

For example:

Infant

Newborn

Adult.

 

 

 

 

 

Include one per product.

 

Don’t use numbering such as 0, 2, 4

 

String

Yes

Colour

Product’s colour Example, red, black

 

 

 

Don’t use characters that aren’t alphanumeric #ff990

 

Max – 100 alphanumerics.

Yes

Gender

The gender for which the product is intended

 

Example: female, unisex, male

 

Yes

Size

XL

Small.

Max- 100 characters.

Yes

Shipping (delivery)

Product’s delivery cost in currency.

 

Yes


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.

3.    Upload google sheet file

Testing with google sheet

Pass Google Merchant Centre validations and product details accepted onto Google ads.

4.    cron data Feedn- XML file

Testing with cron data feed

Pass Google Merchant Centre validations and product details accepted onto Google ads.

Test Execution

System manual Test

To carry out the manual test on the Google Merchant Centre(GMC), I logged into Google Merchant Centre. Under Products => Feeds, on the left panel, I uploaded the Product data XML file into the feed which in turn was validated by Google Merchant Centre.



The above screenshots show errors associated with incorrect URL info of the product data. This was because Google Merchant Centre was expecting the production URL, and here I was testing with the test environment URLs. 

I started by analysing if the data contained in the file would pass GMC validation process. I applied boundary value techniques to check that the id, description and other values stated in the test data table above, were within the accepted maximum data length. Also, the boundary value technique was applied at the checkout for the phone number(11 digits) that begins with 07 or 01 or 02 or 03; credit card number(16 digits), security code ( 3 digit number).

I examined the product data by converting it into CSV. And further analysis was done by converting the CSV file into google sheets.


In the above screenshot, the product data file was big, so I decided to analyse the data with just one record. The format here is Google Sheets. Converting the test files into different file formats for GMC test feed, gave me the chance to analyse data within the file. Here, I was able to conclude the errors form GMC.

I used my initiative to analyse the data, by providing the Google merchant Centre feed with different file format, address the errors, and therefore, provide the stakeholders and developer with the appropriate feedback. I am a self-motivated individual, who goes the extra miles to execute my judgement. It was required to provide XML file to Google Merchant Centre, but I was able to experiment and investigate exactly which part of the data was causing the errors.  Being creative here and exploring ideas, I found some of the attributes, such as ‘country’, ‘id’, and ‘description’, was not quite what Google Merchant Centre required.

Test cases & Test Results

Test Results are presented in the Test Results -Below. Tests were designed using an excel spreadsheet. The manual test was conducted with different test file formats, for example, CSV, XML(without Cron with google sheets).







Causes of Defects

The root cause of test failure on Google merchant centre

The product data in the XML were missing attributes of which google merchant centre requires and therefore rejects if missing. Attributes such as image, age group, colour, gender, and size. These were explained to the rest of the team. Below is the list of errors:

  • Missing value [image link]Dynamic Remarketing, Shopping ads (edited) 
  •  
  • Missing recommended attribute for apparel [age group]
  •  
  • Missing recommended attribute for apparel [colour]
  •  
  • Missing recommended attribute for apparel [gender]
  •  
  • Missing recommended attribute for apparel [size]

 

The above errors were logged on Jira as defects/bugs. Please, find the details below:

Google Merchant Centre (GMC) Feeds - Defect Reports on Jira - a


 

Google Merchant Centre (GMC) Feeds - Defect Reports on Jira - b


Google Merchant Centre (GMC) Feeds - Defect Reports on Jira – c


Google Merchant Centre (GMC) Feeds - Defect Reports on Jira – d


Traceability Matrix

 Traceability matrix shows the relationship between the Jira ticket requirement, test cases and defects reported.

Business Requirement

Test Cases ID

Defects

Ecom-1701 GMC automate and implement hosted export via Cron

 

TC_gmc_1

TC_gmc_2

TC_gmc_3

 

1.     

2.    ECOM-1708

Data Errors on E-com Google Merchant data file

 

 

  1. ECOM-1707
  2. Acquia environment clean-up

 

TC_gmc_4

-

 


Find part 3 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....

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

Performance Testing

  Performance Testing As part of the Quality Assurance Test Approach, each tester has to implement performance testing within its product team. In this section of the project, I will be using Apache JMeter as the testing tool for the test approach. Apache JMeter is an open-source performance testing tool for load, stress and many more testing. Screenshot from: https://www.youtube.com/watch?v=817zU_bXh9Y&list=PLUDwpEzHYYLs33uFHeIJo-6eU92IoiMZ7 JMeter works by creating a request to a target server(website), the server then responds, saves responses, collects, calculate statistics, return results to request and then generate reports.