Introduce required testing

Registered by kevin gunn on 2013-02-26

Unity Next UI is an evolution in the Ubuntu shell to achieve convergence across multiple form factors...phone, tablet, desktop, tv. The effort to get there will leverage the Ubuntu Touch developer preview. The Ubuntu Touch preview was written in such as a way as to be the seed for the next genertion, it is not demo code. As such, with any focused development, once created it needs testing. This blueprint is an effort to capture the testing needed to enhance & maintain quality of a the Unity Next shell. Primarly, this blueprint captures testing required to cover UnityNext. Which consists of shell core, indicators, notifications, launcher, lens, dash, hud.

Please check this list of components & there analysis wrt testing (e.g. tested, not tested, ignore, will be replaced...so don't write a test yet)
https://docs.google.com/a/canonical.com/document/d/168LtNtSQCVM5tXNL6ZSJeZ1-vgrpgR37kMcVDHUQs3Q/edit
also, please mark your name as working in the doc as well as adding a line item to this blueprint

Acceptance criteria for March / ubuntu-13.04-month-5:
#1) Provide 75%+ coverage of all the UnityNext code
#2) Have Continuous Integration testing for autolanding code.

Acceptance criteria for April / ubuntu-13.04-month-6:
#1) Current test coverage is ~30%, increase to ~50% as reported in unity-phablet-qmluitests coverage on jenkins

Acceptance criteria for May / ubuntu-13.05:
#1) tbd

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Unity Team
Direction:
Needs approval
Assignee:
Unity UI Team
Definition:
Approved
Series goal:
Accepted for saucy
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-13.05
Started by
kevin gunn on 2013-05-31
Completed by
kevin gunn on 2013-05-31

Sprints

Whiteboard

Apr 11, 2013 kgunn:
Please check this list of components & there analysis wrt testing (e.g. tested, not tested, ignore, will be replaced...so don't write a test yet)
https://docs.google.com/a/canonical.com/document/d/168LtNtSQCVM5tXNL6ZSJeZ1-vgrpgR37kMcVDHUQs3Q/edit
also, please mark your name as working in the doc as well as adding a line item to this blueprint

Unit tests:
run "make test" or "make check" to execute them. Find them in tests/unittests/ and plugins/<pluginname>/tests

QML components tests:
Tests each internal qml component separately.
run "make qmluitests" to execute them. Find them in tests/qmluitests

Autopilot tests:
run "make autopilot" to execute them. Find them in tests/autopilot/

Unity test requirements (coming out of long email thread)
https://docs.google.com/a/canonical.com/document/d/1hAM2T1YyWVffTIWjppnAiTNuiL6YVLKAVQJ7TUBvjKY/edit#heading=h.5xou1f9nj2gc

Related QML testing QTBUG:
https://bugreports.qt-project.org/browse/QTBUG-15801

On jenkins server see
/view/Phablet/job/unity-phablet-qmluitests/42/cobertura/qml_phone_shell/
for a report of coverage of the unitynext code base

May 8: kgunn
removing some items as they are covered under other blueprints because they are "new" activities (e.g. notifications) or will be "overcome by events" through the natural course of our development (e.g. design dash iterations & backend api changes).
This bp was about adding coverage for existing assetts that will continue to be employed by the phablet build....

(?)

Work Items

Work items for ubuntu-13.05:
Work items for ubuntu-13.04-month-5: DONE
[mzanetti] Introduce testing: DONE
[mzanetti] provide autopilot templates: DONE
[mzanetti] setup continuous integration system to execute and validate autopilot tests: DONE
[mzanetti] fix CI system to be able to execute unit tests that require openGL: DONE
component tst_RatingStars.qml: DONE
[schwann] unit test tst_Carousel.qml: DONE
[cimi] unit test tst_MathLocal.qml: DONE
[cimi] unit test tst_CrossFadeImage.qml: DONE
[cimi] unit test tst_TimeLocal.qml: DONE
[dandrader] Components/AnimationControllerWithSignals.qml: DONE
[dandrader] Components/DraggingArea.qml: DONE
[dandrader] Components/FilterGrid.qml: DONE
[dandrader] Components/ResponsiveGridView.qml: DONE
[dandrader] Components/Revealer.qml: DONE
[dandrader] Components/Stage.qml: DONE
[mzanetti] Dash/DashPreview.qml: DONE
[nicolas-doffay] Find purpose of tests/manualtests: DONE
[nicolas-doffay] Components/PageHeader.qml test: DONE
[dandrader] Launcher: DONE
Work items for ubuntu-13.04-month-6: DONE
[aacid] unit + autopilot tests for HUD: DONE
plugins/Utils/models: DONE
[mzanetti] unit + autopilot tests for greeter: DONE
[mzanetti] work out a way to measure QML test coverage: DONE
[nick-dedekind] Components/Showable.qml: DONE
[nick-dedekind] Panel/IndicatorRow.qml: DONE
[nick-dedekind] Panel/Indicators.qml: DONE
[nick-dedekind] Panel/Panel.qml: DONE
[nick-dedekind] Panel/MenuContent.qml: DONE
[dandrader] Dash/Apps/RunningApplicationsGrid.qml: DONE
[dandrader] Remove fake implementations from within Shell QML code (use a fake Ubuntu.Application implementation instead when running on the desktop): DONE
[gerboland] Components/ListViewWithPageHeader.qml: DONE
[mzanetti] Dash/People/*: DONE
[mzanetti] SideStage: DONE
[mzanetti] FilterGrid derivates: DONE
[mzanetti] Panel/Menus/Overview/*: DONE
[om26er] autopilot tests for Panel/Indicator container: POSTPONED
[paulliu] Panel/Menus/IndicatorMenuWindow.qml: DONE
[nick-dedekind] Dash/DashContent.qml: DONE
[cimi] Bottombar: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.