QA/IAM/TestPlan: Difference between revisions

From MozillaWiki
< QA
Jump to navigation Jump to search
(correction)
 
(29 intermediate revisions by one other user not shown)
Line 1: Line 1:
== Overview ==
=Overview=
This test plan covers the general weekly testing that will happen against 'Identity and Access Management' product in the Stage Test environment.  
*This test plan covers the general weekly testing that will happen against 'Identity and Access Management' product. The goal is to ensure a defined and consistent amount of quality and usability in the server and client side.
The goal is to ensure a defined and consistent amount of quality and usability in the server side and client side.
=Background=
*Mozilla Persona is a cross-browser login system for the Web, working on all major browsers
*Because the metrics shown that usage of persona.org is low and has not grown over the last two years, persona will no longer actively developed by Mozilla.
*The operational and security support of the persona.org services is provided until November 30th, 2016, when Mozilla will shut down the persona.org services (Persona.org and related domains will be taken offline)
*For more information: https://wiki.mozilla.org/Identity/Persona_Shutdown_Guidelines_for_Reliers
=Objective=
*Identity and Access Management work provides an identified replacement for persona which outlines a future integration of LDAP with mozillians.org


== Strategy ==
=Strategy=
Identity and Access Management work:
*Create a consistent and repeatable set of tests for qualifying and releasing the builds
*aligned with IT on a common plan
*The focus needs to be on quality, but also on providing accurate feedback on successes and issues to the team, so that the Production releases provide a useful product for the Mozilla and development communities.
*identified replacement for persona
**Exploratory testing on the client and server side
*outlined future integration of LDAP with mozillians.org
**Create useful client-side and server-side test cases
*auth0 will replace persona
**Put accent on security and privacy issues that might come up across OS, browsers, accounts(emails and passwords)
== Scope of Testing ==  
**Identifying and tracking issues in GitHub and Bugzilla.
*Client-side testing will cover the following areas: basic functionality and UI, accounts and emails, interaction with the Server, security and privacy, usability and compatibility across OS and browsers.
**Provide useful metrics
=Scope of Testing=
*Client-side testing will cover the following areas: basic functionality and UI, accounts and emails, interaction with the server, security and privacy, usability and compatibility across OS and browsers.
*Server-side testing will cover the following areas: basic functionality, support for multiple client sites, user security and privacy, information handling and storage, information persistence across deployments, and logging.
*Server-side testing will cover the following areas: basic functionality, support for multiple client sites, user security and privacy, information handling and storage, information persistence across deployments, and logging.
 
