Powering up testing – getting a grip on software projects

05.05.2017 testing , agile , continuous integration

"Long ago, test engineers were often considered killjoys that threw punches in the final stage of software projects. In the worst case, a project manager’s nightmare would arrive just a week before the deadline in a form of a shocking list of errors”, says Jukka Lappalainen with a slight grin. He is Etteplan's chief design engineer and has tested embedded software and systems since 2004.

Nowadays, software development relies on agile practices and methods, which avoid large debacles and promote teamwork. Testing is an inseparable part of the development process right from the definition phase. The tasks overlap and information moves smoothly within a modern design team. The test engineer is a team member and no longer considered a messenger of bad news.

“In defining requirements, testability has to be taken into account both in the software and in the planned product. It’s important to ensure that automatic testing can be carried out seamlessly as part of product development. An experienced test engineer can often predict right from the start where problems are to be expected”, Jukka Lappalainen points out.

“Well designed and implemented testing right from the beginning of a project supports developers in achieving high quality and enables measuring and monitoring quality throughout product development”, says Jukka.

Continuous integration (CI) is the practice of compiling, integrating, and testing the entire software in short cycles, whenever something has been changed or added. This means that software can be published very quickly at any point in time – at least in principle. The goal is to automate the software production process and testing as much as possible.

Powering up routines

Dozens of automation tools are available. One of them which Etteplan has found good is Jenkins.

The Jenkins system is a framework for automation of those stages of the software production process that don’t require human intervention. Jenkins is typically defined to fetch the newest versions of program code pieces from version control, to trigger assemblers, to report on errors and warnings, and to load the machine code program into the target system. Jenkins, together with its plugins analyzes, for example, whether the program code complies with agreed rules and reports any deviations. Reports improve readability and maintainability of the code. 

Many think that the testing itself consists of pushing buttons and entering commands and values.

“Human beings are indeed good at experimental testing. They are inventive. They connect things and notice more things than machines do. But most of us get tired of pushing buttons at the latest after ten rounds of testing”,  Jukka Lappalainen points out.

Most of the testing can fortunately be automated. For this, programs are set up that test programs. There are also many tools available for test automation.

Robot Framework, developed and popular in Finland, is a framework that Etteplan has noticed is well suited for test automation, in other words the implementation of the actual test cases.

Mass tests with Robot Framework 

Test definitions with Robot Framework consists of clear key words such as “open browser”, “start operation X with parameter Y”, or “was this successful?”. Anyone even without coding skills can understand these and can change the tests without writing a single line of code.

Libraries readily available for different purposes can be easily connected with Robot Framework, so there’s no need to reinvent the wheel. Suitable libraries are available for testing, for example, Web UIs, frameworks, and mobile apps. Even though these libraries provide large numbers of keywords, but it’s often necessary to create one’s own test libraries with Python, for example, for the device being tested when testing embedded systems. 

Machines and automated testing are at their best when dealing with large amounts of tests and many repetitions.

“It’s a good idea to develop tests and software hand in hand and one small step at a time. One small change or addition to the software, and then ensure with an automated test that everything still works. In other words, ensure there’s no regression. By eating the elephant one bite at a time, testing proactively, there’s not too much pressure when the deadline approaches. The project and the software stay under control. And the software becomes easier to maintain in the long run”, Jukka reminds.

Proactive testing ensures staying on schedule and a maintainable result.

“Even the most experienced designers have their blind spots. Our perspective tends to narrow when we get absorbed in a task. Another team member, especially a testing professional, brings new perspectives, which helps noticing errors as early as possible.”

More information

Jukka Lappalainen, Chief Engineer, SW Test Engineering

Jukka’s mission is to improve quality and throughput in development projects by providing professional test design services.



Latest articles

  • NB-IoT Breakfast 27.9.2017 27.09.2017 industrial internet , wireless , telecom , electronics

    Great NB-IoT session today, with speakers from Ericsson, DNA, u-blox and F-Secure. Some pictures and the presentation materials available here...

  • Satel enhances product development 13.06.2017 testing , wireless , software , agile , continuous integration

    Salo-based Satel develops and manufactures radio modems and other wireless communications systems. Satel’s mission critical wireless data connections are in use within over 70 countries.

  • Powering up testing – getting a grip on software projects 05.05.2017 testing , agile , continuous integration

    Well designed and correctly carried out testing and testing automation help to keep projects on schedule. The maintainability and control of the system is improved, and even the product's life cycle can be extended. The engineers at Etteplan have had good experiences with the Jenkins and Robot Framework systems.

  • Toroidion super car: a challenge for power electronics 16.06.2017 electronics , power electronics , motor control

    ”Electronics is all about signals, power electronics is all about energy. Power electronics is built on switches”, summarizes Heikki Mentula. He has got over 20 years of experience in designing power electronics.

  • Electric super car Toroidion is Finnish design 16.06.2017 power electronics , motor control

    Pasi Pennanen tells us about Toroidion, the ideas behind the 1MW Concept electric super car and his future insights. We got to meet him at his Finnish office in May. First, we ask him to tell us about his career as a designer for well-known car brands...

  • Quality assurance with vibration measurements - case Sampo-Rosenlew 14.06.2017 test systems , industrial , production testing

    Vibration measurement system improves the quality assurance within the assembly of Sampo-Rosenlew harvesters. Faulty parts are exposed at the factory, before delivering the harvester to the customer.

  • Embedded AC drive 26.05.2016 industrial applications , electronics , power electronics , motor control

    Alternating current (AC) motors have over a century of history. During the last decades, they have dominated the market for motor drives. In the case of variable speed drives, there were some areas where DC motors were the only option for quite long...

  • Renovating testing environment with Procket Rapid 13.06.2017 testing , test systems , production testing , agile , continuous integration

    Embedded system is a combination of both hardware and software, the testing and development of which calls also for other things than just software and the device itself.

  • Case Rivender - Stores without salesclerks 16.03.2017 industrial internet , electronics , software

    Grocery stores will make a comeback in suburbs and small towns if entrepreneurs warm to the unmanned store solution ModulShop of Rivender Ltd. The invention is predicted to become a huge success in Finland and European export markets. The solution is based on Finnish leading-edge know-how.

  • Case SKS – Wireless LoRa based sensor 31.03.2017 industrial internet , wireless , electronics , software

    SKS Automation needed a sensor suitable for industrial use that works wirelessly. The selected LoRa technology transmits measurement data wirelessly up to tens of kilometers, and it connects easily to Industrial Internet applications. ARM mbed technology significantly reduced the time needed to pull off the project.