Wednesday 21 October 2009

GTAC Day 1

Today was the first day of Google Test Automation Conference. There have been some really good talks and below I am going to give my thoughts on the talks.


Keynote by Prof. Nicklaus Wirth

Prof. Nicklaus Wirth opened the first day of GTAC. Prof. Wirth is a winner of the Turing award and currently working at ETH Zurich. Prof. Wirth worked through the years of Computer Science showing how things have improved over the years. he explained that through those years you couldn't just pull up a debugger and find the issues.

Prof. Wirth also used the famous Dijkstra quote that "Testing shows the presense of bugs, not the absence of them" so we can't just assume that we are making high quality code. He also had a complaint that universities are not teaching programming to the students. He likened computer programming to playing the piano, its easy to learn to play with 2 fingers but to play with all 10 fingers is extremely difficult so its easy to create programs but hard to make really good applications.

Precondition Satisfaction by Smart Object Selection in Random Testing - Yi Wei and Serge Gebhardt

Yi and Serge did a really good talk about creating random objects to go through testing objects. They were talking about how they go about generating random objects and how they are used within testing.

They talked about how they generate lots of objects and generate lots of object very quickly so they needed to work out what they needed exactly so started working out what objects meet the pre- and post-conditions.

They then started talking about how the objects start working in tests and were left to run for many hours. They found over 500 bugs found in 2 open source libraries by applying this random object testing. They found minor bugs to bugs within a lexer which can be quite scary.

Fighting Layout Bugs - Michael Tamm

Michael Tamm gave a very good presentation on how to fight layout bugs. Michael started by talking about all the basic things that we can do and should we be applying them to the our continuous integration servers. This can be done by collecting the page structure,parsing it and passing it to W3C. This can be done for the both HTML and CSS. Unfortunately CSS validator can be too strict and doesn't like browser specific styles.

Michael then moved on to a project that he has been working on about an Open Source project that he has created. This can be found at http://code.google.com/p/fighting-layout-bugs. This project works by firing a WebDriver instance and then takes a number of screen shots and does a bitwise operation to work out where things are overlapping. It was a very a good presentation and will be watching this project very carefully.

Even Better than the real thing - Lessons learned from GWT application - Nicolas Wettstein

Nicolas gave a very good talk about Google Web Toolkit. He talked through all the different issues that can be found when developing software. He showed what can be really bad code examples and how this can be cleaned up.

Nicolas also talked about that there should be a very good design structure such as MVC/MVP. That way people can start creating very good unit tests because a developer can then fake out the right items. Favourite quote from this talk is "Developers are responsible for the quality of the code"

Automatic Workarounds for web applications - Alessandra Goria and Mauro Pezze

This talk was a very interesting talk about having a system that sat between the browser and the backend server. The have developed a system that when a user encounters a bug you can tell the proxy and it will go off and find a solution from a repository.

They were using bugs in the Google Maps API bug tracker and analyzed the issues and if there were any potential workarounds apply them to the page. Unfortunately this is very academic work and does not meet any of the potential psychological needs of users. It also doesn't differentiate between bugs that could be happening.

The talk was very good but academic so don't think it will ever become a real world application.

Achieving Web test automation with a mixed skills team - Mark Micallef

Mark gave a very good presentation on how to get Test Analysts and Test Engineers working very well together. Mark was showing how you start with a team with lots of tasks but they are all manual and how, with the right tools, you can get them writing basic tools.

Mark said that he got the teams using Ruby and Cucumber to start doing basic ATDD and BDD with the test analysts and then getting the test engineers to fill in the technical aspects. Mark did this by seeing what motivated the team and trying to work with their strings.

Mark said that this is the start of the work but the BBC still has a lot of work to do! It was a very good presentation and makes me wonder what motivates testers out there.


And finally...

The lightning talks were really good. Everyone was very entertained by the talks. When they are out on YouTube I recommend everyone having a watch of them.

No comments: