You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

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. 

 

Project MilestoneTesting Activities
Project ABC approved for discovery 
  • Testing resources included as part of discovery project discussion

Business Analyst works with product owner to document system requirements

  • System requirements are captured as acceptance criteria so that they can be used as test cases for functional testing

Project Manager creates project plan.

  • Project Manager meets with Release Engineering team manager to consider testing needs for the project
  • Decision regarding manual function testing vs. automated function testing. 
Developers begin coding application and any needed APIs

Unit function tests for application: Created by developer and/or executed manually by developer and/or BA.

Unit function tests for APIs. Created by developer. Consult with Release Engineering as needed. 

API Performance testing: Validate API performance in isolation from application.

Security testing: For Java applications, developer integrates Veracode into IDE in order to verify code does not have security vulnerabilities.

Continuous Integration: Utilize Travis to execute unit tests automatically for each application build.

One application feature complete

API Unit tests: Release Engineering validates API unit tests

Systems Integration: Validate integration of application with APIs and other backend services 

Automated function tests: Begin coding automated function tests for test cases that have been validated by the product owner.

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.
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.

 

 

 

  • No labels