12
Testing Framework for Development of a Correlator Beamformer Mpho Mphego & Alec Rust SKA-SA [email protected] [email protected]

Casper CBF testing presentation (1)

Embed Size (px)

Citation preview

Page 1: Casper CBF testing presentation (1)

Testing Framework for Development of a Correlator Beamformer

Mpho Mphego & Alec RustSKA-SA

[email protected] [email protected]

Page 2: Casper CBF testing presentation (1)

Overview

• Python functional “unit” testing for verification of a Correlator Beamformer system.

• Jenkins Continuous Integration• Jenkins Demonstration

Page 3: Casper CBF testing presentation (1)

Functional Testing Overview

• Functional testing is used to verify each correlator requirement after a new build.

• Functional tests uses Python unit testing tools to determine whether correlator beamformer subsystem is ready for deployment.

• Individual tests are developed for each requirement.

Page 4: Casper CBF testing presentation (1)

CBF Overview

Jenkins Automated Test Server

KATCP – Control Protocol

CBF Servlet

Low Level Drivers

MeerKAT CBF (ROACH2)

Page 5: Casper CBF testing presentation (1)

Functional Testing Overview

• Tests are automated to enable nightly build verification.• Made possible by the Dsim. ROACH2

based digitiser simulator capable of producing CW tones and noise (correlated and un-correlated).

• Each functional test configures the Dsim before capturing and analysing results.

Page 6: Casper CBF testing presentation (1)

Functional Testing Structure

• Python Nosetests used as unit testing framework.

• Nosetests extended with report generation plugin.

• Python decorators are associated with each tests, these are used in the generated report.

• Decorator specifies which verification requirements are covered in each test.

Page 7: Casper CBF testing presentation (1)

Functional Tests Performed

• Sensor Values• Control via CAM interface• Coarse and Fine L-Band Channelisation• Baseline Correlation Products• Accumulation Length• Per-Antenna Phase Error • Delay Compensation

Page 8: Casper CBF testing presentation (1)

Continuous Integration

• CI is the process of applying continuous quality control – small pieces of effort, applied frequently.

• CI aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control after completing all development.

• Team members integrate work frequently. Each integration is verified by an automated build to detect errors as quickly as possible.

Page 9: Casper CBF testing presentation (1)

Jenkins Overview

Page 10: Casper CBF testing presentation (1)

Jenkins CI

• Jenkins is a continuous integration and delivery application that builds and tests projects making it easier for developers to integrate changes to the project.

• It is an auto test platform which helps users to track where and when bugs are introduced.

Page 11: Casper CBF testing presentation (1)

Jenkins CI Advantages

• Much of the work of frequent integrations is handled by automated build and testing systems – developer time is not wasted on large-scale integrations.

• Software quality is improved - Issues are detected and resolved quickly.

Page 12: Casper CBF testing presentation (1)

Jenkins Capabilities

• Scheduled test runs and generate test reports.

• Email notifications to the team on current build status.

• If build is a success, automatically deploys directly to production or test environments.

• Integrate with many different Version Control Systems.