December 28, 2019

Day 21: Design system Testing

No project can go live without testing. Testing is one of the processes that every developer has a hate and love relationship. Testing is done manual as well as you can automate it. For the design system, devs and the dedicated testing teams can also do the testing from their own end. Though both are doing differently intention is to deliver the best product.

What is testing?

Testing is basically a way to make sure what is developed is working as expected as well as looking into the edge cases too. One can do manual, automate, or both. Testing can be done by devs, testers and by both too.

How?

Devs can write the unit test cases of every module they are building. Should use the linters such as - ReactJS, JavaScript, HTML, CSS , etc. Make these the part of the pipelines.

Testers also do the testing. They do by using selenium or any other framework. For design system, testers need to combine automation with manual.

In the design system, with component-level testing, one needs to make sure E2E testing too (End to End or integration testing). Basically to make sure the components UI and functionality as expected when integrated together to build an application.

The most important step in the testing of the Design system is to make sure you are doing integration testing by building some pilot project using your own design system.

Below are the ways to do testing:

  1. Unit test cases by using Jest, enzyme or any testing framework/Lib.
  2. JavaScript , React, HTML, CSS Linters.
  3. Selenium
  4. Cypress.io
  5. Integration testing by making patterns etc.

No comments: