View
45
Download
2
Category
Tags:
Preview:
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
Citation preview
ADC
AQUAFocus on Testing
Patricio Merino
Software Engineer
June 2014
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
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 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
ALMA
Technical AspectsTier Architecture: Three layers
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
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.
ALMA
Core FunctionalitiesObsUnitSet 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 Mosaic coverage of an EB
ICT-2885 Handling of fractional execution counts
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 }
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
Recommended