Frontend
1.0.0
1.0.0
  • Introduction
  • Project Guidelines
    • INTRODUCTION
    • PROJECT SETUP
      • Frameworks
      • Static type checking
      • Code Quality Tools
      • Enforcing good practices
      • Testing
      • Code versioning flow
      • Continuous Integration & Delivery
      • Isolated component development
    • EFFECTIVE AND CONSISTENT WORKFLOW
      • Code structure, architecture
      • Code versioning and review flow
      • Testing
      • Continuous Integration & Delivery
      • Dependency checking
      • Project Management Tools
      • Communication
    • THE QUALITY OUTPUT
      • Great UX/UI
        • Design & User Experience
        • SEO, SMO
      • Accessibility
        • Introduction
        • Why a11y?
        • Fundamentals
        • A11y in STRV
          • Share Knowledge
          • Project Life Cycle
          • A11y culture
      • Performance
        • Bundle Size
        • Deployment
        • Audits & Reports
      • Stability
        • Documentation
        • Analytics & Error Tracking
        • Quality Assurance
      • Security
    • FINAL WORDS
    • ACKNOWLEDGEMENT
Powered by GitBook
On this page
  • Benefits
  • Risks you can incur by not implementing the measure

Was this helpful?

  1. Project Guidelines
  2. PROJECT SETUP

Testing

There are many different types of testing, but for frontend, we are mainly interested in the following:

  • Static - static type checking combined with linters capture common errors, like typos or incorrect syntax

  • Unit tests - focus on critical behavior, business logic and the functionality of your app

  • Integration tests - are making sure everything works together correctly

  • End-to-end (e2e) tests - automated click-testing of critical paths (instead of relying on your users to do it for you). Or visual regression testing comparing the implementation of designs.

Benefits

  • Efficient use of developers’ time by not having them test the solution manually

  • After every code change, you don’t need to manually retest it (making it less expensive and less time-consuming, since devs will focus only on development)

  • Easier cooperation between BE and FE (reduces interactions between platforms after each change)

  • Application stability

  • Reduce the number of bugs by a massive number

  • Ensure that every functionality works exactly as it is supposed to

Risks you can incur by not implementing the measure

  • Huge waste of money/time that could be used towards feature development

  • No one can ensure a “bugless” solution and the proper behavior of all functionalities

  • The bigger the solution, the more fragile it becomes

  • Really hard or almost impossible to do refactoring

PreviousEnforcing good practicesNextCode versioning flow

Last updated 5 years ago

Was this helpful?