=Target Readership=
== General Test Information ==
*This document is written for the following readership:
=== Links and Documentation ===  
**Since this is a public-facing product, we need to make sure that the Mozilla community can access, test, and develop around a solid product
*Auth0 Implementation Roadmap:
**Development team
**https://docs.google.com/presentation/d/1Cd_UDM-ncdiVDGrwuBSOl0d8YhiYTXE1QuXifTsj4zA/edit#slide=id.g1655979439_0_0
**Engineering group
**Management
=General Test Information=
==Links and Documentation==  
/edit#slide=id.g1655979439_0_0
*Tracking work:
*Tracking work:
**https://tree.taiga.io/project/pierros-mozilla-particiaption-systems/kanban
**https://tree.taiga.io/project/pierros-mozilla-particiaption-systems/kanban
=== Weekly Test Schedules ===
==Weekly Test Schedules==
*Unknown yet
*Unknown yet
=== Weekly Meetings ===
==Weekly Meetings==
*Participation Systems Standup: every Tuesday, Thursday from 5pm to 5:15pm  in Pierros's Vydio
*Participation Systems Standup: every Tuesday, Thursday from 5pm to 5:15pm  in Pierros's Vydio
*Sprint Review / Retro / Planning: every Monday from 3pm to 5:30pm in Henrik's Vidyo
*Sprint Review / Retro / Planning: every Monday from 3pm to 5:30pm in Henrik's Vidyo
=== Email and IRC===
==Email and IRC==
*Post  
*Post to:
*email List: parsys@mozilla.com
**email List: parsys@mozilla.com
*Google Group: https://groups.google.com/a/mozilla.com/forum/#!forum/parsys
**Google Group: https://groups.google.com/a/mozilla.com/forum/#!forum/parsys
*IRC: #parsys  
**IRC: #parsys  
*Team:
*Team:
**Henrik Mitsch(:hmitsch)
**Henrik Mitsch(:hmitsch) - owns Community Analytics and Volunteer Management Systems
**Arielle - currently not on the team, will be back 01 JAN 2017
**Arielle - currently not on the team, will be back 01 JAN 2017
**John Giannelos(:nemo-yiannis) - development on reps.mozilla.org, mozillians.org and supporting the infrastructure
**John Giannelos(:nemo-yiannis) - development on reps.mozilla.org, mozillians.org and owns infrastructure fortification
**Nikos Roussos(:nikos) - front-end
**Nikos Roussos(:nikos) - front-end
**Pierros Papadeas(:pierros) - eng management for the team
**Pierros Papadeas(:pierros) - eng management for the team and owns the IAM packages B and C
**Anastasios Katsoulas(:tasos) - web dev on mozillians
**Anastasios Katsoulas(:tasos) - web dev on mozillians and owns technical debt reduction
**Yousef Alam(:yalam96) -new infrastructure + community websites
**Yousef Alam(:yalam96) - owns Participation Infrastructure
**Teodora Vermesan(:TeoVermesan) - QA Engineer
**Teodora Vermesan(:TeoVermesan) - QA Engineer
**Ioana Chiorean (:ioanachiorean) - Release QA Mobile Team Lead  
*** Ioana Chiorean (:ioanachiorean) - Release QA Mobile Team Lead  
**Florin Mezei ((:florinmezei) - Project Manager (Release QA, WebQA, BuildDuty)
*** Florin Mezei ((:florinmezei) - Project Manager (Release QA, WebQA, BuildDuty)
 
==Bugs and Open Issues ==
== Bugs and Open Issues ==
*Bugzilla: mozillians.org & reps.mozilla.org
*Bugzilla: mozillians & reps
*Github: mozmoderator
*Github: mozmoderator
==Client and Server Test Environments==
==Client and Server Test Environments==
*development: http://mozillians-dev.allizom.org
*development: http://mozillians-dev.allizom.org
*staging: http://mozillians.allizom.org
*staging: http://mozillians.allizom.org
*production: http://mozillians.org
*production: http://mozillians.org
==Supported OS and Browsers==
*All information about supported platforms, operating systems, browsers, mobile devices will be kept in a Google doc spreadsheet
=Requirements for test=
==Environmental needs==
*target mostly desktop PC / laptop
*different mobile devices
==OS/Browser integration==
==Desktop==
*Verify compatibility/stability/functionality across different OS and browsers
**smoke/sanity/acceptance section
**Basic Functional and UI tests
**Click, zoom, scroll, multi-window
**Compatibility - review actions and processes that are unique to mobile devices
==Mobile==
*Berify compatibility/stability/functionality across Android and iOS tablets and phones
**smoke/sanity/acceptance section on phone/tablet
**Basic Functional and UI tests on phone/tablet
**Panning, zooming, scrolling, tab access and flow between tabs
**Compatibility - review actions and processes that are unique to mobile devices


== Supported OS and Browsers ==
==Network/Internet==
*All information about supported platforms, operating systems, browsers, mobile devices will be kept in a Google doc spreadsheet
*Verify the impact of various ways to access the internet: timing, communication, messaging, outages, errors, traffic
**Ethernet - personal vs. office, with and without VPN
**Public WiFi
**Private WiFi and other home setups
**3g, 4g


== Major Areas Focus ==
=Major Areas Focus=
==Functional testing==
*Will cover:
**full UI and functionality of the application
**both basic and edge, positive and negative cases
*Functional tests will be written in Test Rail, providing detailed test steps, expected and actual results for each test case
*Manual functional testing will be applied at two levels:
**Component testing – covers a specific feature and aims at validating its implementation and providing a list of issues affecting that specific component
**End-to-End testing – aims at delivering a clear view on the overall quality of the product and at providing a comprehensive list of issues affecting the application
*The full set of tests will also serve as a base to derive other test sets like: Smoke, Acceptance and Regression
===UI===
*Sign Up:
*Sign Up:
**Buttons:
**'SIGN UP' button
***Verify the page has a 'sign up' button
**'Email' field
***Verify the page has 'email' and 'password' field
**'Password' field
***Verify the page has both 'submit' and 'cancel'(x) buttons
**'Submit' and 'Cancel'(x) buttons
***Verify the page has 'Sign Up with other apps' option
**'SIGN UP WITH other apps' option
***Verify that the required/mandatory fields are marked with * against the field
*Confirm your Email UI
 
**verifying accurate "prove" link
**Form fields:
**confirm email verification from client-side and server-side
***Verify that clicking submit button after entering all the required fields, submits the data to the server
*Login:
***Verify that clicking cancel button after entering all the required fields, cancels the submit request and resets all the fields
**Verify that 'email field, 'password' field, "Not your account?" link, "Don't remember your password?" link are present
***Verify that not filling the mandatory fields and clicking submit button will lead to validation error  
**'Login with other apps' option is present
***Verify that not filling the optional fields and clicking submit button will still send data to server without any validation error
*Logout
***Verify that sign up with other apps works as expected
**'Log out' button
***Verify sign-up with:
===Full Functional===
****valid email, invalid password
*Sign Up:
****valid email, valid password
**Verify that clicking submit button after entering all the required fields, submits the data
****invalid email, invalid password
**Verify that clicking cancel button after entering all the required fields, cancels the submit request and resets all the fields
****invalid email, valid  password
**Verify that not filling the mandatory fields and clicking submit button will lead to validation error: "Can't be blank"
****different accounts using same email and password combos
**Verify that sign up with other apps works as expected
****a password email already in use
**Verify that sign up with an already verified email will lead to an error message: "The user already exists"
****an email already in use
**Verify sign-up with:
 
***valid email, invalid password
**Email Field:
***valid email, valid password
***Email strings/types
***invalid email, invalid password  
***Verify all legal combinations of characters
***invalid email, valid  password
***Copy/Pasting emails from other sources
**Verify email strings and all legal combinations of characters
***Auto-completion of emails
**Copy/Pasting emails from other sources
***Verify minimum/maximum sizes of emails (length)
**Auto-completion of emails
 
**Verify minimum/maximum sizes of emails (length)
**Password field:
**Verify password strings and all legal combinations of characters
***Password strings/types
**Copy/Pasting passwords from other sources
***Verify all legal combinations of characters
**Verify minimum/maximum sizes of passwords (length)
***Copy/Pasting passwords from other sources
**Verify that passwords are stored if "remember password" option is chosen
***Verify minimum/maximum sizes of passwords (length)
**Verify that passwords are not stored if "never remember password" option is chosen
***Verify that passwords are stored if "remember password" option is chosen
**Verify browser restart after creation of account or access of an account
***Verify whether or not passwords are stored client-side
***Verify whether or not passwords are stored on the server
 
**Email notification:
***Email notification for new accounts: verification email through email provider with proper email account listed, live verification link, etc.
***Check functionality when the user can not verify by email (email provider is down or user can not access email account for some reason)
***Check functionality when the user does not verify by email (skips, forgets)
 
*Login
*Login
**Verify: Email field, Password field, "Not your account?", "Don't remember your password?"
**Verify that if the user was already logged in with an account he can changed the account using the "Not your account" option or login with the previous one
**Login with:
**Login with:
***valid email, valid password
***valid email, valid password
Line 106: Line 141:
***valid email and password  
***valid email and password  
***with other apps
***with other apps
***simultaneously in two different browsers with the same email, then log out from one of the two browsers
***simultaneously in two different browsers with the same account
***with different emails for different clients in the same browser/different browser
***with different emails in the same browser/different browser
***with the same email for different clients in the same browser, then log out from one of the browsers
***an email if he did not confirm the used email
**Verify that the user cannot log in with an email if he did not confirm the used email
**Verify that the log in is kept when restoring a session after a browser crash  
**Verify that the log in is kept when restoring a session after a browser crash  
**Verify that a message gets displayed in case user leaves email or password field as blank  
**Verify that a message gets displayed in case user leaves email or password field as blank  
**Verify that a message is displayed in case user exceeds the character limit of the user name and password fields  
**Verify that a message is displayed in case user exceeds the character limit of the user name and password fields  
**Verify that there is reset button to clear the field's text
**Verify that the password is in encrypted form when entered  
**Verify that the password is in encrypted form when entered  
**Verify that there is limit on the total number of unsuccessful attempts  
**Verify that there is limit on the total number of unsuccessful attempts  
Line 119: Line 152:
**Verify if the password can be copy-pasted or not  
**Verify if the password can be copy-pasted or not  
**Verify that once logged in, clicking back button doesn't logout user
**Verify that once logged in, clicking back button doesn't logout user
 
***Verify email strings and all legal combinations of characters
***Copy/Pasting emails from other sources
***Auto-completion of emails
***Verify minimum/maximum sizes of emails (length)
***Verify password strings and ll legal combinations of characters
***Copy/Pasting passwords from other sources
***Verify minimum/maximum sizes of passwords (length)
***Verify that passwords are stored if "remember password" option is chosen
***Verify that passwords are not stored if "never remember password" option is chosen
*Logout
*Logout
**Verify application allows single sign off from all the devices.
**Verify application allows single sign off from all the devices.
**Verify application let’s you sign off for multiple accounts.
**Verify application let’s you sign off for multiple accounts.
**Verify application clears the session for the user after logout
**Verify if application takes more time for logout at different connection speeds
**Verify if application takes more time for logout at different connection speeds
**Verify the logout page redirects to the page where it allows login or homepage
**Verify the logout page redirects to the page where it allows login or homepage
**Verify the logout button or link works on all devices
**Verify the logout button or link works on all devices
 
*Email notification:
*Network: Verify the impact of various ways to access the internet
***Email notification for new accounts: verification email through email provider
**Ethernet - personal vs. office, with and without VPN
***Check functionality when the user can not verify by email (email provider is down or user can not access email account for some reason)
**Public WiFi
***Check functionality when the user does not verify by email (skips, forgets)
**Private WiFi and other home setups
**3g, 4g
 
*Other:
*Other:
**Login to the application with multiple accounts at the same time  
**Login to the application with multiple accounts at the same time  
Line 139: Line 176:
**Page crash should not reveal application or server info. Error page should be displayed for this
**Page crash should not reveal application or server info. Error page should be displayed for this
**Error messages should not reveal any sensitive information
**Error messages should not reveal any sensitive information
==Re-testing==
*Will be done as needed, in parallel with Regression Testing, by re-executing previously failed tests, to make sure fixes are properly verified and the full test set is properly updated according to the latest fixes, to provide a more accurate insight on the overall quality of the product
==Smoke testing==
*Will cover only the most basic functionality
*Will be performed on intermediary builds, to confirm that the build is testable and stable
==Exploratory testing==
*Examples of exploratory testing cover: investigating a certain area suspected of being more prone to issues, looking for bugs at a very early stage, investigating freshly implemented features to provide quick feedback to developers and the rest of the team
==Regression testing==
*Will cover basic cases and areas that are most affected by issues
*Its purpose is to identify potential regression caused by bug fixes and/or new features
==Acceptance testing==
*Will cover basic and critical functionality of the application
*It is aimed to prove that Release Candidate builds quality is acceptable for release
==Automated testing==
*TBD
==API testing==
*Will be performed with the purpose of verifying the sanity of the server (issues with the API will be identified early on, thus allowing the team to be informed and take necessary action)
==Non-Functional testing==
*Non-functional testing will be done at different stages in the product lifecycle, and will evaluate product/feature non-functional attributes including (but not limited to):
**Efficiency – Performance, Load, Stress


==QA Sign-Off for Stage==
==Localization==
*Complete all required testing for the current weekly train: resolved/closed issues, suggested areas for QA focus, specific features and areas of test coverage, automation, etc.
*Verify the UI flow with specific focus on localization, all text-based content
 
*Quick verification of localized headers
== QA Testing for Production ==


=Entry criteria=
*Testing will begin when the following criteria are met:
**Development team delivers a feature complete build to the QA
**The application is successfully deployed on the appropriate environment (including integrated components, depending on environment scope)
**Test cases, estimations and schedule has been reviewed and approved


== QA Sign-Off for Production ==
=Exit criteria=
*Testing will complete when:
**All test cases should be executed
**All blockers, criticals must be fixed and verified or have an agreed-upon timeline for being fixed

Latest revision as of 15:36, 6 October 2016

Overview

  • This test plan covers the general weekly testing that will happen against 'Identity and Access Management' product. The goal is to ensure a defined and consistent amount of quality and usability in the server and client side.

Background

  • Mozilla Persona is a cross-browser login system for the Web, working on all major browsers
  • Because the metrics shown that usage of persona.org is low and has not grown over the last two years, persona will no longer actively developed by Mozilla.
  • The operational and security support of the persona.org services is provided until November 30th, 2016, when Mozilla will shut down the persona.org services (Persona.org and related domains will be taken offline)
  • For more information: https://wiki.mozilla.org/Identity/Persona_Shutdown_Guidelines_for_Reliers

Objective

  • Identity and Access Management work provides an identified replacement for persona which outlines a future integration of LDAP with mozillians.org

Strategy

  • Create a consistent and repeatable set of tests for qualifying and releasing the builds
  • The focus needs to be on quality, but also on providing accurate feedback on successes and issues to the team, so that the Production releases provide a useful product for the Mozilla and development communities.
    • Exploratory testing on the client and server side
    • Create useful client-side and server-side test cases
    • Put accent on security and privacy issues that might come up across OS, browsers, accounts(emails and passwords)
    • Identifying and tracking issues in GitHub and Bugzilla.
    • Provide useful metrics

Scope of Testing

  • Client-side testing will cover the following areas: basic functionality and UI, accounts and emails, interaction with the server, security and privacy, usability and compatibility across OS and browsers.
  • Server-side testing will cover the following areas: basic functionality, support for multiple client sites, user security and privacy, information handling and storage, information persistence across deployments, and logging.

Target Readership

  • This document is written for the following readership:
    • Since this is a public-facing product, we need to make sure that the Mozilla community can access, test, and develop around a solid product
    • Development team
    • Engineering group
    • Management

General Test Information

Links and Documentation

/edit#slide=id.g1655979439_0_0

Weekly Test Schedules

  • Unknown yet

Weekly Meetings

  • Participation Systems Standup: every Tuesday, Thursday from 5pm to 5:15pm in Pierros's Vydio
  • Sprint Review / Retro / Planning: every Monday from 3pm to 5:30pm in Henrik's Vidyo

Email and IRC

  • Post to:
  • Team:
    • Henrik Mitsch(:hmitsch) - owns Community Analytics and Volunteer Management Systems
    • Arielle - currently not on the team, will be back 01 JAN 2017
    • John Giannelos(:nemo-yiannis) - development on reps.mozilla.org, mozillians.org and owns infrastructure fortification
    • Nikos Roussos(:nikos) - front-end
    • Pierros Papadeas(:pierros) - eng management for the team and owns the IAM packages B and C
    • Anastasios Katsoulas(:tasos) - web dev on mozillians and owns technical debt reduction
    • Yousef Alam(:yalam96) - owns Participation Infrastructure
    • Teodora Vermesan(:TeoVermesan) - QA Engineer
      • Ioana Chiorean (:ioanachiorean) - Release QA Mobile Team Lead
      • Florin Mezei ((:florinmezei) - Project Manager (Release QA, WebQA, BuildDuty)

Bugs and Open Issues

  • Bugzilla: mozillians.org & reps.mozilla.org
  • Github: mozmoderator

Client and Server Test Environments

Supported OS and Browsers

  • All information about supported platforms, operating systems, browsers, mobile devices will be kept in a Google doc spreadsheet

Requirements for test

Environmental needs

  • target mostly desktop PC / laptop
  • different mobile devices

OS/Browser integration

Desktop

  • Verify compatibility/stability/functionality across different OS and browsers
    • smoke/sanity/acceptance section
    • Basic Functional and UI tests
    • Click, zoom, scroll, multi-window
    • Compatibility - review actions and processes that are unique to mobile devices

Mobile

  • Berify compatibility/stability/functionality across Android and iOS tablets and phones
    • smoke/sanity/acceptance section on phone/tablet
    • Basic Functional and UI tests on phone/tablet
    • Panning, zooming, scrolling, tab access and flow between tabs
    • Compatibility - review actions and processes that are unique to mobile devices

Network/Internet

  • Verify the impact of various ways to access the internet: timing, communication, messaging, outages, errors, traffic
    • Ethernet - personal vs. office, with and without VPN
    • Public WiFi
    • Private WiFi and other home setups
    • 3g, 4g

Major Areas Focus

Functional testing

  • Will cover:
    • full UI and functionality of the application
    • both basic and edge, positive and negative cases
  • Functional tests will be written in Test Rail, providing detailed test steps, expected and actual results for each test case
  • Manual functional testing will be applied at two levels:
    • Component testing – covers a specific feature and aims at validating its implementation and providing a list of issues affecting that specific component
    • End-to-End testing – aims at delivering a clear view on the overall quality of the product and at providing a comprehensive list of issues affecting the application
  • The full set of tests will also serve as a base to derive other test sets like: Smoke, Acceptance and Regression

UI

  • Sign Up:
    • 'SIGN UP' button
    • 'Email' field
    • 'Password' field
    • 'Submit' and 'Cancel'(x) buttons
    • 'SIGN UP WITH other apps' option
  • Confirm your Email UI
    • verifying accurate "prove" link
    • confirm email verification from client-side and server-side
  • Login:
    • Verify that 'email field, 'password' field, "Not your account?" link, "Don't remember your password?" link are present
    • 'Login with other apps' option is present
  • Logout
    • 'Log out' button

Full Functional

  • Sign Up:
    • Verify that clicking submit button after entering all the required fields, submits the data
    • Verify that clicking cancel button after entering all the required fields, cancels the submit request and resets all the fields
    • Verify that not filling the mandatory fields and clicking submit button will lead to validation error: "Can't be blank"
    • Verify that sign up with other apps works as expected
    • Verify that sign up with an already verified email will lead to an error message: "The user already exists"
    • Verify sign-up with:
      • valid email, invalid password
      • valid email, valid password
      • invalid email, invalid password
      • invalid email, valid password
    • Verify email strings and all legal combinations of characters
    • Copy/Pasting emails from other sources
    • Auto-completion of emails
    • Verify minimum/maximum sizes of emails (length)
    • Verify password strings and all legal combinations of characters
    • Copy/Pasting passwords from other sources
    • Verify minimum/maximum sizes of passwords (length)
    • Verify that passwords are stored if "remember password" option is chosen
    • Verify that passwords are not stored if "never remember password" option is chosen
    • Verify browser restart after creation of account or access of an account
  • Login
    • Verify that if the user was already logged in with an account he can changed the account using the "Not your account" option or login with the previous one
    • Login with:
      • valid email, valid password
      • valid email, invalid password
      • invalid email ,invalid password
      • valid email and password
      • with other apps
      • simultaneously in two different browsers with the same account
      • with different emails in the same browser/different browser
      • an email if he did not confirm the used email
    • Verify that the log in is kept when restoring a session after a browser crash
    • Verify that a message gets displayed in case user leaves email or password field as blank
    • Verify that a message is displayed in case user exceeds the character limit of the user name and password fields
    • Verify that the password is in encrypted form when entered
    • Verify that there is limit on the total number of unsuccessful attempts
    • Verify that in case of incorrect credentials a message is displayed "incorrect username or password"
    • Verify if the password can be copy-pasted or not
    • Verify that once logged in, clicking back button doesn't logout user
      • Verify email strings and all legal combinations of characters
      • Copy/Pasting emails from other sources
      • Auto-completion of emails
      • Verify minimum/maximum sizes of emails (length)
      • Verify password strings and ll legal combinations of characters
      • Copy/Pasting passwords from other sources
      • Verify minimum/maximum sizes of passwords (length)
      • Verify that passwords are stored if "remember password" option is chosen
      • Verify that passwords are not stored if "never remember password" option is chosen
  • Logout
    • Verify application allows single sign off from all the devices.
    • Verify application let’s you sign off for multiple accounts.
    • Verify if application takes more time for logout at different connection speeds
    • Verify the logout page redirects to the page where it allows login or homepage
    • Verify the logout button or link works on all devices
  • Email notification:
      • Email notification for new accounts: verification email through email provider
      • Check functionality when the user can not verify by email (email provider is down or user can not access email account for some reason)
      • Check functionality when the user does not verify by email (skips, forgets)
  • Other:
    • Login to the application with multiple accounts at the same time
    • Check if everything works as expected in different browsers
    • Page crash should not reveal application or server info. Error page should be displayed for this
    • Error messages should not reveal any sensitive information

Re-testing

  • Will be done as needed, in parallel with Regression Testing, by re-executing previously failed tests, to make sure fixes are properly verified and the full test set is properly updated according to the latest fixes, to provide a more accurate insight on the overall quality of the product

Smoke testing

  • Will cover only the most basic functionality
  • Will be performed on intermediary builds, to confirm that the build is testable and stable

Exploratory testing

  • Examples of exploratory testing cover: investigating a certain area suspected of being more prone to issues, looking for bugs at a very early stage, investigating freshly implemented features to provide quick feedback to developers and the rest of the team

Regression testing

  • Will cover basic cases and areas that are most affected by issues
  • Its purpose is to identify potential regression caused by bug fixes and/or new features

Acceptance testing

  • Will cover basic and critical functionality of the application
  • It is aimed to prove that Release Candidate builds quality is acceptable for release

Automated testing

  • TBD

API testing

  • Will be performed with the purpose of verifying the sanity of the server (issues with the API will be identified early on, thus allowing the team to be informed and take necessary action)

Non-Functional testing

  • Non-functional testing will be done at different stages in the product lifecycle, and will evaluate product/feature non-functional attributes including (but not limited to):
    • Efficiency – Performance, Load, Stress

Localization

  • Verify the UI flow with specific focus on localization, all text-based content
  • Quick verification of localized headers

Entry criteria

  • Testing will begin when the following criteria are met:
    • Development team delivers a feature complete build to the QA
    • The application is successfully deployed on the appropriate environment (including integrated components, depending on environment scope)
    • Test cases, estimations and schedule has been reviewed and approved

Exit criteria

  • Testing will complete when:
    • All test cases should be executed
    • All blockers, criticals must be fixed and verified or have an agreed-upon timeline for being fixed