LPS

Blog Series Testing: Blog number #3: Strategy for testing

Blog Series Testing: Blog number #3: Strategy for testing
By Venkat Raghavan


Welcome back to the final blog of the series, hope you enjoyed reading the last two, and thank you all for your kind feedback and comments. Before we get on with this blog strategy for testing , here is a quick summary of what we have covered thus far, If you haven’t read them then please check them out.


  • Triggers – Leaders wanting their organizations to transform to deliver value and fast.
  • Fast changing technology landscape – New tools, shifting left. etc. – # Philosophy
  • Some interesting transformation case studies from across the globe.
  • Move from away ‘break the system’ to ‘create a quality system’ thinking (Thanks to My colleague MN for this line) – #Big Picture
  • Breaking barriers: Co-own and collaborate, ‘fail together and win together’ – #Big Picture, #Culture, #Learning.
  • Automation at the crux of it all – driving efficiency and not just productivity

 

Phew! Now looking back at it, I think there we covered quite a lot of ground in those two blogs. Again, that was just the tip of the iceberg, each of these topics can be vast oceans in themselves.

Let’s kick off this blog by looking at how changing technology landscapes and transformations are going to affect the testing community, what is that they really expect from us, and how will it have an impact on the role of the tester and the tool they use, how will it evolve and how should the community adapt.

Strategy for Testing

Testing has really come a long way, and has increasingly becoming more complex and demanding, there so many moving parts and these changes are coming faster that one can imagine. I have listed a few below that you would have experienced it in the recent past, are currently working with them or expected to work on them soon…

                                                                   

While technology is getting simpler on the outside (in terms of user experience) for the end user, it is increasingly becoming more challenging to keep up with the technology required to get the code across the line, and the releases are becoming more frequent and demanding. Automation can help with this to a certain degree, but the tester is still challenged constantly to ensure

  • The Test Strategy covers all aspects and returns most value and is highly dynamic and adaptive . What could you do here, try using strategies like Testing in Production (TiP) using a/b testing, beta releases, dark launch etc. are becoming more popular. Testers are now using ‘Monitoring’ in production along with pre-release testing.
  • They keep up with the Velocity – The Release is tested and deployed fast . The industry is rapidly moving to E-2-E Automation using CI /CD along with Agile and DevOps frameworks
  • The Testing suite is highly adaptive and smart– There are a lot of organization that have smart and adaptive test suites tailored to a release but then they are mostly put together by the team manually based on feedback and experiences. Predictive data analytics and Machine Learning will play a big part here in the future , so watch this space.
  • Optimize to changing technology stack and optimize constantly in terms of using the right tool set .Stay in touch with your industry peer via international and local forums, this helps your gauge where you are in the journey against the developing trends and then up skill as needed.

 

                                                                                                             



Coalescing Roles 

The silo-ed testing roles (automated and manual) or specialist testing roles are expected to transition to an interim state where the automated tester is expected to write repeatable tests across the functional / web / integration layers, and use manual testing as needed, say for things like exploratory testing, usability testing etc. This could be the same tester working across both or some dedicated across each, and gradually up-skilled into a hybrid capability, where anyone can work across any layers, which is essentially our future state below. This is where the tester transitions from trying to find bugs to creating quality software, i.e. into the Quality Assurance and Engineering roles.  The end state quality engineer now cuts across all layers like the front end, integrations and Unit level. The tester is now closer to the code / software, design, architecture etc., this according to me is the organic progression into DevOps / SRE and engineering, which is the next frontier.

Check out this really cool google video on DevOps vs SRE.

                                 

 So, get ready and up skill, learn coding (C# or Java. Python & JavaScript/TypeScript – are making a big comeback), If you are a functional tester, upskill in Selenium Web driver / Grid or an equivalent web automation tool, I recommend this as it is open source and industry favorite, let’s just call it my subjective view. Learn API automation and microservices if you were doing integration, web service testing, JSON is becoming quite popular. Think CI/CD as you get more confident with the tools and try to scale up to create your own pipeline. A brief look at pipelines below

                     

Learning and up skilling in the current time has become so much easier, there are tons of online content available and most of them are free, plus you can join forums to further tap in / augment community expertise and help, I have mentioned a few here (in no particular order )- uTest, Stackoverflow, SQA .

Hyper-Changing Tooling World

In my opinion(from a tooling perspective) the industry is moving towards a more open source and tools agnostic approach to testing and development. Testers have now started to lean on pure programming as opposed to tools because of the growing and connected developer /tester community and the agility it provides. There are so many libraries on offer, now a tester is just required to download a library, and associates dependencies to the test code, and wallah… he/ she are done in a jiff! And it’s just not libraries, the tools are getting so much smarter too, tools like ItelliJ, Eclipse etc. server managers / environments like NodeJS, containers, dynamic data platforms etc. As inviting as these may sound, one should tread carefully and try to avoid getting lost in the maze of these new tools /tech offerings. If you ask me, there is always some tools or utility or tech on offer that claims to better, so take your time before you decide on anything, do not be pressured or overwhelmed.

Lets call it a wrap now

Like I previously said, if there is code produced, it will need to be tested, and we will continue to exist, but only if we continuously keep evolving i.e Up-skilling, keeping up with the changing technology,process, tools, frameworks and adapting with the industry, accepting changes and even leading where possible.You can be that change /thought leader too and Yes AGILE and DEVOPS are here to stay, so get on to the boat sailor.

I hope you enjoyed reading this blog series as much as I enjoyed writing it. I would love to hear your feedback, experiences and thoughts on this topic, so please comment on this blog or write to me venkat.raghavan@lps.co.nz.