I am late in posting, but here are the photos from last few classes. I am sure you are taking notes, but sometimes visuals do help.
Installation Instructions for class on 4/4/13
So, all of you must have installed RubyMine and JRuby by now. If not, here is what you need to do -
Installation of RubyMine
- Go to http://www.jetbrains.com/ruby/download/index.html
- If you have Mac OS or Linux, select appropriate OS
- Download latest version available there. Current version is 5.0.2
- Just below the button that says download, you’ll see a set of instructions to install RubyMine
- You’ll get 30 days of free trial, and that’s the reason I want you to install just a day before we really need it, which is 4/4/13, tomorrow!
- Follow default installation and do not change default options available during installation process
- After it’s installed, open and verify it.
Installation of JRuby
- As I mentioned in a class this week (on 4/2/13), we can use either Ruby or JRuby with Cucumber. For our class, we are going to use JRuby.
- Go to http://www.jruby.org/download
- You’ll see latest version up there. Current release version is 1.7.3
- If you’re on Windows 7 box or 64 bit Vista, use – “JRuby 1.7.3 Windows Executable+JRE (x64)“
- If you’re on 32 bit box, use – “JRuby 1.7.3 Windows Executable+JRE“
- Similarly, if you’re on Mac, use – “JRuby MacOS Installer“
- Use default installation process, do not change any default options it shows during installation
Installation of Ruby (Optional)
- We won’t need Ruby for this class if you JRuby installed, but it’s good to have a Ruby installation available on your machine
- Best way to install Ruby is to go to - http://rubyinstaller.org/downloads/
- You’ll see current version available there. As of this writing, latest version is 2.0.0
- If you’re on Windows 7 box or 64 bit Vista, use – “Ruby 2.0.0-p0“
- If you’re on 32 bit box, use – “Ruby 2.0.0-p0 (x64)“
- Installation of Ruby on Max OS X is tricky. You can do it in different ways. One way is to follow what is written at - http://rubyosx.rubyforge.org/
Related articles
- Why JRuby? (slideshare.net)
- The future of Ruby (neo.com)
Third Session
Today’s presentation
Today we talked about Basic Structure of Cucumber. I am also attaching a photo of white board from today’s class.
Next sessions -
- More cucumber – basic structure
- Cucumber on laptop – I’ll use RubyMine
- Role Play – ATDD Case Study
You still don’t need your laptop until we’re done with Role Play.
Thanks for working on your assignments. Here is something that I would like to add.
1) Books I love
- On a subject of ATDD - Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration by Ken Pugh. The only reputed book available in the market on a subject ATDD as a process perspective. Doesn’t include any coding or mumbo-jumbo or tools. Pure process read. Real-world guide to ATDD, and presents keys to developing software with testable results. This should be your first book in your journey towards ATDD mastery!
- On a subject of Cucumber – The Cucumber Book: Behaviour-Driven Development for Testers and Developers by Matt Wynne and Aslak Hellesøy. From the creator of Cucumber. This is the book which is recommended by Cucumber’s official site (http://cukes.info/). This book contains comprehensive Cucumber information for beginning to advanced Cucumber users. You should hold off reading this book until we are done with Cucumber basic structure sessions and some part of ruby. If you’re looking for a soft copy, here is a link.
- On a subject of Cucumber – Cucumber and Cheese by Cheezy. Any thing coming from Cheezy is always great! In this books he explains cucumber from his perspective. It has some coding examples to follow. Only available in a soft copy format. Cheezy comes to Columbus very often to speak at various meetings and conferences. Make sure you listen to him whenever you get a chance.
I’ll keep on adding few books as and when I find them. There are some great books available in a world of Ruby and Agile that you can read all the time. But, as far as ATDD and Cucumber are concerned, there are very limited number of books available.
2) Research on a definition of ATDD. Find out all different kind of definitions, see what other people say about ATDD. Is it the same that you learned today? Or is it different?
All of you did some research on ATDD and that’s great. We looked at Cucumber’ official site. It’s not frequently updated, but visit this site once in a while and see what you find. When you go to home page, you see those 6 tiles… compare it with what you learned in second session. Is it similar or not…?
Slides from first two classes, your assignment details and meeting information
Hello everyone… Hope you’re enjoying getting up early on Tuesdays and Thursdays!
Here are the links to slides -
Your assignments to work on before we meet next week on 3/12
1) Find two books on a subject of ATDD
2) Research on a definition of ATDD. Find out all different kind of definitions, see what other people say about ATDD. Is it the same that you learned today? Or is it different?
And about Columbus ATDD Developers Group that I was talking about…
Today’s meeting URL is -
http://www.meetup.com/techlifecolumbus/events/93163032/
If you’re planning to attend, register there. Refer this URL for parking information. Lunch will be served. They meet first Thursday of every month. Read their blog or follow them on twitter.
Meeting Description -
Is Test Data bothering you?
Does your cucumber test suite often fail because you don’t have enough Test Data?
Is Test Data Management your biggest barrier (or not?!) in achieving efficiency in ATDD?
How are you managing Test Data in multiple environments?
Do you have a best practice to share with others on Test Data Management?
Is there a tool that you think can help teams practicing ATDD with Test Data Management?
Can you contribute to the discussion related to Test Data?If you answered any of these questions in yes, then you should attend our meeting in March that focuses on Test Data and its management. It’s going to be a very comprehensive open discussion among ATDD enthusiasts representing diverse range of industries and organization across central Ohio region.
Come prepared with all the questions you have and answers to some of the above questions. Bring someone with you who might make this discussion even more interesting!
We are going to meet at Pillar Technology, Columbus. Lunch will be provided.
Thank you Pillar Technology for hosting us and sponsoring lunch!
Update on 3/5 – Parking Instructions
Please park in the West Lot (see diagram below or open PDF for bigger diagram)
The access code is 5923# – the buttons need to pressed slowly and firmly as the keypad is touchy. There is a walkway under 4th street that takes you to the smith Bros main visitor parking lot.
Test Managers and ATDD
In the era of xDD (“x” Driven Development), we are experiencing many theories of developing a software. Believers of each theory in turn, have their own view of a particular practice as well. But, probably all of them agree on one point – multi-skill workforce.
In agile and especially with xDD practices, we need people who are not specialized on one particular role but have skills and intention of playing other roles in the team. For an example, with Acceptance Test Drive Development (ATDD), roles of Developer and Tester are not distinguished. There are same people playing different roles at different time in different situation. But, the real challenge is to find people who are multi-skilled in both testing and development. So, if yours is a web based application with J2EE as your engine and using Ruby-Cucumber for ATDD, you are basically looking for a person who is proficient in Java and skilled in Ruby. As you might have guessed, with Agile and ATDD world still evolving, it is almost impossible to find sufficient people with this requirement for your project. So, next option for the companies is to train their existing staff.
With this option in mind, management in IT department will come up with training plans. They want to see their manual testers to learn Automation, Ruby language and various tools. Testers already having Automation skills will be asked to learn exploratory testing skills and Java. And similarly, developers will be asked to learn Automation Tools and Ruby. So, basically management wants their staff to rise up to the occasion.
So, why don’t we apply same equation to management? Don’t we want management to have hands-on experience on multi-technology as well so that they can manage work of their staff better?
Suppose there was a tester in an IT department in the year of 1998. Probably at that time, there was no specialized role of a Tester defined and there was no Testing department. But that person was responsible for quality assurance of that web based application in your team. He used to check your website manually. He also used to write test steps in the excel file he had on his desktop. In a year of 2005, your company introduced specialized role of a Tester and some Test management tools. They also decided to build a department for Testing and have dedicated management that can oversee Testing efforts. That tester had done a good job for years and was made a Test Manager. He hasn’t used those Test management tools yet though. Now, he is responsible for a staff of 10 testers. This is 2012 and your company and department have undergone many changes meanwhile. Your department is now following Agile practices. Developers in your team trying their best to use Test Drive Development (TDD) practice. They have a semi-specialized role of Automation Person in addition to manual testers they had built in before. That Test Manager hires people with Automation skills although he hasn’t used Automation tools before. A popular notion, IT managers need not to have technical skills but “managerial” skills, is helping him stay there. Now, your department is moving one step ahead in Agile maturity model. They want to use ATDD in their software development process. And as the story goes above, they are training their staff on multi-skills. They are targeting manual testers and test leads first. Both of them have no programming knowledge and they had not wanted to learn programming languages either by choice or by fate, otherwise they would have become developers in their career. But, management forces them to cultivate programming and automation expertise in order to have their staff fully skilled to perform ATDD efficiently. Management is neither blind folded nor harsh. They are providing enough training, giving enough time and producing learning culture to help their staff prepare for this transformation. But, my real question is – shouldn’t that Test Manager learn programming language and automation tools? Argument for this question is straight forward – when his staff will come to him with some question, how in the world will he understand, what his staff is talking about? Although staff may not come with technical question to him, without hands on experience of what his staff does, Test Manager will not be able to recognize issues or appreciate neatness. He will not be able to differentiate between a mess and a high-quality work.
It is very much required for Managers to be technical. As I wrote above, we have a common belief in IT world that managers should have more of managerial skills than technical skills. But, most of the managers overseeing development work; either they are called development managers or project managers and Iteration managers, have past development experience. They have climbed up the ladder. But, this is not seen in testing world. Although we try our best to put development and testing at the same level, testers are still second class citizens of IT world and testing department always lags behind the development department in reforms. Whole testing world; including all testers, testing practices and testing departments & management need to experience a big reform. And they are so far very behind in that reform curve. Implementation of ATDD exposes this issue in much magnified manner than any of the prior software development practices. But, we must wait to see if ATDD implementation can help fix this issue in addition to exposing it?! My fingers are crossed while we all witness the thrilling future of ATDD.




