Back

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.

 

 

Mikko Lindström, Manager, Test Automation
mikko.lindstrom@etteplan.com

 


Latest articles

  • 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.

  • 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.

  • TOSIHack, Turku 3.2.2018 05.02.2018 testing , industrial internet , software , security

    Tosihack was a security testing event organized by Etteplan, Tosibox and TurkuSec organization in Turku at Saturday 3.2.2018. A total of 17 hackers joined the event in four teams.

  • Ekahau Sidekick – measurement powerhouse for Wi-Fi professionals 11.01.2018 wireless , laboratory , electronics , product certification

    World’s first all-in-one Wi-Fi network diagnostics and measurement device facilitates Wi-Fi network testing, validation, documentation and troubleshooting. Ekahau Sidekick covers both 2,4 and 5 gigahertz and standards 802.11 a/b/g/n/ac up to -95dBm sensitivity.

  • Less prototyping rounds and EMC challenges with simulation 29.12.2017 wireless , production testing , laboratory , electronics

    Simulation speeds up design and helps improve the end product quality. Simulation suits nicely for example for antenna design, for analysing EMC, RF interoperability, shielding effectiveness and radiating fields. It can also be used to review the current layout, design and mechanics.

  • Is your documentation created "last minute" ? 30.01.2018 industrial , medical , industrial applications , product certification

    The technical documentation is still considered a necessary evil that is often handled only in the last minute. Modern practices in creating the documentation ensure easy-to-maintain, high-quality documents that are an essential part of the product.

  • Designer! Do not forget security in your IoT system 25.01.2018 industrial internet , industrial , security

    A specialist warns: a carelessly constructed Internet of Things system is a serious security risk. White-hat hackers hunt for vulnerabilities in a respected Finnish IoT security product at Tosihack event 3 February 3, 2018.

  • Industrial internet increases requirements for antennas 28.12.2017 industrial internet , wireless , laboratory , electronics

    Wireless devices are becoming more common due to industrial internet. The antenna performance is often characterized by three parameters: efficiency, gain and selectivity...

  • Product certification – case Asqella 17.12.2015 testing , laboratory , product certification

    Nowadays more and more products contain electronics and maybe some kind of wireless technology. People do not always realize that all electronic device must be certified, in other words checked, tested, and approved, before the sales of the product can start.

  • 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...