TL;DR
In this post I am presenting web tool that creates counterstrings.
Counterstrings are created by James Bach. They are self describing test data and because of that property, they are example of self verifying test data.
Self verifying test data is one of concepts that you can learn in BBST Foundations. As I have been co instructor in AST BBST Foundations course, I have first hand experience that students have trouble grasping the concept of self verifying test data.
How do we know that some test data is self verifying data? If JUST BY OBSERVING THAT DATA, with NO any help with other test data, we know that feature is working or not. Counterstrings could be used in order to determine the length of input field.
For homework, write self verifying test data for math square function:
f(x)=x**2
Here is Ruby code that calculates counterstrings:
Application is created with Ruby on Rails framework. I had to resolve following design problems (and stuff that I learned):
- write counterstrings algorithm in Ruby
- check that algorithm using rspec
- what is practical maximal allowed counterstring length?
- how to pass variable between different Rails routes
- how to wrap long string in html
- copy paste string to clipboard