Test technology development in the Saucy cycle

Registered by Martin Pitt

Review the postponed raring items for test technology, check with Unity, MIR, and other upstream developers about their needs for technology for creating automated tests.

Blueprint information

Status:
Complete
Approver:
Gema Gomez
Priority:
Medium
Drafter:
Martin Pitt
Direction:
Approved
Assignee:
Canonical Platform QA Team
Definition:
Approved
Series goal:
Accepted for saucy
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-13.07
Started by
Martin Pitt
Completed by
Gema Gomez

Related branches

Sprints

Whiteboard

Other ideas (non-committal):
- umockdev: generic ioctl emulation

bluetooth:
- qemu emulates half of it, but not enough to be useful
- there should be a kernel driver similar to mac80211_hwsim, but there isn't

MT simulation:
autopilot already supports multi-touch input, with gestures like pinch and swipe (called "drag" there); it's possible to add more device-agnostic ones to that, and device specific ones can go into a new submodule (autpilot.unity, or autopilot.phones, etc.); it already has some emulators for unity specific UI like the launcher

Ryan's menu traversing was mainly around collecting HUD menu entries, it does not have particular tests associated with it; the traversal itself is straightforward with autopilot. We could verify that anything in the widget tree state changes (but this will generate false positives as sometimes this only changes configuration, and some widgets are not introspectable); the only other thing to do is to check that the program doesn't crash.

sound:
- think about how to do sound (speaker → microphone loopback) on phones; tricky as e. g. for phone calls it's android which controls all that behind RIL, not Ubuntu

Moved postponed bits to https://blueprints.launchpad.net/ubuntu/+spec/community-t-testing-technologies

(?)

Work Items

Work items for ubuntu-13.05:
[thomir-deactivatedaccount] ensure all existant issues in autopilot-gtk are files against bugs in autopilot-gtk: DONE

Work items for ubuntu-13.06:
[pitti] add initial tests to autopilot-gtk: DONE
[pitti] review autopilot-gtk bugs, select which block ubuntu desktop tests (those will become targetted bugs/WIs): DONE
[pitti] autopilot-gtk: expose GtkBuilder names (LP #1082391): DONE

Work items for ubuntu-13.07:
[cyphermox] create minimal simulator for a 3G device: POSTPONED
[pitti] research feasibility of simulated 3G testing: DONE
[pitti] umockdev: emulate tty device nodes as ptys instead of plain files: DONE
[pitti] umockdev: support record & replay of device node dialogs (e. g. for emulating modems): DONE
[pitti] umockdev: record and replay input events: DONE
[pitti] connect with salem_(Tiago) and boiko(Gustavo) about testing the Ubuntu phone stack with virtual calls: DONE
[pitti] make umockdev able to record, replay communication over sockets (for ofono <-> rild; umockdev issue #24): DONE
[pitti] make umockdev accept some fuzz in script replay (for ofono <-> rild, umockdev issue #26): DONE
[pitti] discuss current input event handling in autopilot with thomi, and how we should extend it to cover touch and MT: DONE

Work items for ubuntu-13.08:
[pitti] review Ryan's menu traversing demo, investigate whether it makes sense to generalize and integrate into/provide by autopilot-gtk: DONE
[pitti] fix umockdev ioctl emulation to work for shotwell: DONE
[pitti] (autopilot py3 port requirement) create python3-junitxml: DONE

Work items for ubuntu-13.09:
[pitti] (autopilot py3 port requirement): create python3-xlib: DONE
[pitti] port autopilot to python3: DONE

Work items for ubuntu-13.10:
[pitti] check if it's possible (and how expensive it is) to get property change signals for autopilot-{gtk,qt}: POSTPONED
[pitti] research feasibility of bluetooth testing: POSTPONED

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.