Test coverage reports are not only for reporting coverage percentages

What is a test coverage report? A test coverage report provides information about the extent to which a software application has been tested. It measures the code coverage achieved by a set of test cases, indicating which parts of the code have been executed during testing and which parts remain untested. Test coverage is often expressed as a percentage and can refer to various aspects of the code, such as statements, branches, functions, etc....

January 9, 2024 · 4 min · Dimitris Dranidis

Define your Fluent Interface (DSL) to improve the readability of your tests

Although everybody agrees that automated testing is essential for achieving high software quality, writing tests cases is not always easy. Especially, setting up the test scenarios that involve the initialization of many objects can be difficult. I recently started using the concepts of fluent interfaces and DSL languages for writing my tests in such cases. Using this approach, tests become easier to write and more importantly much easier to read understand....

December 20, 2023 · 5 min · Dimitris Dranidis

Load testing Socket.IO servers using msgpack-parser with Gatling

In this post I will show how we can connect with Gatling to a Socket.IO server which uses a custom parser using the MessagePack serialization format. This is the second post about Socket.IO testing with Gatling. In the first post: Load testing Socket IO with Gatling I showed an example of connecting to a Socket.IO server using the default parser which uses text messages. What is MessagePack? MessagePack is a binary serialization format....

November 18, 2023 · 7 min · Dimitris Dranidis

JSXM

JSXM (http://jsxm.org/) is a model-based testing tool developed in Java. One needs to provide a model specification of a system and the generated test cases reveal all functional inconsistencies in the implementation of the system. The tool provides the following functionalities: Model animation Test generation Test transformation Model animation Animation of the model means execution of the model or simulation of the modeled software. Interactive or batch animation allow the model designer to validate the specification, i....

Load testing Socket IO with Gatling

This article will hopefully save you some of the trouble I had, when I tried to use Gatling for Socket.IO sockets. Gatling has support for web sockets but one has to do a lot of research and workarounds in order to make it work with Socket.IO sockets. What are Gatling and Socket.IO? Gatling is a powerful load-testing solution for applications, APIs, and microservices (https://gatling.io/). Socket.IO is a library that enables low-latency, bidirectional and event-based communication between a client and a server (https://socket....

November 12, 2023 · 8 min · Dimitris Dranidis