System Testing – A Closer Look
One of the core services that Courtland provides is implementation of large and small scale systems. One very important step in the process of implementing a new system is testing and quality assurance (QA). Courtland’s testing resources have provided services to many human services and education projects including the Michigan Child Support Enforcement System (MiCSES), New Jersey Kids Deserve Support System (NJKids), Delaware Automated Child Support Enforcement System (DACSES), and the Michigan Continuous Improvement Monitoring System (CIMS). System Testing verifies that the system to be delivered to a client meets intended specifications.
The main focus is to evaluate Business and Functional requirements with the ultimate goal to deliver the best quality functionality to the client. System testing looks at system behavior as a whole and encompasses all parts of the system potentially impacted by a change.
There are five key components to system testing:
1. Test Plan – The first step is to make a system test plan which may include:
- Critical areas that need focus
- Testing strategy for the System Test
- Testing occurs within a production-like environment with “normal” daily/weekly/monthly batch runs
2. Information Gathering – This step includes researching additional aspects of the unit of work by identifying:
- Critical areas of focus such as security, usability, accessibility, mobile and browser, compliance, integration components, financial processing, and any other core functions
- Relevant batches, screens, files, system generated reports, back-end tables, and forms that will be tested
- Identify test scenarios and data elements
3. Test Scripts – Write test scripts for system testing. Test Scripts are a set of instructions that will be performed on the system to test that the system functions as expected
- Include functional, regression and usability testing
- Determine data prep needs for each test script
- Verify test scripts cover all functional requirements
4. Data Prep – Complete data prep for test scripts using existing data or creating test data 5. System Test Execution – The last step to system testing is to:
- Execute system test scenarios in a controlled testing environment that models the production environment
- Capture screen shots proving successful changes or system issues
- Document and report any defects found
- Re-test scenario once defect is returned
System Testing is the last stage of testing prior to handing it to the client for User Acceptance Testing; the last chance to ensure a quality system is delivered to the client. Other stages of testing in the development process are unit testing and integration testing.
Author: Judy Cheyne. She has been a Courtland employee for 16 years and is currently assigned as a testing resource with the Michigan Department of Health & Human Services (DHHS) – Office of Child Support (OCS) MiCSES project.