The Release Engineering team assists project managers, business analysts and software engineers in ensuring that IS&T's deployed applications, Application Programming Interfaces and Software-as-a-Service offerings are production ready. Our testing engineers build automated API tests, performance tests and regression tests, as well as offering consultation regarding testing strategies. The Veracode platform is available to IS&T staff for security testing. This checklist is intended to be a tool for project managers and business analysts as they move through the phases of software development projects and software-as-a-service and platform-as-a-service implementations. Questions? Email release-engineering@mit.edu.
Date | Project Milestone | Testing Activities | Week 1 |
---|
Project ABC approved for discovery | Include testing - Testing resources included as part of discovery project discussion
| Week 1 |
Business Analyst works with product owner to document system requirements | System requirements | definition: | - System requirements that are captured as acceptance criteria so that they can be used as test cases for functional testing
| Week 2 |
Project Manager creates project plan.
| Include test planning as part of the project plan: - Meet Project Manager meets with Release Engineering team manager to consider testing needs for the project
- Decision regarding manual function testing vs. automated function testing.
| Week 4 |
Developers begin coding application and any needed APIs
| - Unit function tests for application
: Created - are being created by developer
and/- or executed manually by developer and/or BA.
- Unit function tests for APIs
. Created - are being created by developer.
Consult - Developer consults with Release Engineering
as needed. API Performance testing: Validate API - regarding unit function tests for APIs
- Developer works with Release Engineering to validate API performance in isolation from the application
.Security testing: - For Java applications, developer integrates Veracode into
IDE in order to verify code does not have security vulnerabilities. Continuous Integration: Utilize - Integrated Development Environment (IDE).
Release Engineering creates an application entry on http://veracode.mit.edu - Configure Travis to execute unit tests automatically for each application build.
Week 12- Consult with Release Engineering as needed.
|
One application feature complete API Unit tests:
| - Release Engineering validates API unit tests
Systems Integration: Validate - Release Engineering validates integration of application with APIs and other backend
services Automated function tests: Begin - services
- If applicable: When one feature is stable and approved by business owner/product owner, Release Engineering begins coding automated function tests
for test cases that have been validated by the product owner. |
Week 20 | Application available in Test environment
| Performance Testing: - BA or product owner determines test cases and expected response times
- Test environment scaled similarly to production in order to deliver valid test results
- Load testing: Validate that average response times are consistent with product owner expectations.
- Stress testing: Increase load incrementally to determine the point at which the application will fail to respond.
Systems Integration Testing (SIT): - Validate integration of application unit tests, API unit tests and other backend services
Automated Function Testing: - Validate that UI behaves as expected, based on a set of specified test cases.
- BA validates automated regression tests and documents edge cases that will need manual testing.
Week 28 |
Go-Live | Automated Function Testing (Regression Testing): - Automated regression tests are available to be run for all application builds, to ensure that code changes do not break existing application functionality.
Performance Testing: - Available to be re-run against Test environment as needed.
|
...