Showing posts with label tests. Show all posts
Showing posts with label tests. Show all posts

Tuesday, January 21, 2020

Testing Tour Stop #6 : Pairing on Roman Numerals Kata with Johnicholas

I had my sixth session with Johnicholas who is a programmer from New York who approached me to be part of my #TestingTour so I was really looking forward for our session.

Session


We started off our session by introducing each other and sharing our interests. Johnicholas introduced me a new tool Yayy!! Glitch. This tool is used for coding which is like working together on Google Docs where multiple people can work on the same project at the time. Wow there's no need of any setup and we can see the changes live on the web as we type. Isn't it cool.


Then next step we decided to pick something to work on. Out of so many interesting options we picked Roman Numerals Kata with Gauge to try work on which was implemented using Javascript and Gauge was used for tests. We also decided that we will be using navigator and driver/strong style pairing for our session. Johnicholas became the navigator first and we started off by looking at the readme.md file to understand what it does. It was a simple application that converts a number into a Roman numeral. 

Then it was time to switch role, now it was Johnicholas turns for being a driver and me being a navigator. We decided to check what tests have been already written by going to roman.md file. There were some tests already written to convert "1" to "I". Then I asked if we could write a test - convert "1" to "II" and run and see the results. This is how the results could look like :



We then decided to add some more tests and run. The most interesting part was that we dint use any timer tool to check the time to change the role but still we strictly followed shorter cycles while we were changing the role and it really worked very well.

While we were writing the tests we realised there was no implementation details for few tests. For example, I wanted to write a test - Convert "5" to "V" and check if the test passes. We picked up roman.js file which had the implementation details written in Javascript and this is how an example implementation looked like before we started writing the implementation code.



Once we had this implementation code written we then added the tests to check if it works and converts 5 to V. We continued writing more tests and run to see if it does what it is expected to do. I was really enjoying using this Glitch tool as it was so easy to use. 

Learnings

  • Got introduced to a new tool Glitch which really awesome. There were so many different projects to work on and practice and the most interesting part of this tool is that multiple people can collaborate and work on the same project. 
  • We don't need any timer tool if both pairing is familiar or very much willing to do strong style pairing. We dint use any timer tool but we were still following regular short 5 mins cycles to change our roles.
  • I knew that not just testers would like to pair with a developer and learn to pair but developers as well are interested to pair with testers.Johnicholas was interested to pair with tester's outside his team to learn and share. 
  • Discuss about the application to understand it better before starting to work/test on it. This would make sure that both have same understanding about the application.
It was such a great and interesting session and in fact we decided to pair again to collaborate on another project on Glitch.