Mapping your Test efforts to Automation

Recently I have had quite a few ideas for my next blog post, all aiming at different aspects of testing however time has been a major issue for me due to work commitments. I do promise to get those ideas onto this blog eventually. So watch this space.

An idea which I was pretty excited about sharing, was the idea of bringing your test scenarios close to your Automation code. In fact I worked on a case where it can actually reside on the same repo or code base as your automation scripts. I received a lot of interest on the topic when I tweeted about it a few weeks back.

Screen Shot 2018-04-17 at 10.16.26.png

Ok, ok let me explain by first starting on the problem case or dilemma most testers face with when thinking of converting manual test cases/scenarios to automation scripts and how it would fit into the bigger automation picture.

The case for mind maps

Lets start all the way at Sprint level and your daily standup. For a proper illustration I created a simple example Project Jira board and code project for a dummy e-commerce application to explain my thinking around this concept.

Its Day 1 of your Sprint and your Dev has started working on an API story, in this instance he is working on the Items API story and the get Items API task to be precise. You proceed to define you test scenarios/cases while he is busy developing.

Screen Shot 2018-04-17 at 09.29.07

Previously I would have written my test cases in ‘traditional format’ – in a test management tool or document. But after being introduced to mind maps and how it can be used effectively in defining test scenarios/cases, I have found the many benefits of it that facilitate better efficiencies within the Agile process. Some of the advantages of mind map test cases that I have found are the following:-

-greater test coverage

-greater team collaboration

-faster test scenario/case creation

-easier reading/understanding due to visual representation

-more time to focus on exploratory testing, automation and non-functional testing

The above points have been quite evident on my project but as a word of caution there were also some points of caution I had to address to convince my team that mind maps was the best approach for us. Some of the concerns and questions included the following –I have added my answers in italics :-

what about traceability back to the story/task? Answer: Adding the mind map as an attachment to task (on Jira) worked for us, also a link to a shared drive or address to where it is stored would work.

only the person who creates the mind map would understand their thinking vs step by step detail of test case. Answer: Fair point however it depends on how the map is created. The easier solution is to have a quick 5 minute pow-wow with your team to give them a brief overview of your thinking. Agile is about collaboration after all, everyone is working on the same product, if they are not on the same page regarding functionality then there are bigger issues. Rather a quick catch-up session with everyone compared to the pain of writing step by step detail which might not even get looked at post sprint.

what about newbies joining the project at a later stage? how would they understand the test cases? Answer: multiple points come to mind here, 1- you can take the newbie through your mind map collaboratively, they have to learn your system anyway so that initial time to get them on the same wavelength will be worthwhile. 2- why shy away from working on a more efficient way of test scenario definition by worrying about when a newbie starts. How often does that happen? if it does then we deal with it by tackling it with point 1 (above).

-would this totally replace conventional test cases? Answer: It depends, you can if you want to. The whole aim of mind mapping test cases for me is to quickly define or extract test requirements for your system or application which can aid exploratory testing and give you way more coverage than normal. You could if you want highlight the main regression or critical scenarios on the mind map and only do detailed traditional test cases for those scenarios. This way you still defined better test coverage and still keep your normal detailed cases and stats. Your mind map then becomes a tool for you to better create test cases.

Take your mind maps to your automation

Now that I have got the case for using mind-maps out the way lets get back to our e-commerce app example. To keep my example simple I have mapped out a few test scenarios for the get Items API using xMind

Screen Shot 2018-04-17 at 11.15.32

I have now been in testing and Automation for 15 years, the big problem I have seen over the years and today is the blank look you get from the testers (including myself) when they have to create Automation scripts. I can imagine the thoughts going through the minds…what do we automate? how does this automation tie back to the story/task? my test cases sit in this system but my automation sits in that repo? This disconnect from Test cases/scenarios to Automation scripts is a problem, consider also a few months or years down the line when your Automation scripts grow massively to a point where nobody even knows what they are covering, unless you go through the lines of code on the script. Well with this concept of bringing ‘Mind maps closer to your Automation Code’ I am hoping to bridge this gap and bring the visual aspect to Automation coverage along with fast and efficient test case creation.

Implementation

Back to our e-commerce app, the developer has now moved the task over to you for testing and has also thanked you for adding the mind map to the task as this also helped him to create some detailed unit tests covering areas which he would have not generally thought about. Good job he says! You now either execute you test scenarios quickly with the mind map as your reference or you proceed straight to creating your automation api test scripts. Lets assume you do the latter.

I recently (together with the help of my wife ūüėČ an ex-Tester and now ScrumMaster) found a cool mind-map plug-in for intelliJ. https://plugins.jetbrains.com/plugin/8045-idea-mind-map . How cool, with this plug-in one can create a mind-map directly in intelliJ (hopefully you use intelliJ IDE to create you automation scripts) or you can import a mind-map created from other popular mind-map software like FreeMind and xMind (which is what we use). This is where my concept comes in with the ‘Testing’ context.

Pull in your test case/scenario mind-map into the IDE or just start creating your mind-map directly from the IDE . In our case we use a Javascript library for creating our API automation tests (superTest) and another JS library (nightwatch) for our UI tests.

Here is how that works.

Tools used in my example: IntelliJ IDE, idea Mind-map plugin, xMind or Freemind (optional), Javascript (superTest for my API Automation script)

  1. Install the mind-map plugin to IntelliJ- https://plugins.jetbrains.com/plugin/8045-idea-mind-map
  2. Go to your automation code project in IntelliJ
  3. Under the relevant folder where you would create your automation test script, create new or import the test case mind-map (see screenshot below where I import the xMind mind-map that I created during my test case/scenario definition in-Sprint.)Screen Shot 2018-04-17 at 11.45.54.png
  4. In-order to now use your mind-map as a template for your automation script, right click and choose to export the mind-map as a plain-text fileScreen Shot 2018-04-17 at 11.52.08.png
  5. I now save my file with the name of my intended Automation test script and change the format to a .js fileScreen Shot 2018-04-17 at 11.54.59
  6. I now right click on my folder structure and ‘Synchronize’ the folder to pull in the file created above.

Screen Shot 2018-04-17 at 11.57.12

7. And voila, you now have your template to create your automation script in, with all the test scenarios you defined showing up. You now have a 1 to 1 mapping

Screen Shot 2018-04-17 at 12.01.37.png

8. Now you can proceed to create your automation script, which should look something like this (you can comment out the text pulled in from the mind-map)

Screen Shot 2018-04-17 at 12.11.46.png

Points to note and summary:

This concept shows how one can use mind-maps to generate test scenarios from story task level, then import this into your Automation code base repo so that your test scenarios now live side by side with your automation code providing one with an easy transition from manual test definition to automation script. There is now also enhanced documentation of your actual test automation coverage by having these scenarios as a reference living in the same repository.

Happy mapping! Your Automation scripts should not feel alone! ūüôā

hqdefault

Advertisements

Observations of the testing universe- where are we? And where are we heading?

It’s about time

It has been a few months since my last blog post, much has happened during my brief spell away from blogging. Firstly I recently moved to a new role of QA Tech Lead which has kept me super busy on many fronts (I will leave that for another blog post :-)). Secondly I also just got back from my 3rd international presentation in as many months. It has been an eventful few months which has seen me travel from South Africa to Germany, back home then back to Europe in a short space of time. The 3 presentations which included the ever awesome Agile Testing Days 2017 , then followed by the amazing, technical and unique online automation conference Automation Guild and finally the super ‘feel good’ and insightful European Testing Conference.

Another cool thing that happened was that I was named by the influential Automation expert Joe Colantonio on the list of top 43 automation and performance testing engineers to follow in 2018. Something that made me real proud to be part of, as I was listed amongst some of the most admired and talented people within the test automation industry.

These conferences and my experiences as a QA Tech Lead thus far has really helped me grow and learn during this period.

magician-1454487_960_720.png

Instead of sharing in-depth details of both conferences that I have attended, I have decided to change it up a little and share trends and my observations of the current and future testing world. If you are keen to hear more info on European testing Conference check out my co-presenter Lisi Hocke’s awesome summary on experiences (including our presentation) at the conference which was held in Amsterdam- European Testing Conference 2018 – Coming Home.

So in this post I would like to share my observations of what the trending topics in the Software testing world are, which you can use to either research on further or use as a gauge on whether you are on the right path with regards to the current state of testing affairs.

Observation 1
Micro-services are in full force

Yes, micro-services are hot property. At the European testing conference (I will refer to it as EuroTestConf going forward in this post) I most certainly felt the micro-service buzz. One of the keynote talks at EuroTestConf by Emily Bache focussed on exactly this : check out her slides here also most of the hallway chats that I was engaged in somehow went back to this trending topic. I also facilitated a cool Lean Coffee session at EuroTestConf where the topic came out consistently with conversations going deep into lean coffee time. If you have not been exposed to the micro-services world I suggest you get started and learn some of the key areas around it and also important aspects to keep in mind when testing micro-services

*image from https://martinfowler.com/bliki/MicroservicePrerequisites.html

Observation 2
AI is not only the future, its the present and the future

The opening talk at Automation Guild 2018 was proof that its here, Gil Tayar’s impressive presentation on “Not only Cars: AI, please test my apps” gave great insights into this area. Since then all I hear is AI and Machine Learning. My twitter timeline is abuzz with the concept, which is now changing focus to turning the spotlight on how it can be used effectively in the testing world. Mabl is now one of the first AI players in the testing space with testim.io also joining in. Are you already playing in this AI space? If not it would definitely not harm to add it to your list of courses to tackle over the short term, I have already signed up for a few courses to prepare myself for this 3rd wave of Test Automation which was phrased at https://joecolantonio.com/testtalks/178-third-wave-test-automation-joe-colantonio/

Screen Shot 2018-03-03 at 22.53.34.png

Observation 3
Mind-maps are making significant impact in testers lives

Across both recent conferences Mind-maps were attracting loads of attention. I must say I was certainly surprised at how massive mind-maps have become. Having initially been introduced to the mind-map world by Lisi Hocke (check out this cool article by infoQ highlighting our learning experience together-where I mention mind-maps and the influence it has had at my workplace: https://www.infoq.com/news/2018/02/pairing-learning ). During my 30 minute ‘Live’ Q&A session at Automation Guild, I was asked quite a few questions on mind maps, mostly around how I use them and what tools I use to plot them on. Most of those conversations went well beyond that Q&A session with many email and tweet follow-ups from some conference attendees. Gojko Adzic keynote at EuroTestConf on ‘Painless Visual Testing’ also went back to many mind map references. Later at that conference there was a great interactive ‘Open Session’ facilitated by Gojko and Richard Bradshaw focussing on mind maps and sharing/finding out its usages in different contexts and environments. If you have not yet used mind-maps to aid your testing efforts then another tip would be to give it a try and see how this changes the game for you and your team.

Screen Shot 2018-03-03 at 23.15.24
Link to tweet

Observation 4
Recruiting: Finding testers is not easy (not just locally but internationally too, the struggle is real)

Another trend which I have noticed in local and international markets is the painful process of finding the new age “technical tester”,that tester that breaks the mould from either your traditional manual or automated tester. The perfect all rounder, who is comfortable doing just about anything from test cases to coding, from testing API’s to logging defects, from docker to automation and pretty much everything in-between. This is the look of the new-age tester no wonder it is such a struggle.

I was so surprised at the recent conversations I have had internationally where many companies are faced with the same recruiting ‘technical tester’ problem that we have here in South Africa. At hallway chats and lean coffee sessions this topic was well worth noting.

Well I will admit, this tester is needed nowadays, the reason in my view as to why this person is a scarce commodity at present is because testing is in a ‘major rapid transition’ phase at present- the switch has been flicked quickly and only a select few has been the ‘Flash’ super hero in this scene. If you are not ‘Flash’ another tip would be to zoom in and gain that super power as fast as possible. The quicker we realise that the testing game has changed, the quicker this resource issue will be on its way to being resolved.

superhero-standing-silhouette_23-2147501842.jpg

Other notable observations

Javascript and Python for testers: Learn these 2 languages, that is certainly the message I got. The former which I have learnt quite a-lot recently and the latter which I still need to equip myself with. These languages alternate in usage and preference across the continents with one proving slightly stronger in one continent than the other & vice versa. But they are both most definitely needed in your armoury as the new age ‘tester’. The world of npm needs Javascript and AI, machine learning stuff has python at the heart of it.

CI/CD and pipelines – this is another aspect where the modern tester should be familiar with. Using Pipelines to Bring Product to Production was a great workshop run by Abby Bangser and Lisa Crispin at EuroTestConf where they highlighted the model for a good practical pipeline and what would be the most effective in today’s fast paced Software delivery world. Expose yourself to this concept and it will do more good than harm to your Testing world.

Conclusion

The testing world as we know it is changing dramatically right in front of us, its scary yet exciting. The best way to make it more exciting than scary is to learn, learn and learn more. Social media and pairing up with others is key to keep in-touch and at pace, google is also your friend and should be used extensively. Lets help each other be ahead of the game in this shiny new evolved testing world. Welcome and Power to you!

giphy-downsized.gif

Agile Testing Days- Revisited my 2.0

They say too much of a good thing is never good, but not in the case of Agile Testing Days. A conference with a difference, a conference which helps you grow and “makes” you find lasting relationships.

When the initial dates for Agile Testing days 2017 popped up during my first attendance of Agile Testing days back in December 2016, Agile Testing Days 2016- a Testing Experience of note¬†I knew I got to be there, somehow. This pushed me to strike a pact with Elisabeth Hocke¬†(an amazing tester from Flixbus based in Munich, Germany) who I met during that year’s conference. A pact which seemed quite far fetched back then, but it would entail us both submitting a paper to present at Agile Testing Days 2017 check out¬†Get out there! Share your story.

During the build up to the conference, I spent many days rehearsing my speaker content but at the same time I couldn’t help but be super excited about being reunited with some amazing and brilliant friends, anxious to meet well known Twitter acquaintances + start and build on brand new relationships.Excited.png

I arrived at Potsdam, Germany the afternoon before the conference would kick off. This time I decided to tag along my family for the entire trip to enjoy a bit of the Agile Testing days atmosphere along with some sights and sounds of the serene town of Potsdam. I was also joined by fellow colleagues Shekhar Ramphal and Matthew Broadley

I was welcomed by the amazing and wonderful Agile Testing days crew, from the boss¬†Jos√© D√≠az to¬†Sabine Wede, Uwe,¬†Stefanie Mania¬†along with the rest of their amazing crew. I picked up the magical ‘speaker’ name tag along with a host of other ATD goodies, I was ready to get the show on the road.

ATdTag

Speakers Dinner

First up I was really excited to attend the first event of the conference. A dinner arranged just for the speakers of the conference, about 100+ speakers (experienced and first timers)

We headed to a rather fancy restaurant in the heart of Potsdam via bus shuttle, where I sat next to last years MC, the awesome Mike Sutton who was hosting many Sofa Session Happy Hours during this years ATD. We had a great conversation on testing in general and had a brief discussion on testing in Europe and Africa.

I also interacted with fellow South African’s and ATD regulars¬†Karen Greaves¬†&¬†Samantha Laing¬†who are always a bunch of energy, then meeting the wise and well known¬†Lisa Crispin¬†for the first time. I also met the amazing¬†Dragan Spiridonov¬†who had nothing but encouraging words to get me amped up for the conference and my presentation.

At the supper I got to interact with many of the speakers, I was seated at a table with the following interesting and bright people¬†Pete Walen,¬†Elisabeth Hocke,¬†Viktorija Manevska¬†and¬†Gerald M√ľcke

All of the people above gave me some awesome last minute speaking tips and helped ease some of the initial nerves I had. Pete shared some of his cool speaker experiences over the years, while Gerald and myself dug into some psychology aspects- it got pretty intense. Really found the food and atmosphere pretty amazing at the speaker dinner, it was a nice mood setter for the entire conference.

And now for my magic act- I will try to sum up the amazing 4 days that was in store for me and other attendees. It was a legendary 4 days to say the least.

Day 1

Day 1 events kicked off¬† with an Early morning run (*this warm blooded South African could not get up that early for the European winter run ūüėČ ) ,followed by a Yoga session and Lean Coffee (by¬†Janet Gregory¬†&¬†Lisa Crispin) held roughly around the same time. These 3 activities were scheduled to run daily over the duration of the conference days.

Once I was done with breakfast, I proceeded to hit the main lobby area to check out some of the cool Exhibitions and sponsor stalls. Some of the exhibitors included QA Symphony, CloudBees, Saucelabs and Flixbus to name a few. For a full comprehensive list of exhibitors check out https://agiletestingdays.com/exhibitors/

Before dashing off to hit the first Keynote, I found myself being featured on the Test Bingo game which was quite a cool way for attendees to get to know and meet others at the conference.

Cas

The First keynote of Agile TD 2017 kicked off with Continuous Delivery Sounds Great But It Won’t Work Here presented by Jez Humble

Jez gave a very nice run down on CI/CD world and why some people make excuses as to why Continuous Delivery would not work in their environment. Some of the excuses that he zoomed in on were the following: “We’re heavily regulated” and “our people are too stupid”. He concluded with some nice take aways on how teams should collaborate more and also to create an environment where people can excel and not be afraid to innovate.

Next up was Pete Walen on There and Back Again, A Hobbit/Developer/Tester’s Journey his ability to tell a story was mesmerizing. His approach was slow and measured then went for the killer blow during the last few minutes of his presentation. Definitely had everyone glued to their seats. He shared quite a nice story on his experiences as a Developer and Tester.

Thereafter it was time for¬†Elisabeth Hocke¬†to speak about¬†‘I am Groot’ – Learning Agile Testing this was definitely one of the key moments that we had waited for over the past year. 1 half of our pact was about to become a reality and Lisi did not disappoint. She approached the talk like a seasoned speaker. Super composed and confident, she began to tell her story. Lisi shared some amazing tips on re-inventing yourself as a tester and striving for ways to become a true all round team player. A proud moment and a successful presentation for sure.

LisiTweet

Some of the other notable and interesting talks of the day that I had the joy of attending included:

¬†Cassandra Leung who I interacted with quite a few times in the past via twitter but we met for the first time officially in person only a few hours ago. I was impressed by how much she knew about testing already considering the fact that she has not been in testing for longer than 3 years. Her title definitely got the interest going¬†5 Ways Automation is Like Sex¬†where she spoke about doing Automation for the sake of doing it and whether people who don’t do it are doomed.

Angie Jones was someone I have been really keen to meet over the past year, she is a well renowned Automation Engineer at Twitter and I was super amped to check out her keynote: Owning Our Narrative she had quite a fancy analogy of the musical entertainment with Automation testing. Well executed and confident talk with a very relevant topic focusing on creating our own story in a world obsessed with Shift Left concepts.

Final keynote for the day was the influential Poornima Vijayashanker who spoke about How To Onboard New Hires Into Happy and Productive Employees I found this talk super relevant as people on-boarding and growth is vital to the success of a company. Get people involved and deal with inter-departmental challenges to aid them to become as productive early on as possible.

To close events for Day 1 was the¬†MIATPP Award Night + Comic & Super Hero Party¬†the awesome thing about this event was that I was kindly offered by the ATD organisers to bring my my wife¬†Reumaysa Mamoojee¬†(who just happens to be a Scrum Master too) and kids along for the Super Hero Party. Since my kids were massive Super hero fans I decided to take them to the event just for a few minutes, they absolutely loved being surrounded by Captain America’s and Hulks ūüôā

Here is a pic of my boys with the boss José Díaz (Captain America)

Joseand boys

The MIATPP for the year was rightly so awarded to Huib Schoots : awesome guy!

Day 2

I was still buzzing from Day 1 trying to take in the immense info overload, when it was time to kick off Day 2 already, well that’s what this conference is all about. Learning, learning, fun and more learning!

Day 2 was kicked off by Claudio Perrone speaking about PopcornFlow a mindset, new principles and actionable techniques to help you introduce fast change and make better decisions. Claudio shared some tried interested mindset approaches along with a great story about his son Matteo and his snail selling adventures. The presentation had a feel good feeling about it, with a great message.

Next up was my friend, the well spoken Anastasia Chicu presenting on My experience of testing a product that became three ,she shared some practical tips and tools for mobile testing in an expanded team.

Followed by (which as my image shows below) another one of the moments I have been waiting for. The inspirational and knowledgeable Katrina Clokie was sharing A Practical Guide to Testing in DevOps

Katrina touched on things like how they tested in production, monitoring and how testing should be incorporated at all levels, because testing is not only for finding bugs – it aims to help organization have visibility into the behavior of the software – pre and post production ‘Go Live’

 Katrina

1 of the tough things about Agile Testing Days is choosing a talk or workshop to go to as there are many amazing streams running in parallel. This Day 2 afternoon slot was particular difficult as I really wanted to check out these amazing talks :–

Göran Kero-What an agile tester can learn from studying psychology

Rodrigo Cursino &Viviane Vieira-CESAR.thon: a Testing Marathon Framework

Mostafa AwadhAgile or Waterfall? Business & Environment decide

Unfortunately I had to miss these sessions above but I really wanted to do a workshop (3 hours) on Exploratory Testing with Anne-Marie Charrett

This was really, really interesting. I was seated at a table with about 7 other individuals from a host of different nationalities. My group included Lisi, plus notable new acquaintances Jennifer¬†from USA and Robert¬†Meaney from Ireland. We were tasked with deciding how to test a few ‘Big Trak Robot’ programmable cars together as a group with a set number of rules and instructions. The entire workshop created lots of awareness and approaches on Exploratory testing. There was lots of takeaways from that workshop along with many disagreements within my newly formed team ūüôā It was quite an interesting learning experience from exploratory testing to team dynamics point of view.

I think my brain was tired by the end of Day 2, but the day was not over as the night began with Agile Games Night. There were some fun games that took place that night but more importantly it was the opportunity to build new relationships during those sessions. During the 2 days I also did a bit of campaigning for my presentation, where I highlighted to the different people I met what my presentation was about and its intended target market. It was during this time that I met the bright eyed and eager Luethi Philipp from Switzerland, he immediately showed interest in my topic and we clicked at once. There is more to follow with Luethi I thought to myself and as you will read later on that certainly was the case. I decided to call it a night around 11:45pm as I had my big debut presentation the next morning. It was also 15 minutes to go before my birthday set in. A big day in store ahead of me indeed.

Day 3

I got up quite early the morning of the 16th November, not sure if it was due to the buzzing of my phone due to the influx of birthday messages or the anticipation of my debut talk starting to creep in.

After taking some phone calls from family and friends back home, I dashed off to breakfast where I was serenaded by the Agile TD team ūüôā I then got set for the first keynote of day 3.

It was the turn of Paul Holland who was about to give his talk on The Pothole of Automating Too Much. Paul was smooth, and had a great analogy of the US Map and the many paths/roads to a particular destination just like there are many paths and areas within a system. Some of the takeaways included :- Automating only the critical paths of a system, automating functional areas which are used the most and considering the cost of automation vs its benefit.

My big moment was up next, got in early to room F1 and setup my machine for the presentation. I handed out some South African candy along with a page with some weird and wonderful South African slang words.

SA_ATD

As I got the go ahead to start my presentation, I was surprised by the ‘funtastic’ ATD team who burst in with a birthday cake and song! Red faced indeed but so awe struck by the great gesture.

ATDBirthday

It was time to kick off my presentation Coexistence of Legacy and Cutting Edge Technology Systems

I proceeded to give my talk with support in the room from Lisi, Luethi, Pete, my fellow colleagues Shakes and Matthew but I was super excited that some famous and influential testers had joined my presentation the likes of Katrina Clokie¬†,¬†Guna Petrova,¬†Mary and¬†G√∂ran Kero to name a few. So no pressure, I was about to do this. My talk focused on some of the issues we faced in my work environment with Legacy systems and how we approached in tackling some of these issues with the introduction of more recent cutting edge technology. Check out Pete’s live blog post on my presentation along with other day 3 events¬†http://rhythmoftesting.blogspot.co.za/2017/11/live-from-potsdam-day-3-agile-testing.html?m=0

I had quite a few relevant questions posed to me after the session which I confidently addressed, along with some deep discussions once my session was done.

The 2nd half of the pact was complete. Lisi and myself could finally celebrate an achievement and it felt good.

CompletePact

Next up in the same room was fellow colleague Shekhar Ramphal who spoke about his personal experience at our company on AutoFails Р6 year journey of automation failures

It was quite cool that the organisers scheduled his talk immediately after mine as we both had references to each others talk and it flowed quite nicely for the people who were in attendance for both talks. His analogy was quite nice as he depicted Cars to specific Automation tools. Both our talks definitely showed how fortunate we were/are to work for a company that allows us to cross skill plus being exposed to older and newer tech which is definitely the popular choice/s in the industry nowadays.

Some of the more notable talks and workshops of the day included the following :-

The fun and bright¬†Viktorija Manevska –An alien visiting the office

The bubbly and enthusiastic Guna Petrova covering Me and my deadly sins

The knowledgable, cool and collected Santhosh Tuppad with his 150-minute Workshop on Security tests for web and mobile applications

The afternoon keynote session of the day by Liz Keogh on a very insightful presentation on How to tell people they failed and make them feel great!

And finally a great end to a looong day by the late keynote presentation by the awesome duo ofAsh Coleman & Keith Klain where they covered multiple diversity issues in Culture Is More Than A Mindset

Day 4

The final day & Oh what a start we had to Day 4, a roller coaster of emotions which no one saw coming. Roya Mahboob captivated attendees with an amazing introduction which had taken us to her world. A world which was cast into darkness by challenges in her country until New Realities through Technology emerged. She was instrumental in moulding the Afghan Girls Robotics team and bringing them to Agile Testing Days 2017, where each girl shared their individual stories. Goose bumps, lump in throats and teary eyes- you name it the audience was taken on a whirlwind of emotions. Each story had one underlying message- with persistence and perseverance nothing is impossible. The inspirational presentation closed with the longest and loudest standing ovation clapping I have ever witnessed. Diversity at its peak!

diversity

Next up I attended¬†Gerald M√ľcke¬†–Must.Kill.Mutants¬†an awesome, friendly individual whom I met at the speakers dinner, I wanted to give him my support plus attend the session that I was super keen to learn more about. Gerald didn’t disappoint and I learnt so much about mutation testing, its uses and the tools that support it. Definitely something I would like to learn more about in future.

There were more amazing talks that day, more notably the charismatic Rahul Verma with his amazing presentation on The Dogmatic Agile

Another notable mention was the famous Llewellyn Falco doing his thing on Knowing what bad code looks like

¬†The afternoon keynote saw last years MIATPP, the calm, well spoken and influential¬†Maaret Pyh√§j√§rvi¬†took over the stage with her motivational¬†Learning through Osmosis¬†talk. She wonderfully portrayed to the attendees how she discovered Mobbing and how successful it can be. She highlighted how important it was to try our different things and get others to work with you, so that it becomes a shared effort rather than a ‘my’ effort. Team effort is greatest benefit.

The final keynote of Agile Testing days 2017 closed with Janet Gregory on Pivotal Moments where she shared some key moments in her life and inspired everyone to watch out for those big moments in life and grab opportunities.

And just like that the conference was over ūüė¶ well not really, it was still time for Lisi and myself to quickly rope in Luethi for one more pact. We promised him that we would keep it a top secret for now, but its something we would all push towards achieving.¬† It felt so amazing that Lisi and I could not just inspire each other but inspire others too. I am not sure how far our story would go but it has definitely already made an impact to most people seeking to get more involved in conferences/blogging by challenging themselves constantly.

Inspire

 

Summary and conclusion

The greatest take away for me from a conference of this magnitude is to take advantage of having the best testers from around the world in one venue and then taking the initiative by creating lasting relationships with them to create a platform to not just learn over 4 days but to learn almost on a daily basis. Keeping in touch with this new found friends and learning partners sets the stage for regular learning and feedback which makes a conference like Agile Testing days thee place to be if you do take your career seriously.

 

 

Wait how did I get here? Time for reflection (part 2)

I hope the wait was not that long! In my last blog post I reflected on my career thus far taking you back to almost 15 years ago when I first got into software testing. In case you missed it check out : Wait how did I get here? Time for reflection (part 1)

In this post I continue that reflection and bring you back to present day, I will start the post with the last paragraph of part 1.

download

So back to Automation basics at this Telecommunications giant, it was no smooth process indeed. I got there with the view of taking over someone else’s Automation test suite. There were tons of scripts and all looked super advanced. The disadvantage was that there was no one present to give me an idea of what the scripts consisted of, also the Automation Engineer that created the scripts had re-located to another country. Ouch!!

I kept my cool and decided that I was going to tackle this beast piece by piece. In total there must have been over 100 test scripts, which in some places were dependent on each other.  With no product knowledge of the application under test and no scripts guidance, I had found myself in a tough position. I decided to use the script itself to guide me through the application, the script code that is and go through each line of code to dissect the inner workings of what they were trying to achieve.  After a good few weeks, I had cracked it. Once I understood what the tests were trying to do, I already had won 3 quarter of the battle, the rest was just to fix existing scripts and get the suite running to break back the confidence in their once thriving Automation suite. Some times your have to take a step back to move forward.

After 2 months on the project, I had revived the Automation Suite, and more importantly gained immense knowledge on scripting practices implemented by the previous Automation tester, someone who they called a seasoned pro. This was one of my greatest learning moments.

TopoftheTown-2016-Thumbnail-TopSeasonedPro

10 months after starting the project, I was then approached to fill a position at one the top investment companies in South Africa (my now current employer) where I was given the opportunity to bring in Automation to the online space of this financial giant. At the same time an opportunity came up with another South African giant in the Insurance/Investment space (a much bigger company in physical staff numbers). This opportunity was in the Business Analysis space, so this would mean a change in career for me.

I had both offers in front of me, it was definitely no easy decision as both companies and roles were very enticing. I did some massive introspection into where I would be best suited in terms of my long term career as both these companies had the potential to be my home for a long time. I could go deep down into my exact thinking behind my choice, but that would just be going down a whole different rabbit hole.

I basically decided to trust my gut, and go for something where I could potentially make a lasting impression for years to come. Something which I have a passion in, something which allowed me to use my technical and analytical expertise daily. Go somewhere where I would not just be another number.

I decided to go for the Test Automation position at the Investment company. A place where most of young hopeful grads and career experts based in Cape Town hope to be based at.

*Learning: sometimes you just have to trust your gut, especially after doing an introspection ūüôā

jonathan-smith-quote-its-a-tough-question-and-it-requires

Its a decision which I value to this day, a turning point in my career. A career which started with loads of movement initially to feel the boundaries of different industries where Software testing and Automation can be a part of. That movement which has armored me with a wealth of knowledge, experience and skills to handle and adapt to different situations. Lots of movement in ones career can sometimes seem negative, especially with potential employers looking to hire, however I feel if the reasons are good and you can portray this to something positive then you definitely have a valid case.

I am now approaching 10 years at my current employer, and my main reason for still being here is that no 2 consecutive days are ever the same here. I have the opportunity to play in so many different areas, from Leadership to manual testing- from databases to Automation, from inspiring others to given opportunities to represent the company at a global level. I am grateful for all of this which has now taken me to a point in my career where my learning and experiences can be shared to the world and young graduates starting out their testing career. At the same time plying my trade and growing even further in the Testing and Automation space.

Sky’s the limit!

career-goals_landing_header.png

Wait how did I get here? Time for reflection (part 1)

After almost 15 years in the Software testing industry and after reaching a career milestone by being selected to present for my first International conference to be held in November (Check out Get out there! Share your story and Agile Testing Days: my profile ) I feel its the perfect time to reflect on how it all started.

Screen Shot 2017-05-22 at 15.16.27

The Story-back to the beginning

I graduated back in 2003 May with a Bachelor of Commerce degree, specialising in Information systems. It was the winter of 2003 when I decided to move to another city to improve my job prospects. After a frustrating 2 months of no luck on the job market, I was contacted by a Software Testing company who was willing to provide a full on hands-on training course and on the job training to promising graduates from around the country. I grabbed the opportunity with 2 grateful hands! We were trained on everything from the basics of Software testing, its concepts, where it fitted in the SDLC to Test Automation, its architecture and how it would be the trend going forward. I must say before this company contacted me, I did not even know that software testing existed, let alone it being a career. So I was super cautious and sceptical going into this training.

stock-vector-growing-stages-of-a-man-vector-illustration-of-stages-of-growing-up-from-baby-to-man-449142787

The first job

My nerves were almost immediately put to ease after week 1, where I found it a perfect match to my abilities, the thought of breaking things, being inquisitive and mixing technical and analytical qualities to achieve an end goal was something right up my ally! I never looked back. I managed to get through about 2 months of intense training and was ready to bring my skills to the working world. I was placed on a 6 month contract at the internet banking section of one of the leading banks in South Africa. A proud moment in my early career for sure. My main task was to play junior to a Senior Test Automation specialist and get Automation in place for this Internet Banking site. After 4 months the bank felt that I had  showed so much promise and passion that I was offered a permanent role, and given the added responsibility of being the main and sole Test Automater on the project. It was overwhelming but I knew I could do it.

keep-calm-you-re-hired

During this time I worked with some great people from Devs to Fellow testers and Senior Business Analysts, all of whom I gained vital knowledge from to help me further down in my career. At some point during my 2 year stint at the bank I was given an opportunity to change my career path and try my hand at the much more popular Business Analyst role. After some serious thinking I decided to stick to testing: my rationale as follows “Would I want to be just another BA or do something which is unique and niche in the market” (at that time). I stuck to my guns and continued on my Testing and Test Automation path. Sadly after 2 years at the bank it was time to leave, I realised that Software testing was booming and I wanted to gain exposure in the field across different industries. A strategy which I felt would stand me in good stead in order to be someone who would be seen as cross skilled and not limited to one or two industries.

jack-of-all-trades

Time to Explore

I then moved to another financial services company but this time a company who focused more on the insurance side. I did more of the same, test automation but this time being exposed to some Perfomance and Load testing along with business knowledge of the insurance world. After a short 6month stint there, my other half and I decided that we would like to move cities due to personal reasons.

We moved from the concrete jungle of Johannesburg to the much laid back, picturesque Cape Town. Shortly before I moved I interviewed for 3 different companies based in Cape Town, luckily I was offered positions by all 3 of the companies so I had the luxury of choosing the company I felt was right for me at that time. I decided to go to a company based in the EFT and payments industry, a company where I had to learn to cope after being thrown in the deep end. It was actually one of my best job moves as I learnt so much in this company in a short space of time. This was a much smaller company and because of this, many people had to play multiple roles. I found myself not just doing Integration testing, but rather also Project management, Database setup, networking, environment setup and so much more that I didn’t feel was part of my job duties. I used this to my advantage to understand a much more bigger landscape of the IT world. As great as this learning opportunity was, it was just not sustainable long/medium term. I decided to move once more after 9 months at this company.

Legal-Software

More change

My next assignment was a company based in the Software Development for Legal Market. Something very different once again. This gave me some great exposure in terms of learning the Legal side of the world and also picking up working with different Automation tools. It was around this time that Agile and Scrum methodologies started taking the world by storm. This company was one of the first companies in South Africa to experiment with this new methodology. Surprisingly I was approached by the IT manager to be a Scrum Master as he said he earmarked me as someone who has the right metal for this job. I decided to give it a shot this time but as long as I did 50 to 60% of my normal testing tasks. The whole experience was great, but after a few months I start to realise that something was missing. I was much more a do’er rather than someone who facilitates the doing. Co-incidently I received a call to join the Test Automation world again, and I must say I couldn’t resist the offer- more so because it was an opportunity in the Telecommunications industry at one the top Mobile Service providers in SA.

Telecommunication-partner

So back to Automation basics at this Telecommunications giant, it was no smooth process indeed. I got there with the view of taking over someone else’s Automation test suite. There were tons of scripts and all looked super advanced. The disadvantage was that there was no one present to give me an idea of what the scripts consisted of, also the Automation Engineer that created the scripts had re-located to another country. Ouch!!

It was an amazing challenge from that point on….watch my next blog post for part 2 coming soon ūüôā

4095cdeffcec1a782c53be1f52289e7e_clip-art-stay-tuned-clipart-clipart-kid-stay-tuned-clip-art_3038-2025

 

3 different mentoring experiences in a short space of time!

I recently found myself in a very unique situation of mentoring/doing a hand over to 3 different testers across different levels of experience and testing types. Let me explain ūüôā

The time has come to change the project/domain I have worked on for the past 5 years. The reason for the change was mostly due to the fact that I was given an opportunity to now work on a brand new system that would be replacing one of the main enterprise systems at the company I work for. What a great challenge to start afresh on a system from the bottom-up.

Due to the future change of this existing legacy enterprise system there was quite a major reshuffle with personnel across the team, as many sub-teams formed as part of this change.

Image result for knowledge transfer

I found myself in a situation (along with another tester within the domain) to train and mentor 3 new testers. 1 an External Automation Tester with the chosen Testing Tool experience but no domain knowledge, the 2nd a Junior Test Analyst who would now be moving into the most Senior Test Analyst in that team, so she had some business and testing knowledge but needed more ‘Senior Testing’ related knowledge transfer and 3rd a brand new tester from the business, a person who understood business process well but was totally new to testing and the IT world. So you should be able to gather that this would require 3 very different approaches at a different pace.

Let me give a brief rundown of my experience and approach during this exercise

Image result for automation tester

The Automation Tester

Since I am an Automation Test Analyst, let me start with the Automation Tester and that knowledge transfer. When we first found out that we needed to hire an Automation Tester to take over my current scripts, we were faced with a few important questions some of which included:- hiring internally vs externally, tool specific experience, system under test past experience, domain knowledge, contractor vs permanent.

We finally decided to go for a tool specific, system/technology experienced contractor Automation Tester :-)…that’s a mouthful (the rationale behind the questions and the decision deserves another blog post on its own, so I won’t go into that detail now)

So the challenge in this approach was more the Automation tester just understanding the domain, processes and current scripts. That was how I approached that knowledge transfer- focused and only passing on relevant info. I began the process by taking her through the key business functionality as it was critical that she understood what our user objectives were before she looked at the scripts. The process went quite well but I found myself dropping that technical hat and speaking user language instead. Just so that she had the full picture of their world. That was the key aspect of this knowledge transfer. The next step which was vital was taking her through our Test Environments and its rules, then followed by our sprint and release processes.

It was only then that I felt that Automation scripts and its coverage will make sense to her in order to add immediate value thereafter. I proceeded to take her through our Automation Coverage, Execution process and what still needs to be covered via Automation.

Image result for hand over the baton

the outcome (present day)

1 month later and I can safely report back that she has immersed herself quite well into the team. She approaches me occasionally just for a few questions/ideas which I welcome. She is now maintaining, executing current scripts and also starting to create brand new scripts based on latest functionality.

Related image

The Junior Test Analyst>Intermediate Test Analyst

The next knowledge transfer/mentor task was a little tricky.  This was someone who originally transferred from business into a sort of Junior Test Analyst role/support.

So someone who knows the IT world and its process, along with the business knowledge- however she needed a bit more senior testing related ammunition. So I approached this once again by doing a custom handover. Just discussing and passing over knowledge in terms of Risk identification and logging, Integration and End to End testing co-ordination with other domains and all those other fun more experienced related Testing stuff.

the outcome (present day)

She has already seen through 1 successful release as the main tester, and attended all the cross-team sessions. I am confident that this approach was the correct approach in getting her on her way to making the next step in her testing career.

Image result for career growth

 

The business consultant>Test analyst

The final knowledge transfer task was another different approach. So here we had someone who had quite a few years business related experience, but little to no IT, Software process and Testing experience.

So I didn’t have to do the domain transfer here, but rather had to paint the full Software Delivery process from scratch, the Agile world, Test Environments, System overview along with integration points, Test Case creation from specs and other Testing tasks.

This was a full on 3-4 hour a day, 2 week crash course ūüôā I was aware that the pace had to be much slower in this transfer as the lingo and terms used was not something that he used to as he was exposed to more business related language daily. It was a whole new world for him and I was patient in explaining and handing over.

He had tons of valid questions to ask which made me believe that we had chosen the right guy to challenge thinking and break systems ūüôā that’s what tester do after all!

the outcome (present day)

He has created his own test logs and test cases for the upcoming release and has run them by me for a review, which I am glad to do until he is comfortable with these tasks.

He has that inquiring mind and gives me comfort in believing that we now have found the correct combination to keep the current team performing at a decent rate with quality intact

Image result for career growth

Conclusion

In my post above I basically eluded to that fact that for knowledge transfer and mentor-ship to be successful you would need to understand your recipient and custom make the handover process. Its not a one size fits all in my books. Give people only what they need, to keep them engaged and asking the right questions.

So far this strategy has worked for me, and is only 3 examples of testers I have handed over to or mentored over the years. Hopefully the others who I have mentored/coached over the years are reading this and can attest to this method (or madness) ūüôā

Image result for borat great success

 

 

 

Get out there! Share your story

We all have a story to tell, everyone might not think so, but if you dig down deep and find what is unique in your environment or situation the ideas will just flow. This is almost a guarantee. I found this out very quickly, when I needed to keep my end of the deal up to present at Agile Testing Days.

Image result for share your story

What deal you ask? Well here is a story, a quick story about the deal.

Back in December 2016, when I was so kindly given the opportunity to attend ATD 2016¬†Agile Testing Days 2016- a Testing Experience of note¬†, I attended a ‘Internet of Things’ testing workshop during the workshop I met a very bubbly super tester @lisihocke¬†(also check out her cool blog @ www.lisihocke.com). We had to work on a task in that session and I immediately noticed how similar our thought patterns were on solving a given task. After that session I decided to find out more about this ‘like-minded’ tester during lunch time. It was amazing how much info we shared in such a short space of time. I then decided to trust my gut and hold her to a deal. At that stage I did not know that Lisi shared the same medium term goal as me, that goal being a presentation¬†on big stage at a Testing Conference. So what better way than to promise a paper proposal submission for the next Agile Testing Days -2017. It is quite rare to find someone who jumps to a deal of that scale, especially if it is initiated by stranger from a different continent. I knew then I had found the right person to hold me accountable, and she probably felt the same (I hope :-)) .

