Testing VSCode Extensions with Cypress and code-server

Recently I started working on a Visual Studio extension: a dependency visualizer for js/ts projects (still in early alpha). While working on it I started digging on how to test extensions.

Visual Studio has a nice setup to do unit testing but I was looking to go further. I wanted to do some BDD and define test cases closer to my acceptance criteria.

So, I ended up playing with Cypress and setting up a way to test extensions E2E. There are 4 steps involved in this setup and I’ll explain in detail how to do it.

vscode e2e
Continue reading “Testing VSCode Extensions with Cypress and code-server”

Thoughts on Snapshot Testing

Since I moved to react at work I have been using and trying different testing strategies and I wanted to share some thoughts and best practices around snapshot testing.

In the past I have worked on different projects on frontend, from simple websites to complex editors. Along the journey I have used different testing frameworks and tools.

While recently snapshot testing has become popular, in my opinion it can be a double edged sword, and here is why.

Continue reading “Thoughts on Snapshot Testing”

How to measure design effectiveness

I been reading a book called Adventures in Experience Design written by Carolyn Chandler and Anna Van Slee, and I found a method that seems to be very useful to test how effective an user interface is.

The exercise is just about taking your design with a collection of words that convey positive, negative or neutral feelings and share it with others, so they can choose which words spring to their minds when looking at the design.

Design is all about communication.It is the user communicating with the system model, a conversation between them, and the UI is the channel. Providing a good channel is crucial to succeed with your application. So I went deeper into the technique explained in the book and created a recipe to measure the actual message you are trying to convey with a design.

10 simple steps to measure the design:

Continue reading “How to measure design effectiveness”