Projects

We realised more than 50 projects, see the list of some selected:

Project: Automated regression system

Background:

The task was to realise a fully automated regression system fitting in all parts of existing CI (Continuous Integration) model. The device under test was a T&M device connected via RF cables to a reference mobile phone. The C++ testcase executed on T&M device created test scenarios for various purposes. The regression system tasks: installation of new builds created by a Jenkins job, remote process control, execution flow control, result analysis, logs generation, reporting.

Challenge:

Customer SW environment very heterogeneous, multiple regression system running in parallel, robustness of the system with state recovery fall back.

Keywords:

Results:

We successfully designed and implemented solution based on customer requirements and still maintaining 20+ regression setups being the major verification and validation aspect for the quality assurance of the T&M device.

Project: Autonomous driving systems

Background:

Develop a platform to support various automotive manufacturers to integrate various software functions on vehicles based around autonomous driving enhancements.

Challenge:

Hugely diverse hardware base, with each manufacturer selecting different hardware. Safety (ISO26262) is a major area of development as we move to L4/L5 autonomous driving systems. Definition of image processing related architecture topics (GPU sharing, GPU scheduling, usage & SW interface to video interfaces) with development of a (time-triggered) task scheduling architecture on NVIDIA's Tegra K1.

Keywords:

CUDA, OpenCL, OpenGL, C, C++, Embedded, QNX, ISO26262, DO-178B

Results:

Successful realisation for first generation HW platform for automated driving for one of the leading automobile industry player.

Project: Scenario Development for LTA-Advanced features

Background:

Test cases development in C++ in customer specific library providing API for LTE-A protocol stack and L1. Verification of the scenarios was done with selected mobile phone (prototypes) or within a simulated environment.

Challenge:

Implementation of 3GPP specification into C++ scenarios under consideration of system dependencies of the customer's product.

Keywords:

Results:

Background:

Vehicle-to-vehicle (V2V) is an automobile technology designed to allow automobiles to 'talk' to each other. V2V communications form a wireless ad hoc network on the roads.

Challenge:

The goal was to implemented the V2V (ETSI-ITS-G5) functionalities into the existing virtual mobile phone project.

Keywords:

ETSI-ITS-G5, C++, C, Python, Jenkins

Results:

The requested V2V requirements were verified in the simulated and virtual environment.

Project: ATS scenario validation of ETSI delivery

Background:

Regression Tests of the ETSI deliveries are part of the tasks at the customer's T&M telecommunication platform. This platform is a (e)NodeB emulation and the ATS testcases are verified again the various mobile phone vendors in LTE, UMTS and GSM networks.

Challenge:

As every testing task, the challenge is to find the proper approach and structure starting from smoke and small scale tests to identify the proper component versions (integration) to run the large scale and regression tests with. Log analysis is an important part to assign the issue to proper development team and providing the set of relevant information.

Keywords:

TTCN-3, ETSI, LTE, 3G, GSM, IMS, Clearcase, RTC.

Results:

Continuous regression and validation of internal customer system and the requested ATS testcase packages.

Project: Test automation of Jenkins nightly builds

Background:

As the number of product users is growing, it becomes more and more important to test automatically all categories of tests, such unit tests, python tests, application tests and GUI tests.

Challenge:

The requirement was to design and implement a test automation framework executing all specified tests on separate host (virtual machine), gather the results into a HTML based summary report and shut down the virtual machine after the testing is done. The testing procedure shall be triggered by the nightly build or on developer demand.

Keywords:

Results:

We successfully implemented a python base framework integrated into the target product installing the new builds on a virtual machine, executing required test case categories and creating the HTML report into the same Jenkins environment. Code quality ensured by static code analysis, 90% code coverage and by applying on agreed, PEP8, coding rules.

Background:

Classic GUI development with main frame, panel layout, dynamic sizers and other GUI widgets such, buttons, text fields, check boxes, combo boxes, etc. The goal was to offer the user a comfortable and fast way to communicate with a measurement device using a SCPI interface (VISA TCPIP VXI11, SOCKET, USB, etc.)

Challenge:

The stand-alone application had also be available as part of the build-in python environment as a floating panel which is dock-able to the main application.

Project: Extended GUI debugger

Background:

Challenge:

Multithreading aspects of the task, especially considering the main thread only operation of the GUI thread.

Keywords:

python, wxPython

Results:

Implementation of the debugger.

Project: Automated regression system for LTE L1 verification

Background:

The task was to realise a fully automated regression system fitting in all parts of existing CI (Continuous Integration) model. The device under test was a T&M device connected via RF cables to a reference mobile phone. The C++ testcase executed on T&M device created test scenarios for various purposes. The regression system tasks: installation of new builds created by a Jenkins job, remote process control, execution flow control, result analysis, logs generation, reporting.

Challenge:

Customer SW environment very heterogeneous, multiple regression system running in parallel, robustness of the system with state recovery fall back.

Keywords:

Results:

We successfully designed and implemented solution based on customer requirements and still maintaining 5 regression setups being the major verification and validation aspect for the quality assurance of the T&M device.

Project: NLiteMe web-based report

Background:

Nliteme is a web-based, all-in-one test result analysis, viewer and reporting system designed for use in software development projects.It proves it's value especially in projects using continuous integration approach of merging developers working copies with a shared main streams several times a day and automated regression testing environments producing thousands of test results per day.Nliteme allows to structure, group and systematize the produced regression test results with respect to increments, builds, test suite, test cases, test lines, test verdicts, time frames etc. and provides the users with the advanced filtering options for efficient and fast problem spotting. It also allows to view statistics based on the selected options.

Challenge:

Full stack application development, with front- and backend aspects. Web-based frontend (ajax, javascript, html5, css) and relational database (mysql, but not limited) and php5 based backend.

Keywords:

PHP, mysql, ajax, javascript, html5, css

Results:

Application integration consisting of following features:

configurable tab and widget based dashboard (giving an overview of the build and test activities)

possibility to filter results based on date and time with a resolution of 1 minute

support of ajax for dynamic asynchronous content retrieval

support of dynamic tooltips for a quick overview what's behind the link

easy to use JSON and CURL based API for automation (with just a few lines of code in any of the scripting language or even from command line, the Nliteme data base can be populated with test results, increments, builds, test suites information)

quick timeline/history links for quick overview of the past results for a given test case, test line, build and so on

tags (implementation ongoing)

builds compare view to compare the test results of several build (implementation ongoing)

plots and charts for selected data (implementation ongoing)

Project: Application remote control

Background:

increasing number of test setups calls for administration and control possibility from a remote client host. An example is a Admin client controlling multiple servers, sending remote commands and fetching the remote objects for further evaluation. The typical usage is stopping/starting a script, getting the current status, executing remote processes, etc.

Challenge:

After the analysis which base component should be used for that feature, the Pyro package seems to be the best, offering an easy implementation with wide functionality portfolio.Pyro server and client implementation enabling the application remote control, i.e. remote access to the server's interpreter in order to execute and evaluate arbitrary client code.

Keywords:

Python

Results:

We implemented the server and client code as required, enabling an usage of secured communication channel, synchronous and asynchronous command executions and evaluations with single or multiple targets.

Project: Backtraces dumping

Background:

The requirement raised from deadlock situations in multithreaded environments. The request was to create an additional thread inside the running process, monitoring and logging activities of all other threads.

Keywords:

Results:

Project: GDB integration into the build system

Background:

Creation of a toolchain release with newest 64-bit GDB version and support of Visual Studio in that build system.

Challenge:

Keywords:

PowerPC, GDB, make, C++, python, java, Jenkins

Results:

Realisation of requested work items.

Project: Refactoring for LTE RRC

Background:

Customer request to refactor the code in existing C++ based environment

Challenge:

Keywords:

C++, customer API

Results:

Project: Telecom TC development, IOT Scenario development

Background:

Development of test procedures to implement the TMO-US test.

Challenge:

Keywords:

C++

Results:

Project: GUI Protocol Stack Cards

Background:

In the context of the development of the customer software product new features were specified and developed. Likewise, regression tests and integration tests were developed, maintained and verified. Following work items were performed:

Definition and specification of new product features, e.g. new cards for protocol procedures

Development and automated or manual execution of verification tests, throughput tests, regression tests and integration tests

Analysis of test results and identification and correction of deviations

Analysis, reproduction and correction of reported issues with the product

Challenge:

Implementation, integration and testing in customer's environment

Keywords:

C++, python, java

Results:

Specification based tasks successfully delivered.

Project: AZK - Arbeitszeitkonto generator

Background:

For internal purposes we created a time table generator in line with the tariff contracts of our ANU employees. The generator is helping us to keep track on working times, holidays, overtimes, etc. From employees submitted exported timesheet is loaded and converted into our system. The important factor is the payslip preparation in accordance to tariff contract rules and conditions.

Challenge:

German law aspects if the Zeitarbet.

Keywords:

python

Results:

Working system automating several error prone manual internal processes.

Project: Django Web submitting system

Background:

The task was to realise a web based submitting system with user logging mask and file upload option. The uploaded file triggers another specific actions.

Challenge:

Security aspects and corresponding testing activities.

Keywords:

Python, Django

Results:

Working web application.

Project: MAC OS Porting of windows application

Background:

WxPython GUI based application had to be ported to MAC OS

Challenge:

MAC OS related topics.

Keywords:

Python, wxPython, MAC OS, Windows

Results:

Successful porting of a windows GUI application.

Project: Python meta class performance measurement

Background:

An existing python package used in customer project shall be monitored for possible timing performance drops. The approach shall not come with invasive code changes.

Challenge:

advanced OOP techniques

Keywords:

python

Results:

Using the meta class approach enabled to 'decorate' any methods of any classes deriving from the special base class. Such decorated method can log function/method start and return time and keep track on number of calls within the given observation time. Later analysis points out on timing bottle necks and design weaknesses.

Project: Watchdog multithreading and secured evaluation

Background:

The main thread application shall be in addition monitored with various watchdogs for timeout, response and process block failures. Also the main thread code shall run in a secured evaluation mode reporting any unexpected failures to the environment admin.

Challenge:

Multithreading, stacktrace analysis

Keywords:

Python

Results:

We implemented stable and robust system enabling to catch (almost) any functional or performance failures.

Project: Graph and statistic generation using matplotlib

Background:

As part of an autonomous regression system, it was required to collect data, compute statistics and generate corresponding diagrammed interpretation.