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 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 are being created by developer or executed manually by developer and/or BA.
  • Unit function tests for APIs are being created by developer.
  • Developer consults with Release Engineering regarding unit function tests for APIs
  • Developer works with Release Engineering to validate API performance in isolation from the application
  • For Java applications, developer integrates Veracode into 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. Consult with Release Engineering as needed.

One application feature complete

  • Release Engineering validates API unit tests
  • Release Engineering validates integration of application with APIs and other backend services
  • If applicable: When one feature is stable and approved by business owner/product owner, Release Engineering begins coding automated function tests

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