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

37 comments:

lure said...

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

KelsiK said...

0204全裸網,777露點聊天室,Hiav潮吹聊天館,utlive脫衣秀聊天室,口交俱樂部,18禁聊天館,影音俱樂部,無碼俱樂部,uthome脫衣秀做愛聊天室,Hiav下載裸照聊天館,777口交自慰俱樂部,0204正妹淫叫俱樂部,uthome脫衣秀做愛,av辣妹大奶,777口交影音,0204正妹淫叫,utlive網,av聊天館,777俱樂部,0204俱樂部,0204全裸網,Hiav潮吹聊天館,777露點聊天室,utlive脫衣秀聊天室,口交俱樂部,18禁聊天館,影音俱樂部,無碼俱樂部,0204正妹淫叫俱樂部,777口交自慰俱樂部,Hiav下載裸照聊天館,uthome脫衣秀做愛聊天室,0204正妹淫叫,777口交影音,av辣妹大奶,uthome脫衣秀做愛,0204俱樂部,777俱樂部,av聊天館,utlive網

3969 said...

百尺竿頭,更進一步..................................................

火吟 said...

很用心的blog,推推哦 ........................................

v奎峰奎峰 said...

nice job! waiting for your new artical. ........................................

v辰原 said...

淫亂火辣美女本土av情色視訊聊天免費色情網站性經驗色情成人影片色情視訊聊天av圖av情色情趣娃娃成人電影院淫蕩18禁色情電話情色成人網辣妹自拍台灣av女優台灣情色春宮台灣色情成人網站0401影音g點成人vcd情色影片520sex性愛圖視訊妹調情視訊美女聊天美女性交台灣性樂園成人影像走光打砲裸女寫真美女裸照露奶激突論壇情色圖片做愛線上a片做愛視訊情色成人成人交友穿幫色情a片情色全裸入鏡台灣情色網

BlancaMcleroy1230 said...

看看blog調整心情,又要來繼續工作,大家加油........................................

IdellaD_Bar3321 said...

放鬆一下,看個笑話吧!!
站住!還我貞操
珠江路上超強的IT廁所
班長後悔莫及
蚊子是如何誕生的
蚊子的眼淚(煽情版)
笑抽了!

雅茹WillyA_Mellinger0724 said...

文章很棒~感謝!!..................................................

育德 said...

85cc片觀看,77美女dvd影片,熊貓貼區,ut網際聊天,一葉情,av,嘟嘟,影音live秀,a片,做愛影片,視訊做愛,美女短片,78論壇,ut聊天,打飛機,a片,免費視訊,免費視訊,成人影院,性愛小說,辣妹視訊,網路交友,捷克論壇,h影片,色咪咪,免費影片85cc,kiss911,後宮,a片,影音視訊聊天,交友,免費聊天,聊天室交友,做愛影片,線上a片,美女影片,免費影片下載,免費聊天室,視訊做愛,美女視訊聊天

信定 said...

你的文章讓我有種特別的感覺,請加油哦~~ ..................................................

裕以 said...

85cc卡通成人片 av免費視訊 尋夢網聊天室 免費成人 高雄交友網 女優寫真網站 性感影片 歐美 自拍 ut聊天室 女女愛愛 情趣桃園 成人網站 少女自拍 av影城 台灣a片免費看 情色漫畫 色情"" 一夜情 383 18禁 玩美女人 電眼美女 辣妹性感 人妻相簿, 激情熟女 影音視訊聊天室 視訊聊天 a圖片免費看 寫真免費影片 85cc成人圖片 杜雷斯成人微風 免費視訊 視訊聊天室 自拍性愛貼圖 援交妹拍影片 情人趣味 免費線上影片 av免費影片觀賞 洪爺影城如何下載 大奶色情影片 520sex 成人片下載 新任巨乳女教師奈奈下 性愛光碟 後宮電影院+入口 限制級 0204 性愛免費看 歐美正妹走光照

Tro0223y_Millan said...

you two make a lovely couple............................................................

于呈均名 said...

所有的資產,在不被諒解時,都成了負債..................................................

LeanneC珮瑜 said...

Man proposes, God disposes.............................................................

saa said...

活是一種鍛鍊靈魂的東西......................................................

宛齊陳 said...

向著星球長驅直進的人,反比踟躕在峽路上的人,更容易達到目的。..................................................................

珮陽 said...

路過看到好的blog,不推對不起自己.................................................................

江婷 said...

欣賞是一種美德~回應是最大的支持^^.................................................................

于庭 said...

It takes all kinds to make a world.............................................................

溫緯李娟王季 said...

Hello~安安唷~很高興見到你哦!!............................................................

俊豪袁阿危惠敏 said...

要經常發表文章 最愛你了呦............................................................

誠李行王wtf桂屏李edt李 said...

單純喜歡你的部落格 留個言跟您問聲好~~............................................................

芸茂芸茂 said...

你真的很棒~謝謝分享囉~..................................................................

潘凱花潘凱花 said...

今天是個好天氣~祝你愉快~^^~~..................................................................

思恬 said...

寫文章需要心情~~期待你再一次的好文章............................................................

黃錢靜怡慧婷 said...

雖天地之大,萬物之多,而惟吾蜩翼之知。..................................................

蕭劉明倫松恬 said...

好喜歡你的部落格唷,剛下班,要去睡了!!!掰~~............................................................

凱許倫 said...

Look before you leap.................................................

周志v豪 said...

過去的事早已消失,未來的事更渺不可知,只有現在是真實的................................................

思張張亦 said...

It is never too late to learn.......................................................................

鄭雅雯 said...

從人生中拿走友誼,猶如從生活中移走陽光......................................................................

張王雅竹欣虹 said...

死亡是悲哀的,但活得不快樂更悲哀。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

王辛江淑萍康 said...

期待你的下次更新喔^____^..................................................

建枫 said...

多謝美味的心靈雞湯................................................................

蕾蕾 said...

加油-不論如何都期待您的新發表!

王雅俊 said...

肯定與支持你!!!加油囉~..................................................