5

I have searched for "Unit test" on the internet and I always find that it is a software development topic. If I am not writing code and instead I am designing, for example, a BI dashboard, can I consider "Unit testing" it?

Well indeed we want to test the dashboard but I don't know if it's correct to talk about "Unit test" outside of the coding world. I would like to test that the information represented in the dashboard is correct and the filter functionality works.

7

Yes, Unit-testing is only software related. No testing the implementation of a dashboard cannot be considered Unit-testing. Unit-tests typically test relatively small programming functions. A dashboard is the result of a lot of programming classes which consist of even more smaller programming methods (a.k.a. functions).

Unit tests are typically automated tests written and run by software developers to ensure that a section of an application (known as the "unit") meets its design and behaves as intended. In procedural programming, a unit could be an entire module, but it is more commonly an individual function or procedure.

https://en.wikipedia.org/wiki/Unit_testing

What you are describing is probably functional testing. You could describe different dashboard behaviours in functional test-cases. E.g. Test Filter X:

  1. Load predefined dataset (Arrange or setup)
  2. Filter dataset on X (Act, action under test)
  3. Results are Y (Assert or verify)

This test script should be repeatable and could be automated.

|improve this answer|||||
2

In your particular example you're talking rather about functional testing than unit testing, as Niels explained in his answer.

I will, however, surprise you about one thing. When you're automating tests you're doing software development as well, because automated test is a piece of software, too. When your tests and the code behind them becomes complex, they may deserve unit tests as well. For instance, if you create a unit to calculate tests failure rate, you can unit test it.

|improve this answer|||||
1

A unit test is, by definition, every test that verifies the functionality of an atomic part of your system independent of other components.

If you create a dashboard using a tool like kibana the atomic components are abstracted away from what you do by multiple layers so no, you will not be able to unit test it.

You can of course unit test the ETL Pipeline providing your data as well as you can integration test their respective interfaces.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.