Software testing is a critical component of the development life cycle and is essential to ensure the software meets the user’s requirements. With SunGuide software, we conduct a comprehensive set of tests before the software is deployed. Within SunGuide software release cycle, we have two types of software releases: minor and major release. For minor releases, the Department requires a reduced level of testing to be conducted while for major releases with significant software modifications, a comprehensive software testing is required. The Department conducts “Black-Box software testing” as the Department doesn’t need to understand the inner-workings of the software but intends to ensure that the results from each software action are as expected. As a result, the software is treated as a black-box. The Department does manual testing of the software features as automated testing is expensive and labor intensive.
The software tests typically includes functional testing (test all new requirements and existing requirements that may have been impacted) and non-functional testing including load test or stress test (simulate significant number of ITS devices using device simulation programs to identify if the software performs acceptably) and performance testing (verify if the software is able to perform actions within a pre-defined time).
These tests are conducted as part of these testing events:
Unit testing & Integration testing: The contractor conducts the unit testing and integration testing prior to preparing the final software deliverable.
Factory Acceptance Testing: this testing is conducted at the contractor’s facility and is formal in nature as the Department attends this testing event. The contractor executes the test cases and conducts the functional testing and non-functional testing, if needed. The Department requires the factory acceptance testing to be conducted for major releases but not for minor releases.
Independent Verification and Validation: this testing is conducted after the Department accepts the software product. The Department conducts the IV&V at either Traffic Engineering Research Lab (TERL) or FDOT district TMCs. The test cases are carefully written to verify (meets the conditions discussed at the start of development by the Department) and validate (meets the requirements) the software. So validated software could meet all requirements but may not be acceptable for operational use (failed verification).
The District TMCs also conduct a smoke testing (“shallow and wide” testing of the application) or functional and non-functional testing prior to deploying the software.
To view the Department’s test documents, click here.