Software Testing - Getting Product Out The Door Faster Cleaner Easier

Software Testing - Getting Product Out The Door Faster Cleaner Easier

Software testing is one of those amorphous terms that covers a massive range of possibilities. Are we talking about integration, unit, black box, white box, systems, acceptance, regression, load, performance? The list goes on. In our experience, this is almost always a worthwhile effort, with paybacks in testing generally exceeding those from other areas, assuming that a pragmatic approach to testing is taken.

Static Code Analysis - Getting the Computer to Find Your Bugs for You

Static Code Analysis - Getting the Computer to Find Your Bugs for You

Static code analysis is a system where software is automatically analysed for potential issues without ever being executed - purely from looking at the written source code. Here we’ll quickly touch on what makes static code analysis special and then get stuck into some specific technical examples based on our experience of using it in our work at Spore Lab.

Choosing the Best Hardware Platform

Choosing the Best Hardware Platform

When beginning development of an embedded system, it is necessary to make a decision about whether to design a fully custom platform, or to utilize a pre-existing core system component of some kind. This core component could be anything from a bare main processor module right through to a complete and ready-to-use board. Unfortunately there is no definitive answer on which way to go...

Are you getting the most out of your development infrastructure?

Are you getting the most out of your development infrastructure?

There is no getting around it, customised software development requires a significant investment. High quality results do not come cheaply, so it is important to make sure that everything possible is done to achieve the best return. Keeping developers moving along at a crisp pace on the core task is vital, and poor infrastructure can add a huge overhead to development. To ensure this problem doesn’t occur, there are a number of areas that need to be running smoothly.

Communications Technologies

Communications Technologies

When developing a new embedded device it is almost guaranteed that it is going to interoperate with some existing system. This interoperability often takes the form of a communication link. If being constrained by the need for physical proximity is not a concern, directly wiring-in the new device using either Ethernet or some other wired technology generally provides the best bandwidth and reliability. However for ease of installation, and to increase flexibility, some form of wireless technology is often vital.