Friday, March 13, 2009

Desktop Automation

Greetings from the Canonical QA Desktop Automation Sprint in Oxford UK!

Opening
Various representatives of Canonical QA have gathered in Oxford to collaborate on automating the Ubuntu desktop testing effort. Some of the areas discussed were tools, team collaboration, best practices, and roadblocks. The following is a brief primer on the current desktop automation efforts as well as links to resources and ideas on how you can get involved.

What is Automation?
In general automation is a process of using software to run a series of actions against another piece of code. This is done on a more common basis with simple shell scripts when developers want to check small bits of code against it's intended feature set. However, in recent years the effort to automate testing has moved this practice into the mainstream. It is now common for QA departments to have several staff members dedicated to scripting automated tests, and basing the majority of their test effort on execution of these scripts.

Today this practice is gaining a footing in the open source world as well. We here at Canonical have begun a concerted effort to develop a framework of automated tests based on proven technologies. The idea is to leverage the coding potential of our internal and community QA teams to build a better product for all. This involves several steps.

The Effort
The first step for building an automation effort is to decide on a solid foundation. This was a fairly trivial decision. The most robust method for accessing the gnome desktop is through the Accessibility Layer. The layer is provided by Orca and is more commonly used for assisted access to the desktop. However this layer can be easily re-purposed to provide a flexible api for automated scripts to access the desktop as well.

Once we had our foundation, we could build on that. There are a couple tools taking advantage of the accessibility layer for testing. The two most well known tools are Dogtail and LDTP. After much deliberation, we decided on the use of LDTP for several reasons, the most important are that it more easily integrates with our exiting tool set and it is already in use by several large companies which provide their scripts freely to the community. This meant we had a tool with a large user base, as well as a library of test scripts already built.

LDTP
LDTP is a test framework based on Python. It uses the accessibility libraries to make calls directly to applications. These actions can be scripted in Python, and executed either from the LDTP Runner or directly from the command line. This flexibility allows us to build suites of scripts that can be run by simple shell commands. It also meant that we could use some of our existing tool to call these suites.

Checkbox
Checkbox is a tool installed by default on every Ubuntu system. When run by the user, it collects information about the system for submission to Launchpad. This allows the user to provide more comprehensive information when logging bugs against Ubuntu.

Checkbox is also capable of performing actions based on the information it collects. So for instance, if the user runs Checkbox, and it detects a built in camera. With this information Checkbox can then be told to run a series of tests based on the type of camera. Checkbox can then prompt the user with errors it detected, and even enter bugs in LP on behalf of the user based on the failed tests. The tests it executes can be based on several technologies, but the current effort is for Checkbox to call LDTP test suites based on the information it collects.

A feature rich combination of these tools is the current focus of Canonical QA, with the hope of producing a comprehensive set of test suites that can be executed automatically based on the tester's hardware. The system would then report any issues to Launchpad with test files, logs, and hardware configuration information attached.

What is the future of the automation effort?
As this effort moves forward, there are several areas where we expect rapid growth and areas that we will need help. The framework itself is fairly sturdy so the expansion of tests based on this framework will be rapid. There are already many cases built for LDTP that can be run against applications on the Gnome desktop today. Over the coming months we will be expanding this coverage.

There will also be greater integration with Checkbox. Once this is complete, individual tests can then be organized into suites, and the execution criteria can be developed based on hardware specification. Checkbox will then be the unifying application for Ubuntu desktop automation, and will hopefully lead to a healthy community of developers building scripts for inclusion in the test framework.

This seems like a task that is straight forward and trivial to accomplish, however some roadblocks still exist. For instance, there are several area of the Gnome standard applications stack that are still not accessibility enabled. Some key areas include the panel notification area and some of the newer technologies such as Clutter and Compiz. Enablement of these applications would allow for more comprehensive tests and, in the end, better software for all.

How can I get involved?
As I said there are several areas where you can join this effort. First step is to visit the QA wiki to get acquainted with the status of the effort. Next, if you are a package maintainer, verify that your software is providing the necessary hooks to the accessibility layer. This can be done by launching your application and scanning it with a program called Accerciser. It can be found in the Ubuntu Universe repository as well.

If you have Python programming skills, many more scripts are needed for every area of the desktop environment. Pick an app and start writing. Instructions on the specifics of writing scripts for LDTP can be found on the project website. There is also a blueprint to direct future coding work on Launchpad that you can use as a reference.

If you are a non-programmer and still would like to help. Please install LDTP and run some of the existing scripts. You can get a primer on setting your system up for testing here. After that we would love to hear from you. How did they work? Enter a bug if you have problems. How could they be better? Enter a Blueprint with additional requirements. Have you found more useful scripts published on the Internet that we could use? Send us an email. All of this would be very helpful to the effort.

Thanks for reading, and we hope to hear from you.

Chris

24 comments:

Anonymous said...

Good initiative! Any plans to also do something abut Kubuntu/KDE?

werwer said...

SpyHunter 5 Crack finds and removes the latest spyware, ransomware, and keyloggers. It may possibly also scan other types of destructive applications. It is a remarkably influential tool to help the standard pc consumer in wiping out malicious threats inside their PC. Malware carries on to be intricate to prevent detection by anti-spyware programs. https://freeprosoftz.com/spyhunter-5-crack-full-download/

newcrackkey said...


pubg-pc-2021-crack

Jam Siddique said...

rarsoftpc.com
borderlands 3 crack
far cry crack
star wars battlefront 2 crack
call of duty warzone
spyhunter crack

Amir Iqbal said...

Nice post
CyberLink PowerDirector Crack

unknown said...

This post is exceptionally written.
I imagine the hard work you put into this, so congratulations.
If you are looking for exceptionally developed thesis aid, you should get in touch with the experienced and qualified experts of the LiveWebTutors platform right away.
malwarebytes anti malware crack
coreldraw graphics suite x4 crack
freemake video downloader crack
office tab enterprise crack

Naeem S said...

Hi, I'm intrigued about your site because I have a similar one.
Is there anything you can do? If this is the case, how can it be stopped?
Do you have any dietary supplements or other products to suggest to us? Recently, I've received so much.
It drives me nuts, so any help is greatly appreciated.
bandicut crack
pazera free audio extractor portable crack
antares autotune pro crack
bullguard internet security crack

Unknown said...

Thanks for sharing this with us. I just loved your way of presentation. I enjoyed reading this .Thanks for sharing and keep writing.
Streets of Rage 4 Crack
abbyy finereader corporate crack
Biomutant Crack
Chronos Crack

Muhammad Sajjad Ali said...

You have a great site, but I wanted to know if you know.
Any community forum dedicated to these topics.
What was discussed in this article? I really want to be a part of it.
A society in which I can obtain information from others with knowledge and interest.
Let us know if you have any suggestions. I appreciate this!

netlimiter pro crack
netlimiter pro crack
netlimiter pro crack
netlimiter pro crack
netlimiter pro crack
netlimiter pro crack
netlimiter pro crack
netlimiter pro crack

Imran Khan said...

Your writing abilities are genuinely remarkable.
I also admire your writing abilities.
graphpad prism crack
cubase pro crack
winrar serial key crack
cleanmymac x crack

4k Stogram said...

This iThis a great blog! Your site is loading too fast!
What type of web server do you use? Can you send me an affiliate link for your web host?
I hope my site loads as fast as yours.
sophos virus removal tool crack
xsplit gamecaster crack
apowersoft video download capture crack
whatsapp for pc crack
akvis sketch crack
iobit uninstaller pro crack
intellij idea crack
avast premier crack

Shoaib Boss said...

Thank you so much for sharing this information with everyone you know.
you really get what you mean! Noted.
Also take a look at my website.
We could come up with an alternative connection diagram among us!
movavi slideshow maker crack
microsoft office 2007 crack
blackmagic fusion crack
minitool partition wizard crack
isobuster crack key

Crack said...

Hi! Your Blog Writing is Very Wonderfull And Amazing. Thanks For Sharing...
wondershare recoverit crack
videopad video editor crack
adobe acrobat pro dc crack
ez cd audio converter crack
wondershare pdfelement pro crack

Kamran Afzal said...

This is a really good blog! As well as that, your website loads quite quickly!
You're using what kind of web host.
Can I have your affiliate link on my site?
Your site loads so swiftly,I want my site to load as soon as yours!
iobit uninstaller crack
avast driver updater crack
transmac app crack
daemon tools lite crack

CH ToQEER said...

I am very impressed with your post because this post is very beneficial for me and provide a new knowledge to me.
Thanks for sharing this post is an excellent article. Keep it up. I use the same blogging platform that you have and have.
it Is Very Informative Thanks For Sharing. I have also Paid This sharing. I am ImPressed For With your Post Because This post is very.
topaz labs
foxit advanced pdf editor crack
x video converter
autodesk revit
dvd cloner crack
movavi video editor crack key
ccleaner pro crack

MURSALEEN ALI said...

Let me express myself. I think your site has browser compatibility issues.
It shows you the location without any problems, but Internet Explorer has some overlapping issues.
In fact, I just want you to know what happened. Only this is the best blog!
photostage slideshow producer pro crack
coreldraw graphics suite 2020 crack
copy protect crack
guitar pro crack
avast cleanup activation code crack

Unknown said...


Hello, I just discovered your blog on Google and I like it.
it's quite handy. I'll look at the Brussels sprouts.
If you continue to do so in the future, I will appreciate it. Many people will benefit from it.
based on your writing Greetings. Thanks for sharing.
bulk rename utility commercial crack
bulk rename utility commercial crack
bulk rename utility commercial crack
bulk rename utility commercial crack
bulk rename utility commercial crack
bulk rename utility commercial crack
bulk rename utility commercial crack
bulk rename utility commercial crack
bulk rename utility commercial crack
bulk rename utility commercial crack

crackadvise said...

information you provide, it helped me a lot. Thanks for Awesome tips Keep it up
Keep up the good work. And Thanks For Sharing

Corel VideoStudio Crack

SoftPerfect Network Scanner Crack

Aeesoft Buisrnova Crack

Nero Burning ROM Crack

VMware Fusion Pro Crack

Arclab Watermark Studio Crack

Goversoft Privazer Crack

driver finder said...

Very Informative post, thanks for sharing.
iSkysoft PDF Editor Crack
ProgDVB Pro Crack
Serato DJ Pro Crack

gawgfwgsvgvgV said...


Enjoyed reading The Artical Down, Really Explians everyting In Detail.The Artical IS VERY effective. thank you and good luck in the upcoming artical.
syncback-crack
vivaldi-crack
bitdefender-total-security-crack
wondershare-dr-fone-crack
cyberlink-powerdirector-crack

Muqaddas said...

https://crackmypc.com/itubego-youtube-downloader/
I enjoy your posts. You did an amazing job. Thank you for the great information.

Dbindir said...


Does anyone know of a good auto posts (auto-comments) submitter?
I would like a tool that will let me post comments automatically to various forums and blogs simultaneously, in discussions that are related to my product...
I know that there are quite a few options out there, but can't find one that satisfies me.
Thanks for the help guys!

nch switch crack
replay media catcher
mobiledit forensic express pro crack
apeaksoft android toolkit crack
anymp4 video converter ultimate crack
tipard blu ray converter crack
xilisoft youtube video converter crack
coolutils total cad converter crack
infix pdf editor pro crack
tipard mxf converter crack
pvs studio crack

naeemsania said...

Wow, that was a fantastically written article. It's a pleasure to study under your tutelage. Maintain an active lifestyle.
Click here

Umar said...

Excellent! So far, this is the best resource we've found for learning more about the subject. Thank you so much. I appreciate the work you've done on this subject.
Thank you for sharing, and best wishes for future comments.
I am a professional web blogger so visit my blogs link is given below.
IObit Malware Fighter Pro Crack
Adobe XD Crack
Adobe Photoshop CC Crack
Adobe Media Encoder CC Crack
VueScan Pro Crack
Audials One Platinum Crack
NordVPN Crack
Process Lasso Pro Crack
Glary Utilities Pro Crack
Serato DJ Pro Crack