Testing

The Optimal Analytics SDLC testing process ensures delivery of the highest-quality product possible. Testing occurs upon completion of the development sprint and includes test sprint planning, environment setup, test protocol implementation, and recording results. During the testing sprint, each user story and feature is tested using documented and vetted test protocols that are linked to requirements. Test results and requirements are captured for future reference. Optimal ensures that the following types of tests are conducted:
Automated Unit Test

Automated Unit Testing (AUT) is conducted by each developer, in every development sprint, on his or her code to ensure bug-free product release version.

Smoke Testing

Smoke Testing is conducted after every development sprint to ensure working of the core components of the system.

Functional Testing

Verification of individual requirements that is performed after AUT and smoke testing by independent testers using assigned test protocols for all of the specified browsers.

Load Testing

Testing to ensure that performance specific requirements are satisfied.

Vulnerability/Penetration/Security Testing

Review of the source code from the viewpoint of security to ensure that threats like SQL Injection, Cross-site Scripting, broken authentication and session management are addressed, as well as others.

Application: Code Best Practices

Code review by an independent third-party contractor is set up quarterly to implement best practices in software engineering to ensure improved quality of the product.

Section 508

This testing is conducted to ensure that the product meets the government accessibility guidelines. Tools like JAWS, Wave plugin for browsers and ChromeVox Screen Reader are utilized to test Section 508 compliance.

System Regression Testing

Based upon the failures identified and the impact of product changes, regression testing is performed throughout the lifecycle to ensure that changes do not introduce additional faults to other components of the system.

End-to-End Integration

Verification of project-specific user scenarios by project personnel with in-depth knowledge of the customer requirements.

User Acceptance

Clients or end-users test the product and provide feedback prior to release.

Contingency

Steps to follow if technical problems or security issues occur are laid out in a contingency plan that is shared with everybody.