Page tree
Skip to end of metadata
Go to start of metadata

Problem

Occasionally there are regressions that occur that we simply do not detect. This can happen because we don't test all the behaviour with every release, or it can happen because we don't test on every browser.

Solution

We could create a suite of system tests that cover the core functionality of AdminCentral UI. 

The goal of the tests is

  • detect any regressions that occur
  • test on main supported platforms
  • cover as much functionality as possible
  • to not be too difficult or time-consuming to perform the tests
  • to not be too difficult to time-consuming maintain the tests

Implementation

The tests could be automated with Selenium.

The tests could be performed manually. Manual is time-consuming - but has the advantage that it can be done immediately and is very flexible.
I would think we dont need a big process around the testing, simply a page with each script as a list of steps and expected results. The tester would simply create Jira tickets when steps did not have the expected results. It would then be a step in the sprint - to perform the integration tests. Any developer should also use the integration tests to verify that their changes did not break the associated area.

Proposal for test scripts

ShellApps and App navigation

Tests opening and closing Shell apps, opening and closing Apps, interaction of Shell apps and Apps, temporary app groups, and the ordering of the App Stack.

Time to perform test manually: 2 minutes.

ActionExpected Result
Login as superuserAppslauncher displayed.
Shell apps 
Click Pulse shellappPulse icon is hilighted.
Pulse displayed. 
Click Dashboard tabDashboard view displayed.
Click on green background to left of pulseAppslauncher icon is hilighted.
Appslauncher view is displayed.
Click Favorites shellappFavorites icon is hilighted.
Favorites view displayed.
Click Favorites shellapp

Appslauncher icon is hilighted.
Appslauncher view is displayed. 

Click Tools group tileTools app tiles are displayed.
Click Dev group tileDev app tiles are displayed.
App & Shellapp interactions 
Click Showcase app tile

Showcase app opens.

Click Favorites shellappFavorites shell app is displayed.
Click Favorites shellappFavorites shell app is removed, revealing Showcase app again.
Appstack ordering 
Click Appslauncher shellappAppslauncher shell app is displayed.
Click Configuration app tileConfiguration app is displayed.
Click Appslauncher shellappAppslauncher Shell app is displayed.
Click Assets app tileAssets app is displayed.
Click Appslauncher shellapp

Appslauncher Shell app is displayed.

Click Configuration app tileConfiguration app is displayed.
Click close button.Configuration app is closed, revealing the Assets app.
Click close button.Assets app is closed, revealing the Showcase app.
Click close button.Showcase app is closed, revealing the Appslauncher.
Click Dev group tile.Dev App group is closed.

 

Pages App

Tests creating and deleting a page, adding and removing components to a page, and the chooser dialog for Pages, Assets, Contacts apps.

Time to perform test manually: 6 minutes.

ActionExpected Result
Login as superuserAppslauncher displayed.
Click Pages app tilePages App is displayed.
Create page 
Click toggle on demo-project item.Children of demo-project are displayed.
Click demo-project item.

demo-project row is hilighted.
demo-project row checkbox is checked.

Click "Add page" actionAdd page dialog is displayed.

Enter values:
Page Name: test-section
Page Title: Test Section
Template: Section

Click "Save Changes" 

New "test-section" item is added as child of "demo-project" item.
Click test-section item.test-section row is hilighted.
Click "Edit page"Page editor opens with "test-section" page.
Page Chooser 
Click add icon in "New Extras Component" rectangle.

Add component dialog is displayed.

Select component: "Internal Page Teaser".
Click "Choose" button. 
Teaser dialog is displayed.
Click "Select..." buttonPages chooser dialog is displayed.
Click "demo-project" row.
Click "Choose" button. 
Teaser dialog is displayed again with Page field set to "/demo-project".
Click "Save Changes" button.Page Editor reloads page, now the Home teaser is displayed in the "Extras" area with the word "Home" and an image.
Contact Chooser 
Click the "Extras" edit bar."Extras" edit bar is colored dark green.
It's child  "Internal Page Teaser" is coloured light green.
Click add icon in "New Extras Component" rectangle.

Add component dialog is displayed.

Select component: "Contact".
Click "Choose" button. 
Contact dialog is displayed.
Click "Select ..." button.

Contact chooser dialog is displayed.

Click "Pablo Picasso" row.
Click "Choose" button. 
Contact dialog is displayed with information and image of
Pablo Picasso. 
Click "Save Changes" button.Page Editor reloads page, now the Contact is displayed in the "Extras" area with the word "Cubism" and an image of picasso.
Asset Chooser 
Click on text "Home" of the previously added Internal Page Teaser.Internal Page Teaser editbar is colored dark green.
Click edit icon in the Internal Page Teaser edit bar.Internal Page Teaser dialog is displayed.
Click "Teaser Override" tab.Teaser Override tab is displayed.
Click "Select Asset..." button.Asset chooser dialog is displayed.
Click top left image of board room.Image is hilighted.
Click "Choose" button.Teaser dialog is displayed.
Image field contains: "/demo-features/stage/component/940x320_demo01" 
Click "Save Changes" button.

Page Editor reloads page, now the Teaser displays the new image.

Click on "Home" of the added Internal Page Teaser.Internal Page Teaser editbar is colored dark green.
Click delete icon in the Internal Page Teaser edit bar.Page Editor reloads page, now the Teaser is gone.
Delete page 
Click close icon on Page Editor subapp tab.Page Editor subapp is closed.
Main Pages subapp is displayed. 
"test-section" item is still selected. 
Click "Delete page" action button."test-section" item is removed.

Assets App

 

 

  • No labels

2 Comments

  1. Have you considered tools like FIT ? (Someone mentioned another one to me recently, let me dig it up if there's interested). Essentially it provides a "framework" to not only code your tests (I think you're free to do that any way you want) but also present them in a human-readable manner (i.e very similar to the above tables)

  2. I was not aware of those. For now I guess there is not a high demand - as in the last sprint (alpha 4) the integration tests using selenium have been ressurected.