CocoaHeads Hamburg

May 29th, 2009 by Rainer Schmid

I was yesterday on my first CocoaHeads meeting in Hamburg. Depending on the counting it was the first or second meeting in Hamburg altogether (see the CocoaHeads bei mindmatters post for the details on the meeting prior to that one yesterday).

It was a nice get-to-gether where everybody introduced himself and where we discussed a bit about how we want it to be in the future. We decided to make the meetings on every first Wednesday of the month. So the next meeting is already next week :-)

Automated GUI Testing Success: ETM Professional Control, a Siemens Company - Squish for Qt users since early 2007

May 26th, 2009 by Reginald Stadlbauer

We spoke to Wolfram Klebel, one of ETM’s development and testing engineers, and asked him what products ETM tests with froglogic’s automated GUI testing tool Squish.

ETM use Squish to test their SCADA (Supervisory Control and Data Acquisition) software - PVSS. This software is used for controlling complex industrial and infrastructure systems including traffic tunnels, water treatment plants, subway systems, and the new particle accellerator at CERN.

Read the full story at our website.

Tracing functions with Instruments

March 27th, 2009 by Rainer Schmid

In Squish we need to intercept the events when recording user interactions and on play back we have to send the events again. So we have to know some details on how the event system in the toolkits work.

To get those details, it is sometimes helpful if you could actually see the functions an application calls. When this need arised on the Mac, I used to use the Activity Monitor which has the ability to sample the application. This is unfortunately not very exact since the samples happen on certain intervals, so you are never sure if the relevant functions are actually sampled.

But Leopard includes the DTrace facility and the graphical frontend Instruments. This allows you to trace a lot of internals of the application, including the functions an application called.

For example you can create in Instruments a new “instrument” that traces all Objective-C calls: simply choose “Build New Instrument…” from the “Instrument” menu and choose the “Probe” of type “Objective-C”. In the dialog I also chose to record the data for “Function” and “Module”. Then just select a target application and press the “Record” button and all the Objective-C calls (including the call stack) are recorded in instruments.

Pretty useful.

But you can also record C function calls: just create a new instrument, this time of type “User Process”. If you record now, you get all the C function calls. This is getting really big really fast (and as a result it the application gets really slow). So what you probably want to do in this case is to limit the functions recorded. I was particularily interested in the functions called in the CoreFoundation framework, so I entered in the line edit after the “hits” text “CoreFoundation” and now the instrument only records functions called in that framework.

Automated Qt GUI testing on Maemo

March 3rd, 2009 by Reginald Stadlbauer

Hi!

Since acquiring Trolltech, Nokia is really pushing Qt to all kinds of platforms and devices. This perfectly makes sense considering the gains of having to create the GUIs only once for all different platforms and devices (desktop and embedded) by using the Qt framework.

Historically, and also when looking at our revenue statistics, the Qt market is very important for us. Our automated GUI test tool Squish, which supports testing several GUI technologies such as Qt, Java GUIs, Web, etc. is the leading tool when it comes to automated Qt GUI testing.

We have several customers in the embedded Qt space already. Due to the recent push from Nokia’s side, we decided to offer more dedicated support and resources in this area.

So today we announced that we officially support testing Qt GUIs on the Maemo platform using Squish

In the near future we will add Symbian S60 and Windows Mobile to the list of supported platforms as well.

Local Free Software Community meeting

February 2nd, 2009 by Harri Porten

On Saturday the non-profit association eXis-unlimited.org had organized the meanwhile second meeting of the Free Software community in our home town Hamburg. This time the organizers Sven Reumann and Ozder Abdurrachman had invited into the trading hall of the former coffee exchange in Hamburg’s harbor area. Some pictures can be found here.

The event was well attended and almost 30 users groups and projects presented their agenda, work in progress and meeting details. Among them were representatives from Open Streep Map, Ruby on Rails, OpenSolaris, Chaos Computer Club, working groups of local universities and Scribus. The sidux project handed out freshly burnt CDs of their distribution based on Debian unstable featuring KDE 4.2. Being invited for a short address in our function as a company sponsor I used the opportunity to call for all local KDE developers to come forward and unite. Everyone I got to talk to afterwards had reverted to version 3.5 though and currently wasn’t in the mood for any experiments. :)

Everyone sitting through the presentation marathon was rewarded with a buffet and drinks being served afterwards. A good opportunity to network with members of other groups. The presentations were taped on video as well as recorded by makers of NerdAlert - a show aired by the free local radio station FSK who also conducted individual interviews. So one can expect some online and on-air coverage appearing in the next days.

Peeping Toms in Amsterdam

December 6th, 2008 by Harri Porten

Travelling by plane is getting a bigger nuisance each year. Airports accepting more flights and passengers than they can logistically handle and excessive and repeated security checks causing long waiting lines and missed flights. The sight (and personal feeling) of passengers being shooed through check points by shouting security personnel reminds me of a cattle drive.

