Waters Software Development Life Cycle (EMPOWER PRODUCTS) P r o je c t S ta r t D ocum ent F e a tu r e C o m p le te P r o je c t D ocs. S tu d y M a rk e t R eq. D e s ig n R e v ie w D ev. P la n Test P la n Test C ases D e s ig n D ocs. C ode R e v ie w D e s ig n T ask C om p. R e v ie w Im p le m e n ta tio n Project Func. S pec. D e f in itio n E n d U s e rs In t e r n a l E v a lu a t io n F u ll Test s u ite F u ll E v a lu a t io n R e g r. T e s ts & V e r ify F in a l E v a lu a t io n ( V e r if y ) F u n c tio n a l F re e z e F ie ld P e r s o n n e l C o d e F re e z e F in a l F r e e z e P r o je c t P hases What is Waters Testing Strategy for Empower? Waters Corporation testing process is documented in a number of policies, procedures, and work instructions. The following is a summary. A test plan is generated as part of the SDLC process. The software test strategy encompasses both manual and automated testing which is detailed in the test plan. Testing covers both new functionality as well as manual and automated regression testing. Automated regression testing focuses on complex functionality in areas deemed critical (e.g. Instrument Control, Data Acquisition and Processing, etc.). Manual regression testing focuses on Conversion Testing, Recovery Testing, Performance Testing, Interface Testing, Security Testing, System Testing and testing of System Messages, etc. Manual testing is performed utilizing a combination of Unit, Integration and System level tests. Unit tests focus on an individual aspect of a software feature with the intention of verifying the functionality of each sub-component while integration and system tests focus on the performance of the software in user scenarios. Each required element defined in the Functional Specification shall have a minimum of one corresponding Unit test case. Functional Freeze Acceptance Tests (FFAT) are high level unit tests (covering a broad scope of the features) and are designed to ensure that the feature’s implementation is sufficient to allow for it to pass into the Full Evaluation Phase. These tests are run during Internal Evaluation test phase (first phase of testing defined in the Waters SDLC). These test cases must pass without serious defects in order to reach the Functional Freeze milestone. Page 1 of 5 January 2009 Milestones F e a tu re F re e z e Func. F re e z e A cc. T e s ts After Functional Freeze is reached, lower level Unit tests as well as Integration tests are run during Full Evaluation (the second test phase described in the Waters SDLC). These tests focus on the complete feature implementation and are structured to test the overall functionality of the components and their interactions. In addition, user scenario tests are run during the Full Evaluation test phase and are identified in the database as Code Freeze Acceptance Tests (CFAT). These test cases must pass in order to reach the Code Freeze milestone. After Code Freeze, the Final Evaluation test phase is begun, during which System level tests are run. These tests cover a broad spectrum of the product’s functionality and are designed to interact with the system the way our customers do. They are designed to act as a final confirmation that all new and pre-existing functionality performs as expected. These tests are identified in the database as Release Acceptance Tests. When all of these test cases have been passed, the product is ready for release to customers. Page 2 of 5 January 2009 Waters Software Development Life Cycle (SDMS PRODUCTS) What is Waters Testing Strategy for SDMS? Waters Corporation SDMS testing process is documented in a number of policies, procedures, and work instructions. The following is a summary. A test plan is generated as part of the SDLC process. The software test strategy encompasses both manual and automated testing which is detailed in the test plan. Testing covers both new functionality as well as manual and automated regression testing. Automated regression testing focuses on complex functionality in areas deemed critical (e.g. Print Capture, File Capture, Search, LDAP, etc.). Manual regression testing focuses on Conversion Testing, Recovery Testing, Performance Testing, Interface Testing, Security Testing, System Testing and testing of System Messages, etc. Manual testing is performed utilizing a combination of Unit, Integration and System level tests. Unit tests focus on an individual aspect of a software feature with the intention of verifying the functionality of each sub-component while integration and system tests focus on the performance of the software in user scenarios. Each required element defined in the Functional Specification shall have a minimum of one corresponding test case. The major difference is in the Formal testing. Code Freeze is at flag 4, the start of Release Candidate (RC) Testing. This is well defined testing per the Test Plan, using documented and approved test cases, under control of Quality Engineering (Evaluation). RC testing is combined Verification and Validation testing which includes FFAT, CFAT and Release Acceptance Tests. All Test Cases per the Test Plan must be completed before RC is finished. At the conclusion of RC, there are formal Internal and External releases. Page 3 of 5 January 2009 Waters Traditional Development Life Cycle (MASSLYNX PRODUCTS) What is Waters Testing Strategy for MassLynx? Waters Corporation testing process is documented in a number of policies, procedures, and work instructions. The following is a summary. A test plan is generated as part of the SDLC. The software test strategy encompasses both manual and automated testing which is detailed in the test plan. Testing covers both new functionality as well as manual and automated regression testing. Automated regression testing focuses on complex functionality in areas deemed critical (e.g. Data Acquisition and Processing, etc.). Manual regression testing focuses on Conversion Testing, Recovery Testing, Performance Testing, Interface Testing, Security Testing, System Testing and testing of System Messages, etc. Manual testing is performed utilizing a combination of Unit, Integration and System level tests. Unit tests focus on an individual aspect of a software feature with the intention of verifying the functionality of each sub-component while integration and system tests focus on the performance of the software in user scenarios. Each required element defined in the Functional Specification shall have a minimum of one corresponding Unit test case. Early Evaluation will be used to help prevent major defects from progressing further through the development lifecycle. This may include desk checking with a developer and/or exploratory sessions of early code examples. The results of all exploratory sessions will be recorded in an appropriate format, linking to the version of software tested. Not all functionality will undergo early evaluation. Page 4 of 5 January 2009 Implementation Freeze Acceptance Tests (IFAT) are high level unit tests (covering a broad scope of the features) and are designed to ensure that the feature's implementation is sufficient to allow for it to pass into the Verification Phase. These tests are run during Implementation phase and these test cases must pass without serious defects in order to reach the Functional Freeze milestone. After Implementation Freeze is reached, lower level Unit tests as well as Integration tests are run during Verification Phase. These tests focus on the complete feature implementation and are structured to test the overall functionality of the components and their interactions. In addition, user scenario tests are run during the Verification and are identified as Code Freeze Acceptance Tests (CFAT). These test cases must pass in order to reach the Code Freeze milestone. After Code Freeze, the Validation phase is begun, during which System level tests are run. These tests cover a broad spectrum of the product's functionality and are designed to interact with the system the way our customers do. They are designed to act as a final confirmation that all new and pre-existing functionality performs as expected. These tests are identified as Release Acceptance Tests. When all of these test cases have been passed, the product is ready for release to customers. Page 5 of 5 January 2009