AQUA Focus on Testing

15
ADC AQUA Focus on Testing Patricio Merino Software Engineer June 2014

description

AQUA Focus on Testing. Patricio Merino Software Engineer June 2014. ADC. Overview. Objective of AQUA Technical aspects Core functionalities How to test AQUA Regression tests and test cases Futures goals. Objective of AQUA. - PowerPoint PPT Presentation

Transcript of AQUA Focus on Testing

Page 1: AQUA Focus on Testing

ADC

AQUAFocus on Testing

Patricio Merino

Software Engineer

June 2014

Page 2: AQUA Focus on Testing

ALMA

Overview

1. Objective of AQUA

2. Technical aspects

3. Core functionalities

4. How to test AQUA

5. Regression tests and test cases

6. Futures goals

Page 3: AQUA Focus on Testing

ALMA

Objective of AQUA AQUA (ALMA Quality Assurance software) is a Web Application

that permits to deliver to the PI(Principal Investigator) a reliable final data product that has reached the desired control parameters outlined in the science goals, that is calibrated to the desired accuracy and free of calibration or imaging artifacts.

The QA process analysis will be based on a calibration plan that specifies which observations must be acquired and at which intervals in order to monitor system performance and environmental time evolution.

QA states:

QA0: At the time of data acquisition

QA1: Observatory-Task Quality Assurance

QA2: Data Reduction

QA3: Post Data Reduction

Page 4: AQUA Focus on Testing

ALMA

Objective of AQUA AQUA (ALMA Quality Assurance software) is a Web Application

that permits to deliver to the PI(Principal Investigator) a reliable final data product that has reached the desired control parameters outlined in the science goals, that is calibrated to the desired accuracy and free of calibration or imaging artifacts.

The QA process analysis will be based on a calibration plan that specifies which observations must be acquired and at which intervals in order to monitor system performance and environmental time evolution.

QA states:

QA0: At the time of data acquisition

QA1: Observatory-Task Quality Assurance

QA2: Data Reduction

QA3: Post Data Reduction

Page 5: AQUA Focus on Testing

ALMA

Technical AspectsDevelopment and Deployment

http://almascience.nao.ac.jp/documents-and-tools AQUA uses CASA authentication AQUA is a Web Interface Developed in Java Server Pages + AJAX (JQuery) +

Spring + Hibernate + Oracle Database Deployed in Apache Tomcat 7

Page 6: AQUA Focus on Testing

ALMA

Technical AspectsTier Architecture: Three layers

Page 7: AQUA Focus on Testing

ALMA

Technical AspectsDatabase Schema

################################################################### relational section, ie. the rest of subsystems accessing the DB# directly, but not monitor, log or statearchive data. This is# currently used only by the Shiftlog

archive.relational.connection=jdbc:oracle:thin:@ALMAI3.SCO.CLarchive.relational.user=almaarchive.relational.passwd=alma$dbaarchive.relational.driverClassName=oracle.jdbc.OracleDriver

############################################### TMCDB section# maybe later... archive.tmcdb.connection=ALMA

archive.tmcdb.connection=jdbc:oracle:thin:@ALMAI3.SCO.CLarchive.tmcdb.user=tmcarchive.tmcdb.passwd=tmc$dba

Page 8: AQUA Focus on Testing

ALMA

Core Functionalities1. The basic unit of a Report is the ObsUnitSet, which represents a scientific goal stated by

the PI during Phase 1 (project creation and review).

2. An ObsUnitSet will typically contain several executions of Sbs.

3. For each execution QA0 and QA1 reports are generated by the AoDs using the information available at the time of the observations, which includes TelCal outputs and other monitoring data (weather, total power levels, Corr GUI outputs, etc).

4. A given execution is only cleared for reduction if it has passed both QA0 and QA1.

5. There will be only one QA2 report for the whole ObsUnitSet generated by DMG at the end of the data reduction process that also has to be cleared for the data products to be deliverable to the PI.

6. The final report per ObsUnitSet delivered to the PI will be a concatenation of all the relevant QA0,QA1 reports per execution and the QA2 report.

7. Comments on each stage of the QA process (with supporting images, if required) will be added to the Report.

Page 9: AQUA Focus on Testing

ALMA

Core FunctionalitiesObsUnitSet life-cycle

Page 10: AQUA Focus on Testing

ALMA

How to Test AQUA

Page 11: AQUA Focus on Testing

ALMA

How to Test AQUA

Page 12: AQUA Focus on Testing

ALMA

Regression Tests and Test Cases

ICT-833 Add search parameters to AQUA

ICT-1104 AQUA - List OUSs in Processed state, search OUSs based on their state

ICT-1151 "Deep-linking" among AQUA, Web Shift Log Tool and Project Tracker

ICT-1175 AQUA - Create a QA1 report

ICT-1228 AQUA - a tool/script/interface to set QA0 flag by group of EBs

ICT-1230 AQUA - specific user roles

ICT-1638 Identify ExecBlocks (EBs) that contain potentially useful data, but which are not used in generation of final science products

ICT-1968 Life-cycle Modifications: SB level Suspended -> FullyObserved automatically trigger by QA0 flag

ICT-2322 AQUA: A new flag "QA2_SemiPass" is needed

ICT-2450 Updating of the QA0 status to Pass/Fail/SemiPass/[Empty]

ICT-2735 QA0: Add plots for Calibration summaries

ICT-2774 Display the Baseline length in meter (currently in km) in the "Phase" QA0 panel

ICT-2786 Mosaic coverage of an EB

ICT-2885 Handling of fractional execution counts

Page 13: AQUA Focus on Testing

ALMA

Test Case TemplateFor each (ICT-JIRA of AQUA) { Eval Precondition

Create Positive Test Case #1: Title 1 Execute the Functionality Check the Expected Result Passed: OK/NOK

Create Negative Test Case #1: Title 1 Execute the Functionality Check the Expected Result Passed: OK/NOK

Create Positive Test Case #N: Title N Execute the Functionality Check the Expected Result Passed: OK/NOK

Create Negative Test Case #N: Title N Execute the Functionality Check the Expected Result Passed: OK/NOK

If (all the Test Cases are Passed OK) then The ICT-JIRA is Verified like Passed Else The ICT-JIRA is Verified like Failed }

Page 14: AQUA Focus on Testing

ALMA

ICT-JIRA Test Data Flow

Page 15: AQUA Focus on Testing

ALMA

Future Goals

Automate the regression test executions Automate the test case executions Automate the creation of a report of tests

oriented to testers and final users