SoftwareEngineering and QA for Free Software

SoftwareEngineering and QA for Free Software

There are two aspects of Software Engineering that currently interest me most. One is taking Usability into account when creating applications. What tasks needs to be solved, who is our target user, how often are these tasks executed. All these questions will heavily influence the User Interface and behaviour of your application. I started as a geek adding geek features to applications. So dear lazyweb and specially Free Software developer. If you write a new application ask yourself what these primary usecases are, talk with usability experts as they will help you to write better software. If you plan adding this very important feature to an existing application, please ask yourself how this fits with the primary usecase of the application and the target user.
No the addressbook for your grandmother doesn’t need easy access to the GPS coordinates of her weapons of mass destruction. Such patches and features wishes should always be ignored. If you are in doubt if such a feature is appropriate consult an expert. We are experts on technology and sometimes by accident we create an usable userinterface and this brings me to another subject, one where I have more domain knowledge.

Quality and Quality Control in Free Software projects. The important question is always what is quality? What is good quality? Technically I always try to achieve the perfect quality but from a QA point of view this term is undefined. The Software we create should not crash, it should not have security issues and you should not lose data. I think this is mandantory quality that everyone agrees on. But what about questions such as usability? Can this application be used to do task X and how easy it is to get task X done. Do people know that task X can be solved using this way or do they do it in a more complicated way?

This leads us to my main question? How to check and assure the quality of your software? Regression tests, memory usage, coverage tests are well known types of tests. They are a good a tracking the quality of your software but these are only on a technical level. They answer questions like does this application crash, leak memory, or loses data again? But they don’t answer the really important question. Can this application be used by our target and will he be happy? I have no idea how we could test this though.

h.

Comments are closed.