When taking off shoes and belts for x-raying became common practise I had half-jokingly predicted that soon one would have to walk through checks completely naked. Little did I know that makers of security devices and airports had already been working on that. Just recently discussions in the EU Commission made the news as so called see-through scanners were being considered for all EU airports. See
this picture
. Given the severe invasion of privacy by looking at every passenger effectively naked there were quite some protests and the Commission had put their plans on hold. At least for now.

I was reminded of this topic when passing through a check point at Amsterdam’s Schiphol airport yesterday. The gate looked different to what I have seen before and the need to be locked in, turn sideways and stand still with hands raised was obviously odd. With my hand luggage and belt already being sucked into the x-ray machine and my plane home departing soon I saw no alternative than passing through the humiliating check as well. Curious to what this was about I asked the personnel whether this was one of the devices under current discussion and likely to be banned. Got quite an enraged answer back questioning whether I would seriously believe to find anything illegal in use at an international airport.

I looked at the monitor the operating crew was using while the next person passed the check. Didn’t see any offending picture there so I put this off as regular yes/no scanner looking for metal or other
potentially dangerous material. A day later I looked this topic up on the Net and learnt that it is actually old news. Schiphol has been using two see-through scanners for over a year now and Australian and US airports have introduced them recently, too. Images are being inspected in a remote room which is why I did not see any. Officials claim there have been few complaints but do passengers really know what is done with them? In case there was any warning sign it must have been too small or hidden. A sample picture of a scanned person would do a good job I think. EU Commissioners have stated that one cannot be forced to by checked by such scanners but I cannot confirm the right to opt out. When the personnel upon questioning did not tell me about my right to have a regular check in another line this makes my wonder about their fidelity or training.

Now I don’t think that the examining officers get a big thrill from watching thousand of pictures of naked people every day. Possibly quite the opposite. One can easily imagine stupid comments being made, though. What remains is the overstepping of a line of privacy for every passenger without any concrete suspicion. And all this for a false sense of security. Scientist Peter Siegel has pointed out[1] that rubber or any other skin-like material still allows for hiding things. And anyone wishing something evil happening to airplane passengers will find it much easier to smuggle in things through hand
baggage, bribing underpaid airport personnel or using a rocket launcher on the ground. The number of possible attacks to human life is in fact so big that there is no way to protect against all of them. And governments are doing nothing but protect against weaknesses exploited in the past. The next evildoer (number unknown, certainly small compared to the world’s population) will just chose another option as can be seen from the recent attack in Mumbai has shown. Meanwhile we are ruining everyone’s freedom and every day life and effectively making “them” win already.

I found a good posting by security expert Bruce Schneier that talks about these problems[2]. He assesses a “diminished return of investment”. The picture that this Independent article[3] paints for
2011 has mostly become true already.

[1] http://www.usatoday.com/printedition/news/20080606/a_bodyscan06.art.htm
[2] http://www.schneier.com/blog/archives/2006/03/airport_passeng.html
[3] http://www.independent.co.uk/news/uk/crime/flying-with-fear-the-future-of-air-security-412643.html

Translucent scrollbars

October 30th, 2008 by koos

Postponing support for SMIL attribute ‘fill=”scroll”‘ for a long time, I now really needed this feature for extending the Atom feed support in KMPlayer. KMPlayer comes with a flash player backend and supporting the Youtube feeds was just a too low hanging fruit to not implement.

Anyhow, to ensure that the first flash link doesn’t play automatically on first load or when clicking on a next item, I’ve added as first link a summary of the entry using the media:description and media:thumbnail tags as SMIL presentation.
Since the presentation has a fixed aspects, ie. the text scales when resizing the player, some larger description text have their text fall outside the region area.
A quick implementation attempt was to simply draw the scrollbars over the right side of the text, painting it as black with 0.5 alpha value. Now that looked actually quite nice and has benefit that the scrollbar is there but also doesn’t take any screen resources (that is, one can’t click behind it but can see through it).

<smil>
  <head>
    <layout>
      <root-layout background-color="white" width="320" height="240"/>
      <region id="image0" top="5" left="5" bottom="5" right="5"fit="scroll"/>
    </layout>
  </head>
  <body>
    <img src="elep1.jpg" region="image0" dur="60"/>
  </body>
</smil>

After that, it was a small step to extend the virtual area with the scrollbar width (so the clicking limitation is gone) and therefor added the horizontal scrollbar.
(took an image because the first reaction of my dear colleague Frerich R showing with text, was that it looked like a bug that the text was painted through the scrollbars - of course I suspect that because his knewsticker can’t show the media files like mine)

Squish 4.0 Interview: Talking with froglogic’s founders

October 24th, 2008 by Reginald Stadlbauer

While the development of Squish 4.0, the upcoming version of the leading cross-platform GUI testing tool, is on-going, Qtrac Ltd.’s Mark Summerfield talked with some of the people behind the product.

Mark Summerfield of Qtrac Ltd.Harri Porten of froglogicReginald Stadlbauer of froglogic

In this first interview, Mark asked froglogic’s founders, Harri Porten and Reginald Stadlbauer, to give an overview of Squish 4.0’s features. In the following interviews Mark will have deeper technical discussions with the responsible developers working on specific features.

Read the rest of this entry »

Maemo summit 2008

September 27th, 2008 by koos

So I went to the Berlin summit this year. I might not have come if it wasn’t for for bunanson bringing my little project at a more popular level.

It was really nice to meet him in person (left on the picture, as a big thanks I bought him a german weizen beer). He also did a presentation, presenting his worldtv99 playlist.

Anyhow, the visit was really great and interesting. Mobile computing is an exciting area and, thanks to the Nokia internet tables, Moblin, Android and what not, opening up for open source.
Nokia employees presented the roadmap of their internettablet. Some insight talks about UI design. With years of experience with small form factor devices and their Symbian OS, definitely a good learning experience.
So the next device will include OpenGL-ES and on top Clutter for eye appealing applications. From what I recall, the destop will be Clutter based. Applications remain Gtk based. They’re pushing Gtk offscreen rendering for use with Clutter and there seem to be an effort for a Symbian port. So I don’t suspect this is likely to change anytime soon.
Qt is coming though, Ari Jaaksi talked about this toolkit for enabling multi-platform support for their applications. Also a Howto was presented by Nokia as one of the parallel sessions. As a froglogic Squish developer, I’m of course quite happy about this.
Exciting times for both toolkit, now competing on the same GUI. Obviously, the linux desktop as a whole will benefit from this downscaling and speedups.
Nokia UI designers seem to be quite modest about using animations though, avoid wow first, annoyance later experiences. I do suspect things like roll-down menus and such will be there. I think that animations may help hiding latencies for e.g. application loading and such.

One addition to my last blog, I already talked about the ‘handhelds GUI != desktop GUI’ thing. An UI design talk presented the minimal space for finger friendly clicking is nine millimeter, with a screen of 225dpy gives (9 mm * 225 px/inch) / (25.4 mm/inch) = 79.7 px. Now that is almost an inch on for destop screen.

Squish’s Extensibility and Integratability

September 23rd, 2008 by Reginald Stadlbauer

Today I’d like to write about some of Squish’s features which are not so well known but which makes Squish a really powerful GUI testing solution.

Extensibility: When we started to create Squish, our main focus was to support all standard components of the supported GUI technologies (Qt, Swing, SWT, etc.) very well. But soon we found that in nearly every GUI application custom components are used. These are often complex and interactive controls visualizing data in some way. While basic support for all custom components can be provided out-of-the-box (and is provided that way by Squish), there is no way a GUI testing tool can know all internals (such as internal objects) of such custom controls and support that in a robust way.

This made us think about extension capabilities. The first Squish edition where we offered an extension API was Squish for Web- the automted GUI testing tool for web applications. The reason for that is probably that esp. in the world of AJAX GUIs nearly all controls used are custom controls.

This extension allows users to implement a few functions in JavaScript to let Squish know how to query internal information of custom AJAX controls. That way every custom AJAX control can be supported equally well as standard HTML and AJAX controls already known to Squish.

Later we introduced a similar mechanism for our Squish for Java tool, which features automated testing of Java GUIs such as Swing, AWT, SWT and Eclipse RCP. Here we provide a few Java interfaces which you need to implement for your custom Java controls to allow Squish to drill down into the details of your custom controls.

Since these extensions solve many problems of GUI testing, we are now introducing similar extension APIs for our Squish for Qt edition. Also our new Squish edition for testing native Windows applications, which will be part of the upcoming Squish 4.0, will be completely built on this extension mechanism even internally.

Integratability: Many vendors of testing tools want to completely lock their users into their world. So they come with the complete tool set needed to automate the QA. We early realized that GUI testing is just one part of the whole QA process and also saw that most of our users already have automation systems in place for their unit testing. So they usually prefer to integrate Squish into their existing automation system instead of setting up a completely separate automation just for GUI tests.

So we decided to focus on making Squish easy to integrate instead of developing our own test management solution. To allow that we provided easy-to-use command line tools to start and control Squish test runs and generate an easy-to-process XML report from any test run. This allows for easy integration.

In addition we now also offer ready-made integrations for CruiseControl, Maven, Ant, Eclipse TPTP, HP Quality Center and more so Squish can be used as part of the whole test automation regardless of the tools in use.

We will also release our own test management system, which we use internally, eventually. But this will be just another way to do it and not replace our integration. Rather the opposite But we will always ensure that Squish stays easy to integrate since we really think that our users should have the choice what they want to use.

To end this article here are some links with further details on Squish’s extension and integration capabilities: