StateTransitionTestCases

Differences between revisions 1 and 10 (spanning 9 versions)
Revision 1 as of 2014-01-01 14:37:49
Size: 35
Editor: host-80-47-212-165
Comment:
Revision 10 as of 2014-01-02 19:42:55
Size: 4883
Editor: 89-168-6-168
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
StateTransitionTestStrategy here. = Introduction =

This specification should outline test cases for the logic and functionality of each state of the installer and the transition between these states. This suite of test cases should be independent and not care if either the installation completes or the functionality of other states of the installer.

Installation functionality is covered in the [[../InstallationTestCases|installation testcases]].

= Approval =

|| '''Author''' || || ||
|| Dan Chapman || [[LaunchpadHome:dpniel ]] || Ubuntu Member ||
|| '''Approved By''' || || ||
|| <name> || < lp profile > || < position > ||
|| || || ||

= Related Documents =

|| '''Ref #''' || '''Document Name''' || '''Link''' ||
|| 01 || Installer Design - Ubuntu Installation Process || [[http://goo.gl/H12x6V]] ||
|| 02 || Test Analysis and Specification for Ubiquity ||[[https://wiki.ubuntu.com/QATeam/AutomatedTesting?action=AttachFile&do=get&target=Test+analysis+and+specification+for+Ubiquity.pdf|Automated testing for Ubiquity]] ||
|| 03 || Ubiquity Test Plan || [[https://wiki.ubuntu.com/QATeam/AutomatedTesting/Ubiquity/UbiquityTestPlan|Ubiquity Test Plan]] ||
|| 04 || Installation Test Cases || ../InstallationTestCases ||

<<TableOfContents(3)>>

= Considerations =

Initially we will use a simple set of test cases, because ultimately we want to test that the installation is successful over testing logical functionality. Simple test cases are needed in order for the Installation Test Cases to be successful.

This document will be a work in progress and more test cases for logical functionality will be added once we have solid stable installation test cases.

== State Trasition Diagram ==

Link to state transition diagram [[attachment:trans_diagram.jpg]]

== Seperating Test Cases ==

To make testing each state of Ubiquity easier we can separate the UI into two sections. As you can see in the sections below we have objects that are present throughout the installation and objects that a relevant to a particular state of the installer. By separating them like this we can generate test cases for either Section 1, which would be test cases that should be run on every state of the installer, and Section 2 which would be test cases that are only run on a particular state of the installation.

There are situations throughout the install where Section 2 test cases will need to access the objects in Section 1 which should be handled gracefully.

=== Section 1 ===

Objects that are present throughout the install

{{attachment:UbiquityWindowConstants.png}}

=== Section 2 ===

Each step of the installer is embedded into a page of a !GtkNotebook, which we can use to separate each step from each other as well as objects present throughout

{{attachment:UbiquityPageSection.png}}


= Global Test Cases =

These are test cases that ideally will be ran on each state of the installer (not including transitioning)

|| '''Test Case Id:''' || TC-Ubiquity-Global-!EngVals-01 ||
|| '''Test Description:''' || On English installs test label values at each state ||
|| '''Assumptions:''' || English Installation Required. Configuration file containing vetted expected values to test against.||
|| '''Actions:''' || For each visible label ||
|| '''Expected Results:''' || Expect text value to equal vetted value in configuration file||

<<BR>>

|| '''Test Case Id:''' || TC-Ubiquity-Global-!NonEngVals-02 ||
|| '''Test Description:''' || On Non-English installs test label values at each state ||
|| '''Assumptions:''' || Non-English Installation Required.||
|| '''Actions:''' || For each visible label ||
|| '''Expected Results:''' || Expect text value to not be empty and is a valid Unicode string||

= Page Transition Test Cases =

|| '''Test Case Id:''' || TC-Ubiquity-Transition-01 ||
|| '''Test Description:''' || Test case for quitting the install ||
|| '''Assumptions:''' || Assumed we have not gone past either 'stepPartAsk', 'stepPartAdvanced' or 'stepPartCrypto' states ||
|| '''Actions:''' || For each visible label ||
|| '''Expected Results:''' || Expect text value to not be empty and is a valid Unicode string||

= Welcome Page Test Cases =

= Connect Wireless Page Test Cases =

= Preparing Page Test Cases =

= Installation Type Page Test Cases =

= Encryption Page Test Cases =

= Advanced Partition Page Test Cases =

= Location Page Test Cases =

= Keyboard Layout Page Test Cases =

= User Info Page Test Cases =

= Ubuntu One Page Test Cases =

= Progress Page Test Cases =

= Completion Dialog Test Cases =

Introduction

This specification should outline test cases for the logic and functionality of each state of the installer and the transition between these states. This suite of test cases should be independent and not care if either the installation completes or the functionality of other states of the installer.

Installation functionality is covered in the installation testcases.

Approval

Author

Dan Chapman

dpniel

Ubuntu Member

Approved By

<name>

< lp profile >

< position >

Related Documents

Ref #

Document Name

Link

01

Installer Design - Ubuntu Installation Process

http://goo.gl/H12x6V

02

Test Analysis and Specification for Ubiquity

Automated testing for Ubiquity

03

Ubiquity Test Plan

Ubiquity Test Plan

04

Installation Test Cases

../InstallationTestCases

Considerations

Initially we will use a simple set of test cases, because ultimately we want to test that the installation is successful over testing logical functionality. Simple test cases are needed in order for the Installation Test Cases to be successful.

This document will be a work in progress and more test cases for logical functionality will be added once we have solid stable installation test cases.

State Trasition Diagram

Link to state transition diagram trans_diagram.jpg

Seperating Test Cases

To make testing each state of Ubiquity easier we can separate the UI into two sections. As you can see in the sections below we have objects that are present throughout the installation and objects that a relevant to a particular state of the installer. By separating them like this we can generate test cases for either Section 1, which would be test cases that should be run on every state of the installer, and Section 2 which would be test cases that are only run on a particular state of the installation.

There are situations throughout the install where Section 2 test cases will need to access the objects in Section 1 which should be handled gracefully.

Section 1

Objects that are present throughout the install

UbiquityWindowConstants.png

Section 2

Each step of the installer is embedded into a page of a GtkNotebook, which we can use to separate each step from each other as well as objects present throughout

UbiquityPageSection.png

Global Test Cases

These are test cases that ideally will be ran on each state of the installer (not including transitioning)

Test Case Id:

TC-Ubiquity-Global-EngVals-01

Test Description:

On English installs test label values at each state

Assumptions:

English Installation Required. Configuration file containing vetted expected values to test against.

Actions:

For each visible label

Expected Results:

Expect text value to equal vetted value in configuration file


Test Case Id:

TC-Ubiquity-Global-NonEngVals-02

Test Description:

On Non-English installs test label values at each state

Assumptions:

Non-English Installation Required.

Actions:

For each visible label

Expected Results:

Expect text value to not be empty and is a valid Unicode string

Page Transition Test Cases

Test Case Id:

TC-Ubiquity-Transition-01

Test Description:

Test case for quitting the install

Assumptions:

Assumed we have not gone past either 'stepPartAsk', 'stepPartAdvanced' or 'stepPartCrypto' states

Actions:

For each visible label

Expected Results:

Expect text value to not be empty and is a valid Unicode string

Welcome Page Test Cases

Connect Wireless Page Test Cases

Preparing Page Test Cases

Installation Type Page Test Cases

Encryption Page Test Cases

Advanced Partition Page Test Cases

Location Page Test Cases

Keyboard Layout Page Test Cases

User Info Page Test Cases

Ubuntu One Page Test Cases

Progress Page Test Cases

Completion Dialog Test Cases

QATeam/AutomatedTesting/StateTransitionTestCases (last edited 2014-01-03 12:50:54 by 89-168-6-168)