Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Continuous Delivery for Desktop Applications

I am going to demonstrate how we built an automated acceptance test framework and build flow for Prezi's Desktop application.
by

Karoly Kamaras

on 13 May 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Continuous Delivery for Desktop Applications

OSX app build
editor
modules
spellchecker, ppt-import, etc.
assets
fonts, styles, templates
AIR framework
+
+
+
Given
When
Then
Run editor functional tests
executable scenarios
~ 2.5h for now
~ 40min or less in the future
desktop with the latest editor
testrunner module
+
Jenkins
special functions
API to control the editor
mocked services
Build OSX installer and update
Installer .dmg
Update
Update
How?
editor
additional in module communicating with the editor
commands directly to the editor
desktop
no additional module
have to perform system specific commands
need to find an easy way to perform actions both in the application and in the OS level
UI testing frameworks
EggPlant
Sikuli
What?
install
update
upload
export
save
open
login
editor features are covered already
offline behavior of editor features
Sikuli
UI testing application
originally in python
Java API + Twist
if you see this
then type here
and click here
Testing framework
Given
When
Then
Scenarios
Fixture classes
System classes
Sikuli API
Functional acceptance tests for desktop features
Run desktop functional tests
Jenkins
parallel jobs
run the tests
on Mac and Windows
http://www.testplant.com/products/eggplant/
http://www.sikuli.org/index.html
missing:
...
Deploy installers and updates to the CDN
and publish the live URLs
Mac installer
Mac update
Windows installer
Windows update
InstallShield installer
Build Windows installer and update
Continuous Delivery for Desktop Applications
Release process of Prezi Desktop
Karoly Kamaras
Prezi.com

Prezi Desktop
standalone application
online editor in
AIR application
native installer
for Mac
and Windows
The past
no tests for desktop
no automated build
slow release process
manual testing before release
Goals
increase the test coverage
faster and reliable release process
Build and test
unit tests by the developers
Increase test coverage
~600 acceptance tests in the online editor
do they pass in the desktop?
we need tests for desktop specific features
install, update, login, upload, etc.
need to find another solution
After release
data from logs to dashboards
create alerts from dashboards
continuous delivery
even daily releases
release from a pub
Full transcript