Ensuring testability in platform services
New platform services are being written for the phablet devices. The lack of focus on testability of these components means they are not easily tested. Solutions to test them also end up with easily broken when things are changed. This blueprint tracks the list of recommendation actions to take, along with tracking immediate testability needs for services already written and under test.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Nicholas Skaggs
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Recommendations:
- We need the developers of every service and API to provide helpers so we can put the consumers of those services under test.
- Migrate test setup complexity to a common fixture within autopilot
- Create script that will setup environment and make it available in a common component (ubuntu-
- Add autopkgtest for setup script to ensure any changes to setup assumptions are caught before release
Needs:
Here is a list of things that are currently affecting us and preventing a nice automation story:
- Be able to run an app on a clean environment, so the tests don't affect the existing data and they are not affected by it.
- Launch apps with ubuntu-app-launch without unity running, so we can test on desktop, we are not affected by external unity issues and we are not required to reset unity to get a clean environment.
- Run apps in a MIR virtual frame buffer.
- Helpers for security features
-> PAM
-> Developer mode
- Apparmor and the need and maintenance of autopilot click rules
- Specific missing testability helpers that are blocking our automation in:
-> online accounts to be able to add accounts without the UI.
-> mediascanner to be able to insert test files to the database.
->ofono, network manager, urfkill, bluez.
-> EDS (alarms and events)
-> url-dispatcher / content hub
-> missing helpers for UITK components
Questions:
Do we have everything we need for proper OSK testability? -- balloons