Full-stack tester: A new breed of software quality experts.

Full-stack tester: A new breed of software quality experts.

Its appalling to say the least, to see people use their LinkedIn account as if it was their Facebook timeline. A few days back I came across a a meme shared on LinkedIn. Now, while I was angry of the misuse of LinkedIn, I have to admit the meme sure was indeed funny and reflected the conundrum faced by job seekers(especially a certain set of IT professionals). The meme went something like this.

As funny as it sounds, but the reality is that the recruiters are indeed asking for multiple skill-sets from candidates. Job creators are demanding more from their workforce. And when hiring they want the most bang for the buck, for every buck they spend on their prospective employees.

The biggest contributor to this is the advent of Agile methodology and its extensive adoption as the goto methodology for developing software today.

Gone are the days of compartmentalized linear sequential development models, where individuals could specialize in specific roles, through the application's development life cycle. The Scrum Guide a manifesto for Agile, proposes a smaller, leaner, self-organizing and creative teams equipped and empowered to do everything that is required to create a potentially deliverable product. The Scrum Guide, recommends a development team of 3 to 9 members. As teams get smaller there is no room left for specialist coder, tester, DBA etc. In Agile teams, literally everyone is expected to do everything. And hence, everyone on an Agile team is called developer, a general title devoid of any specialization.

Software developers have smartly adapted to this change by reinventing themselves as full-stack developers. Someone who can come in and do whatever that it takes to build the software. If changing times have demanded software developers to re-skill and redefine themselves to be relevant to the job market. There is no surprise that software testers are also feel the need to re-skill and redefine themselves.

Gone are the days when organizations had large test factories, with dedicated functional testing teams focusing on particular business vertical/function. Test automation teams, software performance testing teams, software security testing teams were maintained over and above the functional testing teams. Agile organizations can no longer sustain the luxury of such elaborate setup. Organizations today are hiring automation testers who when required can double as a functional testers.

Taking cue from developers, its about time that the software testers up-skill and re-brand themselves as "Full-stack Testers" to differentiate themselves from the masses and stay relevant to the job market. Just like the full-stack developer, a full-stack tester should act as a one stop shop for anything concerning software quality.

Now that we have addressed the who, the what and the why of full-stack testing. Lets look at the How, cause it would be silly to answer the when. A simple answer to when is now.

The Big Five

A full-stack tester should have the capabilities to demonstrate 'The Big Five'. What do I mean by that, a full-stack tester should not just have theoretical knowledge of, but be able to put to work, his expertise in five key knowledge areas which are listed below. Knowledge of each of these constituent areas will equip test engineers to contribute to the overall quality of product and teams developing software solutions.

  • Functional Testing
  • Non-functional testing
  • User Experience
  • Software Quality Assurance
  • Project Management

Functional Testing

Developing functional knowledge of product, industry or domain is not easy. Building functional knowledge is an experiential process. For example, an test engineer, who starts out his career working on financial services product, over a course of multiple years of career, having worked on similar products or breath of products spanning across the industry, can build deep understanding of the subject matter. Though one can start by learning from experts in the field. Professional courses or certifications from industry/professional bodies also play a big role in building knowledge base. They not just help in acquiring domain skills but also help substantiate your learning.

Non-functional Testing

A functional tester ensures that the product/solution being developed conforms to these business requirements. A non-functional tester on the other hand focuses on other essential areas for e.g. performance of the system, security or recovery after a malfunction, just to name a few. A full-stack tester should be able to recommend the acceptable performance levels and then be able to strategize a plan to measure the performance of the application. He should be able to identify the right tool for job and then apply them to measure outputs, to ensure that the system works in an acceptable thresholds. There are several open source and commercial off the shelf tools available which a tester can use of non-functional testing. An expert test engineer should be well versed with these tools and know how to apply them. The key ability to understand and interpret the outcome, to prescribe a corrective action, is highly valued by clients/product owners.

Over span of the product lifecycle a substantial size of test suite gets created. Each time a new enhancement is made to the product, it becomes necessary to ensure that the previously tested product is retested to ensure that the new development does not brake the existing working product. Similarly, in Agile product development, each sprint is an increment to the earlier, and hence for each new sprint its necessary to test, what was delivered in earlier sprint is working as expected. This is called regression testing. Employing a team of testers to do this work manually is a waste of the time/efforts of the team. This is where automation testing comes to play. Automation testers employs the right tools to capture the exact steps carried out to perform testing in earlier sprints. Automation testing helps reduce test efforts and improves productivity of the team. Its thus imperative for a full-stack tester to have knowledge of automation.

