Test plan for component: gnome-software
Component Checklist: https://wiki.ubuntu.com/Process/Merges/Checklists/Common
Upstream project: https://wiki.gnome.org/Apps/Software
Ubuntu Packaging Branch:
Ubuntu Package URL (LP): https://launchpad.net/ubuntu/+source/gnome-software
PPA (LP): ppa:ubuntu-desktop/gnome-software
Description
This is a test plan for gnome-software as used by Ubuntu Desktop. It covers the standard features of Gnome Software as well as the support for snap packages.
Initial set up
- Install latest Ubuntu Desktop development release
- Install gnome-software from (PPA ppa:ubuntu-desktop/gnome-software ? -proposed)
$ sudo apt-add-repository ppa:ubuntu-desktop/gnome-software $ sudo apt update $ sudo apt upgrade $ killall gnome-software
- Then start gnome-software
Or if the package is in proposed Enable Proposed instead of installing from the PPA.
Manual Tests
Test Plan Summary
- General functionalities
- Search
- Navigation
- ‘All apps’ screen functionalities
- ‘Installed apps’ screen functionalities
- List of apps actually installed
- ‘Updates’ screen functionalities
- Update package cache
- Install all updates
- ‘App details’ functionalities
- Sections of the screen are properly filed
- Install
- Remove
- Open
- Reviews
- Snap specific cases, on desktop, open gnome-software:
- The tests cover the most basic features for snapd search, login to the store, install and remove
Test Sets
General Functionalities
Search
Show / Hide search (skip for Xenial - this search entry is always shown in gnome-software 3.20)
- Click on the magnifying glass
- Verify that the search field is displayed
- Click on the magnifying glass again
- Verify that the search field is hidden
- Click on the magnifying glass
For all the following test cases, the search field must be displayed. Besides they assume that the package cache is up to date. Between each test, click on the magnifying glass twice to hide/show the search field and reset the search.
Existing application packaged as deb (installed)
- Enter the string 'gnome-software'
- Verify that the result contains only 1 line with gnome-software.
- Verify that the icon of the application is displayed properly (not a 'missing' icon)
- Verify that the rating of the application is displayed (dark and light grey stars)
- Verify that the description is displayed and matched the description of gnome-software.
- Verify that 'installed' is displayed.
- Verify that clicking on the line shows the detailed description of the application.
- Enter the string 'gnome-software'
Description of the application as a deb is translated
- Switch the language of the desktop environment to 'French'
- Enter the string 'gnome-software'
- Verify that the description is in French
Existing application packaged as deb (not installed)
Pre-requisite: The application 'entangle' must not be installed
- Enter the string 'entangle'
- Verify that the result contains only 1 line with the application.
- Verify that the icon of the application is displayed properly (not a 'missing' icon)
- Verify that the rating of the application is displayed (dark and light grey stars)
- Verify that the description is displayed and matched the description of the application.
- Verify that 'installed' is not displayed.
- Verify that clicking on the line shows the detailed description of the application.
Existing application packaged as snap (installed)
Pre-requisite: The application 'hello-unity' must not be installed
- Enter the string 'hello-unity'
- Verify that the result contains only 1 line with the application.
- Verify that the icon of the application is displayed properly (not a 'missing' icon)
- Verify that the rating (if any) of the application is displayed (dark and light grey stars)
- Verify that the description is displayed and matched the description of gnome-software.
- Verify that 'installed' is displayed.
- Verify that clicking on the line shows the detailed description of the application.
Existing application packaged as snap (not installed)
Pre-requisite: The application 'hugo' must not be installed
- Enter the string 'hugo'
- Verify that the result contains only 1 line with the application.
- Verify that the icon of the application is displayed properly (not a 'missing' icon)
- Verify that the rating of the application is displayed (dark and light grey stars)
- Verify that the description is displayed and matched the description of the application.
- Verify that 'installed' is not displayed.
- Verify that clicking on the line shows the detailed description of the application.
Mixed results (deb, snap, installed and not installed)
- Search for 'krita'
- Verify that the list contains 2 results: 1 line for the snap package and 1 line for the debian package.
- Search for 'krita'
No match
- Search for 'non-existent'
- Verify that the list is empty and the message 'No match found' is displayed.
- Search for 'non-existent'
Number of characters in search string
- Type slowly in the search field 'ge'
- Verify that no search is performed
- Type 'd'
- Verify that a search is performed and the application 'gedit' is in the list of results
- Append 'it' in the search field
- Verify that the search is narrowed down and the number of results is smaller.
- Type slowly in the search field 'ge'
Multi words search
- In the search field type "gnome software"
- Verify that 'gnome-software' is in the list of results.
- In the search field type "gnome software"
Special characters
I could not find a good example of package. Maybe this test is not useful
Several searches in a row
- Type 'gimp' in the search field
- Verify that 'gimp' is in the list of results
- Type 'editor' in the search field
- Verify that the result contains several record matching the search string.
- Type 'gimp' in the search field
Search relevance
TODO: Not sure what the heuristic is here
Navigation
Tab bar
- Click on 'All'
- Verify that the 'All' section is diplayed
- Verify that the action on the upper right is 'Search' (magnifying glass)
- Click on 'Installed'
- Verify that the 'Installed' section is displayed
- Verify that the action on the upper right is 'Select' (check mark)
- Click on 'Updates'
- Verify that the 'Updates' section is displayed
- Verify that the action on the upper right is 'Update all'.
- Click on 'All'
Menu 'Software & updates'
Click on Software menu and select 'Software & Updates'
- Verify that software properties opens
- Menu 'About'
- Click on Software menu and select 'About'
- Verify that the about dialog opens.
- Click on Software menu and select 'About'
- Menu 'Quit'
- Click on Software menu and select 'Quit'
- Verify that the application exits.
- Click on Software menu and select 'Quit'
All Apps
Page Sections
- Check the content of the page
- Verify that the following sections are displayed in that order
- Featured Application
- Categories
- Editor's pick
- Verify that the following sections are displayed in that order
- Verify that none of them is empty.
- Check the content of the page
Featured application
- Check the featured application
- Verify that an image is displayed to illustrate the application
- Click on the image
- Verify that it opens the detailed page of the application
Categories
- Check the section
- Verify that 6 categories are displayed when the section is folded
- Click on the arrow below the categories
- Verify that the section ufolds
- Verify that 9 categories are displayed
Click on 'Audio & Video'
Verify that the 'Audio & Video' category is displayed and All is selected
- Verify that the subcategories are displayed
- Verify that the applications listed match the category
Click on back (top left button) and click on 'Games'
- Repeat previous verifications with 'Games'
- Check the section
- Check the featured application
Editor's Picks
Check the Editor's Picks section.
- Verify that several applications (packaged as snap or deb) are displayed
- Verify that a check mark is displayed on the top right corner of the card for installed card and nothing otherwise
- Verify that all the applications have an icon
- Verify that ratings are displayed for applications with ratings (eg gedit)
- Click on the first application
- Verify that the detailed page of the application is displayed
Click on back and click on the second application
- Verify that the detailed page of the application is displayed
Installed
Pre-requisite: You must be an administrator of the system under test to perform most of these tests.
Content of the page
- Check the content of the page
- Verify that only installed applications are displayed.
- Verify that the list contains debian packages and snap packages (use dpkg -l and snap list from the command line to double-check)
Verify that a remove button is displayed on the right of the screen.
- Scroll down to the bottom of the list
Verify that and Add-ons subsection is displayed
- Check the content of the page
Uninstall a debian package
- Pre-requisites:
- Install 'krita' on the system
- Identify 'krita' in the list
- Click on 'Remove'
- A confirmation dialog is displayed
Click on Remove to confirm the removal
- A password dialog is displayed to grant admin privileges, enter your password and authenticate
- Verify that the removal is performed
- Verify that the application is not on the list anymore
- Open a terminal and verify with dpkg that the application is uninstalled
- Pre-requisites:
An uninstalled application (deb) can be reinstalled
- Go to the 'All' tab
- Click on 'Search'
- Enter 'krita'
- Verify that the list shows 2 results: One for the debian package and one for the snap package
- Verify that the debian package is not marked as 'Installed'
- Click on the line of the debian package to open the detailed page
- Click on 'Install'
- After a successful installation, verify that the application is installed with dpkg
- Go back then to the 'Installed' tab
- Find 'krita' in the list of installed applications
Uninstall a snap package
- Pre-requisites:
- Install the snap version of 'openscad-plars' on the system
- Identify 'openscad-plars' in the list
- Click on 'Remove'
- A confirmation dialog is displayed
Click on Remove to confirm the removal
- A password dialog is displayed to sign in to the Snap Store, enter your password and authenticate
- Verify that the removal is performed
- Verify that the application is not on the list anymore
- Open a terminal and verify with snap that the application is uninstalled
- Pre-requisites:
An uninstalled application (snap) can be reinstalled
- Go to the 'All' tab
- Click on 'Search'
- Enter 'openscad'
- Verify that the list shows 2 results: One for the debian package and one for the snap package
- Verify that the debian package is not marked as 'Installed'
- Click on the line of the snap package to open the detailed page
- Click on 'Install'
- After a successful installation, verify that the application is installed with snap
- Go back then to the 'Installed' tab
- Find 'openscad' in the list of installed applications
- Uninstall several packages (mix of deb and snap)
TBD: Removal of snap packages crash gs
Updates
At least one update available
- Pre-requisite: At least one package must be updated
- Check that the number of packages to update is displayed on the name of the tab
- Click on 'Install all updates'
- Check the the packages are updated.
- Pre-requisite: At least one package must be updated
Update packages cache - no updates
- Pre-requisite: Apply all the updates on the system
- Check that there is no number of packages to install displayed on the name of the 'Updates' tab
- Click on the 'refresh' icon (top left corner)
- Check that the package cache is refreshing
- Check that the message "Software is up to date" is displayed with the date of the last update
- Check that there is still no number of packages to install displayed on the name of the 'Updates' tab
- Click on 'Update All'
- Check that this action has no effect
- Pre-requisite: Apply all the updates on the system
To verify that actions on apt triggered by gnome-software check the entries in the journal for org.debian.apt. In a terminal run the following command:
journalctl -torg.debian.apt
Package details
Content of the page
- Pre-requisite: gnome-clocks must not be installed
- Search for 'clock' and select 'Gnome Clocks'
- Verify that the page contains:
- A title and a short desctription
- Rating with stars
- One or several screenshots
- A detailed description
- Detailed ratings
- User's comments
- Verify that the page contains:
Install a package
- Pre-requisite: gnome-clocks must not be installed
- Search for 'clock' and select 'Gnome Clocks'
- Click on 'Install'
- When the password dialog shows up enter your administrator's password
- Verify that the installation ends successfully
- Verify that the application is installed (use dpkg on the command line)
- Verify that the 'Install' button is replaced by 'Launch' and 'Remove' buttons
Launch an application
- Pre-requisite: gnome-clocks must be installed
- Go to the detailed page of the application
- Click on 'Launch'
- Verify that the application starts
Remove a package
- Pre-requisite: gnome-clocks must be installed
- Go to the detailed page of the application
- Click on 'Remove'
- When the confirmation dialog shows up, confirm the removal
- When the authentication dialog shows up enter the password of the administrator
- Verify that the application is removed (use dpkg on the command line)
- Verify that the 'Launch' and 'Remove' buttons are replaced by 'Install'
Install a 3rd party debian package
Visit https://www.google.com/chrome/ in Firefox and download Chrome.
- Open with "Software Install"
- Verify that the Ubuntu/GNOME Software app starts and shows a basic page about Google Chrome
- Click Install.
- Verify that Google Chrome installs
TODO
- Add negative test cases
- Add test cases for application add-ons (eg gnome-software plugin)
- Add non-functional test cases (performance on startup, search, ...)