Aqua Test Driven Development.

Muwonge Nicholus
2 min readApr 5, 2019

--

One of the best practices when writing code is to write tests for it. These certainly alert you of a particular point in your application that's not fully functional.

In the business operations of Aqua this is a do or die practice since large applications can be hard to debug and maintain without using this practice. Well, I personally as a team member, I have written multiple tests for the features on which I have worked. A sample of these look like the demonstration below.

for instance the create user validation tests look like:

Tests coverage after adding all the validation tests

The other tests I would be glad to show off are those for creating user profile feature.

And the test coverage looke like this on adding these tests:

Tests after adding user profile tests

As its crucial to write tests Continous integration is as important so Aqua uses Travis CI for this purpose to tell how much the code is being tested through a tool called Coveralls that produces a report.

The coverage is displayed and in my case the repo badge is embeded in a readme.md file :

For the local bit of the application production, the team uses ;

  • Nose Testing tool to carry out the testing and also give a detailed report of how many tests have been run, which files have been tested and how much they’ve been tested.
  • Pytest: For my case, I from time to time find my self using Pytest to run my test. This is also a great testing tool

Unit tests are important for building application as my favorite blog “Real Python” says if it can break test it. This true because occasionally code breaks at points one cant always tell which unit tests help to highlight. This also makes Continous Integration possible in cases where one has to merge a feature that breaks other features.

It is a nice practice. Adopt it.

--

--

Muwonge Nicholus
Muwonge Nicholus

Written by Muwonge Nicholus

I am a Javascript and Ruby engineer. I love designing user interfaces and currently working in payment systems.

No responses yet