Tuesday, 10 January 2017

30 Days of Testing

The Ministry of Testing has a fun 30 days testing challenge. It goes like this:
One challenge per day, 30 days of adventure and discovery. This kind of challenges are like going to the gym, or playing batucada. The more you put into it, the more you will get out from it.

This post will be my diary with how my journey happens to be.

#1 Get a Testing book, and read it before day 31. Getting the book was easy,  so the tricky part must be finishing it before day 31.

#2 Take a photo of something I am doing at work. We are welcoming @emerrefe our third Software Tester, now we are a team!!.


#3 Listen to a testing podcast: Podcast Addict is my app choice.

I found a podcast from The Testing Shown where they interview James Bach after his retreat in Orcas Island. The conversation was very interesting, even that I don't agree with everything James said. My team is an agile team, and I don't see my testing role to be threatened by any agilist around. However I did agree with the need we have as testers to care about our business and our own careers as testers. At the end this was a great podcast.

#4 Share a testing post with a non-tester. I picked this post from Amy Phillips, and shared it on the channel we have for readings. I'll update any conversation.

#5 Comment on a blog post. I added my comment in Javier Garzas blog.

#6 Perform a crazy test. I went for a road trip this summer with my family, 2 weeks on the road with 3 kids... And while we were cruising Germany and the Autobahn, in a non-limited stretch with no traffic I decided to test how fast our Renault Scenic would go. When I got close to 150 I decided to declare this speed as 'Fast Enough', concluded the test and went back to confy 120 km/h.

#7 Find an accesibility bug. I found a map from Valenbisi, the Public Bicycle rental service in Valencia, where the North is pointing to the East. This can be misleading for humans, who expect the North to be up, and for dwarfs who expect the East at the Top of the map.


#8 Download app and send 5 bugs. For this I picked Stridekick, a nice app that will allow you to create a challenge between people with different activity tracking devices. If you care about how many steps you take every day, and you know someone else who also cares, go and give them a try.

#9 Create a mindmap. This is not really a challenge, since I use mindmaps to document my testing plans, so every complex feature has his own. If you want to learn about what can get done with a mindmap, get a cup of coffee and check The ministry of Testing or TestInsane

#10 Find an event to attend. Finding testing events in Valencia is complicated, so we're hosting our own TestNight

#11 Take a picture of your team.
Well, here I have my small team, the ones who show up on the daily standup:


Then there is the local team, the ones we share our Valencia office.


Then there is my big global flywire team.



#12 Doodle a problem. This is something I do as I talk. My notebook is full of paintings explaining issues and tests, so instead I learnt how to do a prezi.

#13 Find a user experience problem. I reported this while doing #8, but it goes like this. If you have a mobile app, not being online should not be users problem, as an app, you should figure a way to deliver some value to the user.

#14 Step outside my confort zone. I arranged time with Customer Support team, so we spent some time watching them interact with our users. This was so fun, that we decided to repeat the experience, but since I went from my confort zone to a fun zone, I decided to try another thing.
I accepted the invitation to deliver a talk in Finland at the European Testing Conference about how is the testing I do.

Yah... this IS outside my comfort zone.

#15 Find a problem with a E-commerce site. I tried to make a Karma wireless hotspot work, but the app would refuse to accept a Paypal payment, maybe because the account was set in a different country. Again, if you plan to have users from all over the world, have this in mind when testing payment methods.

#16 Go to a non testing event. We host a Hacknight every last thursday of the month, this might be my non-testing event.

#17 Find and share a quote: I´ll give you two:

Rock'nRoll == learning new things and having fun.


Yogui Berra and his software testing estimation knowledge...

#18 Find a broken link. Doh! Found it and reported it. Hopefully we'll fix it soon as well.

#19 Find and use a new testing tool:
I got two, sublime text editor and oh-my-zsh mod for iTerm. After some months, I kept Sublime, and uninstalled the zsh one.

Uh, I also learnt something called jmeter.

#20 Find a good place to perform some security tests.
OWASP Top Ten, on our website.

#21 Pair Test with someone.
Yeah, almost every day.

#22 Share your favourite testing tool.
I'd say Xmind for mindmaps, and is you are into SBTM try Rapid Reporter.

#23 Help someone test better.
I run a weekly meeting where we watch a video from a testing conference, having a subscription to the DOJO is just an awesome source of testbash talks.

#24 Connect with a Tester you haven't previously connected with.
Not just one, I help running the local TestNight meetup, so it's pretty easy to connect with anyone whiling to attend to one meetup.

#25 Contribute to a testing discussion.
My view about what being a Context Driven Tester is like.

#26 Invite a non-tester to a testing event.
On our last TestNight, we had teachers and university students attending along with testers.

#27 Say something nice about the thing you just tested.
We made it!

#28 Summarise an issue in 140 characters or less.
As a tester,
I want to finish my #30DaysofTesting challenge
Even if it took me 30 days... and 5 months to complete.
So that I can close this project and move on to the next fun challenge ahead!

#29 Find an out by one error.
When you start writing a post using Blogger, and you get a permalink, and you schedule the publish time, when your post get's published it is under a different link.
The permalink was from the date I started writing the post.
The published link is from the date I published the link.

Then I wonder what is the value of getting a permalink that won't link to anywhere.


#30 Give someone positive feedback.
Done!, (check #31)

#31 Share your 30 days challenge.
Yeah, if you got this far, I am very grateful for your time.
Thank you!

Thursday, 5 January 2017

Looking back to 2016

Here goes a post about how 2016 went. (Short story, hey, it has been great!).

We started the year with a hell of a party. Celebrating success when it happens is a great thing to do, bring on new challenges!

We managed to get Adrian (the father of the hacknight) to our office, so he got to know Miguel (the kid from the hacknight).

We went to Brighton(UK) for TestBash!

And I joined John Stevenson while Testing in the Pub.

We passed the BBST Foundations test!

We delivered our talk about 'Hiring testers from a small City' in ExpoQA Madrid, There is a recorded version of this talk both in English and Spanish.

I got visit! Gina & Santhosh came all the way to Valencia and we ended up drinking a beer together.

We hired MC! now we are three testers on the Flywire dev team.

This summer, the family went for a awesome road trip, so we visited Tudela, Bordeaux, Paris, Arnhem (That bridge, you know), Berlin, Prague, Vienna, Venice, Milan, Genoa and Perpignan. Good old Europe.

Because the dev team is growing a lot, we did a retreat out in the country.

I took the family on a trip to Boston, two weeks living in a house, driving a v6, shopping in a mall, discovering what living in the States is like.

With Tomislav, we delivered a talk about training testers and building testing communities at the local testing conference.

And at the end of this awesome year, I got tired of the beard, and we suited up one day just for fun.


We also tested features, deployed code to production, processed more payments than ever, hosted our TestNights, solved some of the problems that got out of the blue...

... And made plans to make 2017 another awesome year.

Tuesday, 13 December 2016

My first 5 years in flywire

The other day we were driving around, and I noticed the odometer marking 99,960 km.
- Hey, check this out, we are 40 km left to make it to 100K
- And what will happen next?...
This was the question of our 9yo, always sharp to make questions to understand the context.
- Well, we will celebrate and then move on, continue our trip and when we make it to the 200K mark, we'll celebrate again.



This week I'm passing my first 5 years in flywire, I guess this is my celebration post before moving on and continue testing stuff.

The first week after joining the company I wrote a post about 5 differences from my previous job.
- I would have to write code for myself.
- We follow the agile principles.
- I have a laptop, and I don't have to punch in and out every day.
- There is a training budget, and I can choose where to spend it.
- This is an nice office with windows.
- I'm back to writing on a blog.

Looking back, there are some things I was not aware then, and I feel like writing them down.

- This is not just a job, this is an adventure. Like all adventures, some parts are fun, some aren't.
- There are a lot of nice people working in this company, and I can not tell how many times we managed to fix issues because of this, smart people trying their best to improve and to adapt.
- We have a delicate balance between many cultures, many ways to understand how to run a business, many challenges in communicating and coordinating, many things we want to do, many challenges we want to overcome.
- I still stand for what I wrote two years ago about what working in a startup was like, now we're just more people & more fun.

And also,  I keep learning new things every day about software, how to test it and about the people who develops and uses our product, so you know what?

Can't wait for the next 5 years and see where we might get.

Friday, 29 July 2016

Training a Corsair.

Spain has one of the largest forest areas in Europe, around 32% according wikipedia.

When the weather gets hot and dry, wildfires are a terrible issue. Not only the ecological damage that comes after each wildfire, but they also have a economical damage to the surrounding areas, as nobody likes to hike a burnt forest.

The Spanish Air Force has a unit called 43 Grupo who fly the Canadair/Bombardier CL215T / CL415  hidroplanes, they fly beyond standard safe flying rules, they follow their own rules, they call themselves the "Corsairs of the 43th"



When pilots get to the group from the pilot school or from other units, they already know how to fly, but not how to fly this plane, under these conditions, close to the ground, close to the flames and whiling to drop 6 Tons of water over the right spot.

Then they become copilots and learn by flying how to master their aircraft, and once they have been flying enough, and have a certain experience with wildfires, they get the training to become first pilots.

They don't wait for turnover to train people, the understand that it is better to have two experienced pilots flying the craft, than having many newcomers around.


One month has passed since MC joined flywire.

In this time we have been working together in coding skills, testing issues, reporting bugs, knowing people around, understanding the business, telling old stories about pricing matrices and partners in India and making plans to get to testing conferences.

We also spent time watching talks and reading books that would help us shape the kind of testing we do, the things that are important for us as testers.

Talks:
Rob Sabourin, Values in Testing:
Rob Lambert, Remaining Relevant
James Bach, Winning our reputation
Chase Jarvis, Cheap camera challenge

Books:
Lessons Learned in Software Testing.
Learn Ruby the hard way.
Perfect Software, and other illusions.
The Leprechauns of Software Engineering

And all this on the first month, not bad for a young corsair.

Support 43Grupo over Instagram and Youtube
The picture can be found here.

Tuesday, 28 June 2016

Being Context Driven Tester and defining Testing Community.

When I read the Context Driven Principles, and I think in the testing I do, this is how I interpret them:
  1. The value of any practice depends on its context, so every time I see a testing problem, I try to figure out how can I add value. Sometimes I question the assumptions behind the feature, sometimes I test the way it works, or I try to understand the impact it might have when we roll it to production, and raise a question if I am not sure there might be a problem.
  2. There are good practices in context, but there are no best practices. Being able to learn different approaches and techniques will enable me to choose the best way to proceed, instead of following a written rule about how testing should be done.
  3. People, working together, are the most important part of any project’s context. And when it says people, this is not only the development team, but the rest of the people working in my company, our users, our clients, and the testing community. People who work developing features for the next release, people who teaches me things that will allow me better understanding, people who listens carefully when I am explaining something. The respect I have for all these people drives my work.
  4. Projects unfold over time in ways that are often not predictable, and because we understand this, we automate some tests, we deliver in short iterations, so we get feedback as fast as possible, so we learn from what we just did and think if we want to continue the same path, or if we better try something totally different.
  5. The product is a solution. If the problem isn’t solved, the product doesn’t work. As a tester, the first thing you want to do is to understand the problem, otherwise you won't be able to question the solution, whatever the solution might be.
  6. Good software testing is a challenging intellectual process. And how you manage your life, how much you sleep, how are you able to defocus and to concentrate, what other things do you have to take care of, all this is going to have a direct impact in the quality of your work.
  7. Only through judgement and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products. Judgement and skill are things you grow by learning and questioning, cooperation comes after respect and understanding, and knowing where the project starts and ends is vital to understand where you can add value.
So, as a tester in an agile team who delivers software for our own business, having automated tests, running CI, continuous integration, smoke tests, servers and environments up in the cloud, having Developers, Designers, Frontenders and Backenders, Reliability Engineers and Security Experts... these seven principles apply when it comes to explain the testing I do, the value I add to the team.

This is why I see myself as a Context Driven Tester.

The other thing I like, is my relation with a great testing community, where some other testers identify themselves as Context Driven, and some others don't. But what makes them part of (my) community, is that they provide chances to learn, to share and to teach.

First things first, Jerry Weinberg helped me understand what is my place as a tester in the team, and why it is an important role.

And then...
Michael Bolton taught me how to not trust my own beliefs. If a black ball was able to fool myself, imagine what a piece of working software could do.
Markus and Alan shared how to automate tests and when to do it.
Jon explained how to understand Session Based Testing.
From doing BBST and the feedback of my teachers I saw how hard can it be to perform as a tester and to write down my toughs.
Rob has great writings for performing web testing, and for hiring and training other testers.
Stephen was great teaching about Mobile Testing.
Maaret and Llevellin are doing a great job explaining Mob developing and Mob Testing.
From Huib, Pekka, Richard and Bill I got the chance to understand agile planning and working with mindmaps.
Santhosh is a true example of giving back your learnings to the community.
Simon provides a nice curated list of blogs to read
Keith made me understand how to scale testing, how to understand and respect other kinds of testing.
Michael Larsen showed me how to live blog when you go to an event, and how to set yourself targets and objectives for learning and growing.
Rosie and Morten both run awesome conferences, that gives the people the chance to know each other, share and learn experiences.
Henrik once told me I was the only Spanish Context Driven tester he knew, and this made me think about how to change that.
Tomislav, Marta, Gemma, Maxi, these are the local testers who will join whatever event I come up with, who will share their time for a lunch and talk about testing, who share my same passion and live in the same city I do.
And I'm letting others out, but you get the point, we share, we care and we evolve as a community.

And then there is James Bach. I learnt from this man to take care about my professional career, I learned that I can choose to be a snowflake or a rain drop in the mist, he is not going to teach me everything I need to know as a tester, but his work as helped me, and many others, shaping our career as software testers.

This is how the testing community looks, for me, today.

Sunday, 5 June 2016

The end of one song means the next is about to start.

You know when you have a story in your mind, and a tune that reminds you to the story?



Miguel Angel joined our team in February 2014, I remember we were very happy with him joining our team because he was a good developer and a very nice person. He had a good programming skill and a deep agile methodology knowledge, he was a very good fit.

Busted flat in Baton Rouge, waitin' for a train
And I's feelin' near as faded as my jeans
Bobby thumbed a diesel down, just before it rained
It rode us all the way to New Orleans

At that time he was living in Dublin with his wife, and he started working as remote, spending one week every two months with us in the office.

I pulled my harpoon out of my dirty red bandanna
I was playin' soft while Bobby sang the blues, yeah
Windshield wipers slappin' time, I was holdin' Bobby's hand in mine
We sang every song that driver knew

As the team kept growing, we hired his wife. She was also a good developer, and we managed to keep them both working in the same place because by that time, we had two teams working in different things, so each one would get assigned to one team. They moved back to Valencia, and we kept moving on.

Freedom's just another word for nothin' left to lose
Nothin', don't mean nothin' hon' if it ain't free, no no
And, feelin' good was easy, Lord, when he sang the blues
You know, feelin' good was good enough for me
Good enough for me and my Bobby McGhee

Months pass very quickly, and we kept growing our team, we hired more developers, more testers, more Product managers, we kept being busy, holding our retrospectives, code reviews and so on. But at some point we started just maintaining our codebase, instead of aggressively shipping new features.

From the Kentucky coal mine to the California sun
There Bobby shared the secrets of my soul
Through all kinds of weather, through everything we done
Yeah, Bobby baby kept me from the cold

At some point, she left the team. Maybe the role she wanted to perform wasn't one we had, maybe we were not the kind of team she wanted to be working with...

One day up near Salinas, Lord, I let him slip away
He's lookin' for that home, and I hope he finds
 
I guess that when you remain in the bay for too long, and you don't sail stormy seas, some sailors leave the ship, because they get bored, they miss the excitement of building solutions that will change the world for good, they miss the thrill.


Let me put clear that I totally understand that the company has strategical needs, that we have to ensure that the foundations of our core business will be strong enough, that when we scale nothing will break into pieces... all ships must go into the dry dock from time to time.

But, I'd trade all of my tomorrows, for a single yesterday
To be holdin' Bobby's body next to mine

This week is going to be his last week with the team. Where he will be next I don't know, but I can only wish him the best. It has been a pleasure working with you, sailing these never-ending seas, figuring out how to solve all those issues we been through.

Freedom's just another word for nothin' left to lose
Nothin', that's all that Bobby left me, yeah
But, feelin' good was easy, Lord, when he sang the blues
Hey, feelin' good was good enough for me, mm-hmm
Good enough for me and my Bobby McGhee

Having Miguel Angel on board has been great, just as it has been to have Emma, Carles, Adrian, Gregorz, John, Aditya, Teresa, Marco... and every other fellow we had the chance to work with in the past.

Let's celebrate his departure, and continue our voyage, to wherever the next harbour is. Next steps are continue hiring great people, release features that will make us proud, have fun together and find our way to success.

Journey on.

Friday, 19 February 2016

Introducing the team

Let me introduce you the Flywire Engineering Team.


Building Flywire from Valencia from Flywire on Vimeo.

Some months ago we shoot this video, and hey, it is fun, it is not that long, and I'm quite proud of it.

This video serves two purposes:
  • Make our Mama proud, yes, of course, absolutely.
  • Help us getting known in town. Since we are hiring new talent to join the team, we think that this might help getting known before the first interview.
And that is why I wanted to share a post about it.


Letting it go.

I dropped my Twitter account. And somehow, it did not make sense to write a tweet about it. Many years ago, when I was riding by bike as cou...