User Experience

An amazing software solution, is not the one that just conforms and caters to every business requirement documented by the product owner. An amazing software has, customers/clients/end user as the focal point, while designing business requirement for the product/solution. A software tester can be the closest version of the end user that the developer can get. It is thus important for an aspiring full-stack test engineer to learn to put themselves in the shoes of the end users and give qualified inputs to the developers and product owners at every stage of the solution design to ensure an exceptional user experience.

Software Quality Assurance

Knowledge of business functionality, non-functional tools and user experience would help a full-stack developer contribute to quality of product. The last to areas that the full-stack tester should be well versed with is quality assurance and project management. Sprint Retrospective is an essential ceremony in Scum focused on finding areas of improvement that can be incorporated by the team to improve development processes, which in turn lead to better product. With knowledge of quality audit, peer reviews, checklists and test processes a full-stack tester can add the most value to the agile team.

Project Management

Agile Scrum does not have a designated project manager, yet the qualities of a project manager are essential for success of any project. It is thus necessary for a full-stack tester to know and be able to perform tasks such as stakeholder engagement, managing project timelines/resources, dashboarding/reporting, staffing, vendor management etc. Most of these skills could be learnt by an individual on job, handling this areas first hand or through consultation of experts in this subject. Though a certification from a reputed industry body could elevate a full-stack testers stature amongst his/her peers and also in his team.

In the pursuit to acquire 'The Big Five' there is a good chance that a test engineers become as the phrase goes "Jack of all, master of none." One should bare in mind that being a full-stack tester is not a generalist role. Mastering all 'The Big Five' is surely not easy. And hence, an individual should strive to become "Jack of all, Master of some."

In today's day and age, change is the only constant and those who adapt to change will evolve and learn to keep themselves relevant to the changing world around them. Rather than resisting change, lets embrace it. Its time to evolve to make larger contribution to the team as a "Full-stack Tester".

Venkat Ramana

Chief Executive Officer at valuepitch

3 年

Good prediction. Full stack testing as a service will boom in the time to come...

Raviraj Mundhe

Program & Engagement Management

4 年

Omkar Pendse Very well written! Time for full stack Testers to rise. I remember how you and team automated regression testing on the Program that we were working on. Also it will be a paradigm shift for Testers to learn and apply a bit of project management as you suggest in your article, that is a hallmark of a true self organising team.

Akshay Saraswat

Lead QC at Synechron Technologies Pvt Ltd

4 年

This is in fact very true nowadays, companies are calling this as cross channel or Multi Skill sets resources pooling.

Mahendra Mishra

Product Management

4 年

Well articulated Omkar Pendse !

要查看或添加评论,请登录

Omkar Pendse的更多文章

  • Preserving Mental Health in High-Stress Work Environment: A Conversation with a Former Colleague

    Preserving Mental Health in High-Stress Work Environment: A Conversation with a Former Colleague

    The recent tragedy of a young Chartered Accountant from EY Pune, who lost her life due to stress and overwork, has…

    2 条评论
  • Where are our lemonade stands?

    Where are our lemonade stands?

    Every Diwali, the excitement wasn't just about new clothes and sweets, but the box brimming with firecrackers I…

    1 条评论
  • We are Fagile...

    We are Fagile...

    Internet seemed abuzz with everything agile; agile methodology, agility, agile adoption, agile transformation, agile…

  • Regression testing and cognitive biases

    Regression testing and cognitive biases

    Regression testing is an essential component of any project/program's test strategy. Regression testing ensures that…

  • Down underdogs and servant leadership

    Down underdogs and servant leadership

    I recently watched the docu-series Down Underdogs on Sony LIV. If you are a passionate follower of cricket, then this…

    5 条评论
  • Sprinting with Agile

    Sprinting with Agile

    Navin Bansal a young IT professional bitten by the entrepreneurial bug, submits his idea in an ideation contest…

  • Testing tool stack

    Testing tool stack

    A couple of weeks back I wrote an article on LinkedIn, stressing on the need for software testing community to up-skill…

社区洞察

其他会员也浏览了