CheckboxLDTPIntegration
|
⇤ ← Revision 1 as of 2008-12-04 11:48:02
Size: 3019
Comment:
|
Size: 8683
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 35: | Line 35: |
| Right now test results in Checkbox only accept zero for pass, non-zero for a fail, in a unix-like manner. The problem is that if we want more complex reporting (i.e. screenshots when something fails) we need more flexibility here. When running LDTP tests a XML file is generated. This should be parsed by maybe a Checkbox plugin in order to transform that answer to a Checkbox consistent format, while keeping this XML for human-readable reporting. An example of this XML file: {{{ <ldtp> <group name="group1"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenAisleRiotSolitaire"> <COMMENT>elapsed_time: 6.22046804428</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:15:17 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group2"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenBlackjack"> <COMMENT>elapsed_time: 5.48234200478</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:15:28 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group3"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenChess"> <COMMENT>elapsed_time: 5.38424086571</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:15:39 AM on 04-Dec-2008" elapsed="0:0:10"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group4"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenFiveormore"> <COMMENT>elapsed_time: 5.5373609066</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:15:50 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group5"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenFour-in-a-row"> <COMMENT>elapsed_time: 5.54238200188</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:16:01 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group6"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenGnometris"> <COMMENT>elapsed_time: 5.35859894753</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:16:12 AM on 04-Dec-2008" elapsed="0:0:10"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group7"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenKlotski"> <COMMENT>elapsed_time: 5.61202001572</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:16:23 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group8"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenMahjongg"> <COMMENT>elapsed_time: 5.51350283623</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:16:34 AM on 04-Dec-2008" elapsed="0:0:10"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group9"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenMines"> <COMMENT>elapsed_time: 5.41266489029</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:16:45 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group10"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenNibbles"> <COMMENT>elapsed_time: 5.88356804848</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:16:56 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group11"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenSamegNOME"> <COMMENT>elapsed_time: 5.41124200821</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:17:07 AM on 04-Dec-2008" elapsed="0:0:10"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group12"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenSudoku"> <COMMENT>elapsed_time: 5.65414404869</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:17:18 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group13"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenTali"> <COMMENT>elapsed_time: 5.56410288811</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:17:29 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group14"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenTetravex"> <COMMENT>elapsed_time: 5.51043796539</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:17:40 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> </ldtp> }}} For Intrepid milestones these results have been parsed and transformed into a HTML file. An example can be found here http://people.ubuntu.com/~ara/ldtp/test_results/intrepid/alpha-6/openAll/Accessories.html |
Launchpad Entry: qa-ldtp-checkbox-integration
Created: AraPulido
Contributors:
Packages affected: checkbox, ubuntu-desktop-testing
Summary
This should provide an overview of the issue/functionality/change proposed here. Focus here on what will actually be DONE, summarising that so that other people don't have to read the whole spec. See also CategorySpec for examples.
Release Note
When these changes are implemented tests written for LDTP and, specifically, for Ubuntu Desktop Testing, Checkbox will be used to run desktop tests and reporting will be consistent.
Rationale
We want to have a consistent test harness for the majority of our tests. Checkbox, formerly hwtest, it is a tool to run tests. It is flexible enough to be used to run all kind of tests, including desktop tests.
Design
Permissions
We need Checkbox to be able to run as a normal user, rather than running always as root. This need changes from both Checkbox and Ubuntu Desktop Testing
- Checkbox can be run as non-root:
./bin/checkbox-cli --config="checkbox/plugins/blacklist=permission_prompt"
- Suites and scripts are written on installation under /usr/share/checkbox, with root-only permissions. It would be better to have a .checkbox folder in the user's home folder to store this kind of information.
- Results are stored by default in /var/lib/checkbox, and this is only writable by root.
- Ubuntu Desktop Testing package installs scripts in /usr/share/ubuntu-desktop-tests only readable by root.
Test results
Right now test results in Checkbox only accept zero for pass, non-zero for a fail, in a unix-like manner. The problem is that if we want more complex reporting (i.e. screenshots when something fails) we need more flexibility here.
When running LDTP tests a XML file is generated. This should be parsed by maybe a Checkbox plugin in order to transform that answer to a Checkbox consistent format, while keeping this XML for human-readable reporting.
An example of this XML file:
<ldtp> <group name="group1"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenAisleRiotSolitaire"> <COMMENT>elapsed_time: 6.22046804428</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:15:17 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group2"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenBlackjack"> <COMMENT>elapsed_time: 5.48234200478</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:15:28 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group3"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenChess"> <COMMENT>elapsed_time: 5.38424086571</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:15:39 AM on 04-Dec-2008" elapsed="0:0:10"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group4"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenFiveormore"> <COMMENT>elapsed_time: 5.5373609066</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:15:50 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group5"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenFour-in-a-row"> <COMMENT>elapsed_time: 5.54238200188</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:16:01 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group6"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenGnometris"> <COMMENT>elapsed_time: 5.35859894753</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:16:12 AM on 04-Dec-2008" elapsed="0:0:10"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group7"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenKlotski"> <COMMENT>elapsed_time: 5.61202001572</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:16:23 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group8"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenMahjongg"> <COMMENT>elapsed_time: 5.51350283623</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:16:34 AM on 04-Dec-2008" elapsed="0:0:10"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group9"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenMines"> <COMMENT>elapsed_time: 5.41266489029</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:16:45 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group10"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenNibbles"> <COMMENT>elapsed_time: 5.88356804848</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:16:56 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group11"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenSamegNOME"> <COMMENT>elapsed_time: 5.41124200821</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:17:07 AM on 04-Dec-2008" elapsed="0:0:10"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group12"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenSudoku"> <COMMENT>elapsed_time: 5.65414404869</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:17:18 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group13"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenTali"> <COMMENT>elapsed_time: 5.56410288811</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:17:29 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> <group name="group14"> <script name="/usr/share/ubuntu-desktop-tests/gnome-panel/open_app.py"> <test name="OpenTetravex"> <COMMENT>elapsed_time: 5.51043796539</COMMENT> <pass>1</pass> </test> </script> <timeinfo start="11:17:40 AM on 04-Dec-2008" elapsed="0:0:11"></timeinfo> <groupsstatus total="1" pass="1" fail="0"></groupsstatus> </group> </ldtp>
For Intrepid milestones these results have been parsed and transformed into a HTML file. An example can be found here http://people.ubuntu.com/~ara/ldtp/test_results/intrepid/alpha-6/openAll/Accessories.html
Implementation
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:
UI Changes
Should cover changes required to the UI, or specific UI that is required to implement this
Code Changes
Code changes should include an overview of what needs to change, and in some cases even the specific details.
Migration
Include:
- data migration, if any
- redirects from old URLs to new ones, if any
- how users will be pointed to the new way of doing things, if necessary.
Test/Demo Plan
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.
This need not be added or completed until the specification is nearing beta.
Unresolved issues
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.
BoF agenda and discussion
QATeam/Specs/CheckboxLDTPIntegration (last edited 2008-12-17 12:22:06 by 152)