AQUA - TWiki

advertisement
AQUA
Focus on Testing
Patricio Merino
Software Engineer
June 2014
ADC
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
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
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
ALMA
Technical Aspects
Development 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
ALMA
Technical Aspects
Tier Architecture: Three layers
ALMA
Technical Aspects
Database 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.CL
archive.relational.user=alma
archive.relational.passwd=alma$dba
archive.relational.driverClassName=oracle.jdbc.OracleDriver
##############################################
# TMCDB section
# maybe later... archive.tmcdb.connection=ALMA
archive.tmcdb.connection=jdbc:oracle:thin:@ALMAI3.SCO.CL
archive.tmcdb.user=tmc
archive.tmcdb.passwd=tmc$dba
ALMA
Core Functionalities
1. 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.
ALMA
Core Functionalities
ObsUnitSet life-cycle
ALMA
How to Test AQUA
ALMA
How to Test AQUA
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
ALMA
Mosaic coverage of
an EB
ICT-2885
Handling of fractional execution counts
Test Case Template
For 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
}
ALMA
ICT-JIRA Test Data Flow
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
ALMA
Download