Time for some
practical applications of testing. We
have many different types of tests that we run on each build
of Tableau. These range from the "industry
standard" unit tests, to integration tests, performance tests, end to
end
scenario tests and many more in between.
This week I am
working on end to end tests for our clustering algorithm. I have a basic set of tests already done
and
want to extend that to check for regressions in the future. We have a framework here built in Python that
we use to either drive the UI (only if absolutely needed) to invoke actions
direction in Tableau. I'm using that to
add tests to manipulate the pills in the Edit Cluster dialog:
In case it is not
obvious, I am using the iris data set.
It is a pretty basic set of flower data that we used to test
kmeans as
we worked on implementing the algorithm.
You can get it here. I'm actually only using a subset of it
since
I really want to focus only on the test cases for this dialog and not so much
on the underlying algorithm. I
don't
need the whole set - just enough flowers that I detect a difference in the
final output once I manipulate
the pills in the dialog.
Some basic test
cases for the dialog include:
- Deleting a pill from the list
- Adding a pill to the list
- Reordering the list
- Duplicating a pill in the list (sort of like #2 but is treated separately)
- Replacing a pill on the list (you can drop a pill on top of an existing pill to replace it.
I'll leave the
number of clusters alone. That is better
covered by unit tests.
I'll let you know
how it goes. I should be done within a
day or so, other interrupting work notwithstanding.
Questions, comments,
concerns and criticisms always welcome,
John
No comments:
Post a Comment