The VA.gov Platform provides QA-related tools and resources to help you build quality Veteran-facing digital experiences that are bug-free and function as designed. This guide is an overview of the tools and resources provided for you to perform QA activities.

Creating a test plan

Your test plan outlines the steps required to perform QA testing. It includes information about who will be responsible for each task, which topics are being tested and when it should be completed. We provide a TestRail account for each VFS team to use to help you create and manage your QA testing plan.

For more information on getting access to TestRail and using TestRail to create a test plan, see Creating a plan in TestRail.

You’re not required to use TestRail, but the templates and resources we provide assume that you will. If you plan and execute your QA using different tools, you're responsible for providing documentation that’s equivalent to the artifacts required as part of the collaboration cycle.

QA testing within the Platform CI workflow

The Platform CI workflow includes tools and features that support both automated and manual QA testing activities.

Unit testing

Type

Description

Guides

Frontend unit tests

Write unit tests as you build to make sure your form (or other component) is behaving as you expect and to help guard against future bugs.

Unit tests for frontend testing

API unit testing

Determine whether your application behaves correctly even if HTTP calls to external services do not return correctly.

API unit testing with VCR Ruby gem

End-to-end testing

Determine if application dependencies are working accurately and check if accurate information is being communicated between multiple system components.

See the End-to-end testing with Cypress guide for more information.

QA testing outside of the Platform CI workflow

You’ll need to manually manage QA activities that happen outside the Platform CI workflow.

Load testing

Run load tests to ensure the stability of an API before launching new endpoints or making substantial updates to existing endpoints.

Tool

Description

Links

Locust

Open source load testing tool. Use to define test behavior in Python code. Has a web interface for interactive testing.

wrk2

An HTTP benchmarking tool based mostly on wrk.

Cross-browser testing

Conduct cross-browser manual testing after you've pushed your build to staging. Your application or feature must work in all of the browsers and versions included in our browser support policy.

You can use TestRail to create multiple test runs with different operating systems or browser configurations. If you already have a TestRail account, you can view this example TestRail Test Plan with Multiple Test Runs. If you do not have access to TestRail, see Create a test plan in TestRail for instructions on requesting access.

Accessibility testing

Integrate accessibility testing into your product development process to make sure your service is usable by everyone. The VA requires that your product meets WCAG 2.1 Level A and AA success criteria. Review the following resources and guides to help you meet the VA.gov experience standards for accessibility.

Resources

Guides

Working with Platform accessibility specialists

Environments

Depending on your product, you may want to verify and validate your product in one of the standard Platform environments.

  • Review Instances: These ephemeral environments are only available through the SOCKS proxy and are created when a pull request is opened in vets-website or vets-api repositories.

  • Development: Integration with live external services outside of VA.gov are not available in this environment. Instead, this environment relies on mocked data.

  • Staging: Integration with live lower environments for external services outside of VA.gov is available in this environment.

  • Production: Integration with live external services across the VA enterprise and real production user data is active in this environment. Use of feature toggles to limit the audience for your change may be prudent. Platform does not recommend verifying the functionality or behaviors of your product in production.

See Environments for more information.

Test users and test data

An essential aspect of creating a quality assurance test plan for your product is the setup of test users and associated data. The Test User Dashboard (TUD) is a searchable, filterable, interactive catalog of test user accounts available for use in staging and review instances.

You must have with SOCKS proxy access to use TUD.

See the Test User Dashboard documentation for more information.

Monitoring QA practice health

Our QA Product Dashboards give insight into how VA.gov products are functioning from the perspective of QA coverage. Use the dashboard for your product to whether or not you’re in compliance with VA standards and identify areas for improvement.

See the QA Product Dashboard guide for more information.

Other helpful tools

LICEcap

Create animated GIFs to attach to defects and aid in the description of an issue encountered. Download this tool at the Cockos Incorporated website.

GitLens

A plugin for VSCode that uses git blame to present who changed what and why in the code. Download GitLens from the Visual Studio Marketplace.

Dead link checker

One way to quickly smoke test link functionality on the full site is to enter a URL (example: https://staging.va.gov) in this dead link checker tool.

Chrome DevTools

Chrome DevTools can help you isolate a misbehaving element on the page, examine element attributes, and explore errors on the page.

Viewport Resizer

Viewport Resizer is a Chrome extension for resizing to different preset viewport sizes to verify responsive design.