Image result for strike a deal

After the conference we decided to keep in touch by sharing ideas/trends/topics/happenings in our environment just so that we could learn from each others experiences. My reasoning for this is that I am based in Cape Town, South Africa working for an investment company and Lisi is based in Munich, Germany working for a Tech company focusing on developing ¬†efficient hi-tech solutions for a public transportation system. So I’m sure you can see the learning opportunity in that, right.

Image result for south africa and germany

In summary here are the benefits I could see immediately from pairing up and learning globally based on my situation:

-pick up on testing/agile international trends and try to bring some of those ideas back to my environment

-share experiences on tools/ methods/ processes that worked/did not work in her environment, and then determine whether it would be feasible to pursue that idea if the need arises in my environment.

-identify areas where we could collaborate and give back to the community either as a pair or individually.

-an easier access to each others testing leaders, mentors and connections (which would previously be very difficult coming from different continents)

-a soundboard for each other on testing related matters.

That is a pretty good case for pairing up don’t you think?

This great experience led us to put together a paper proposal on exactly that. How ironic that the very reason we came together to pair up actually became the input to our paper proposal. Cool isn’t it ? There is so much more to share on what we have learnt so far and the way we went about doing it, ¬†but I will leave that as an appetizer when “hopefully” our paper proposal for ATD 2017 gets accepted and we can share this and many more learnings to attendees in person.

So in a larger nutshell, that was the deal ūüôā

Back to the stories, this had got me thinking as to what ideas and stories I could share to the world. I put my work environment under a massive spotlight and dug down deep to find the uniqueness. That’s when the ideas just came flowing in.

So far I have submitted 3 papers for the ATD 2017 conference and have a local test conference Let’s Test South Africa 2017¬†to submit to shortly.

Image result for agile testing days 2017

Image result for lets test south africa

I also got involved along with some colleagues at my work to co-organize Cape Town Testing meetup , which has seen its first meetup held in February to some great reviews.

CTTM

It doesn’t stop there, I am also scheduled to give a basic intro Testing to some budding potential IT newbies in May 2017 @ project¬†codex¬†, so that’s directly giving back to the community.

I encourage you all to share your unique story, whether it be at a company presentation, a local testing community event or even on the global stage.

You never know where a simple idea takes you!

Image result for do it