This document outlines a methodology for transitioning testers to developers by starting them with bug fixing, unit testing with JUnit, problem solving, and then gradually introducing more advanced programming concepts like OOP and core Java. The approach begins by giving testers simple programs with bugs to find and fix. It then teaches unit testing and has them write test code. Problem solving skills are developed by having them solve scenarios on paper and learning to code solutions. The training progresses to more complex problems and programming topics until testers fully transition to thinking and working like programmers. A trainer with both technical and soft skills is needed to change testers' mindsets and ensure a 100% success rate.
1. Training
Methodologies
How to train coding skills to testers?
(Transition from testers to developers)
Author: Gurumurthy Ramamurthy
Director and Founder
GS3 Software Pvt. Ltd.
3. Testers Mindset
• They tend to find faults, it’s their job, no
worries.
• But, they understand the functionalities of
software products better
• Since, they hold the responsibility of certifying
the product, they spend more time in
investigations and analyzing the reports
• Testers can become fantastic developers.
5. Start from bug fixing
• The best bet would be giving them some
simple program to test thoroughly.
• This code has some minor bugs (introduced
intentionally)
• As a tester, they tend to find bugs and we ask
them to think how to solve it, logically?
• (For instance: Give them a code to accept and
add two numbers. The code is written to
accept only two integers, but when the testers
give floating point, it would fail (expected), so
testers start thinking why and how to fix it)
5
6. Start from bug fixing
• Now, let’s ask the testers to open and look at
the code (white box approach) – preferably in
IDE (Eclipse)
• The code is simple, so they can easily find out
the issue
• Pat on their back for their good work
• Boom!
• They start to gain confidence.
6
7. JUnit Approach (TDD)
• Tester would never /think tend to start from
public static void main(String args[]) as
developers do.
• Their approach towards programming/code
would be totally different
• Give them a code to do unit testing (with
JUnit) – we introduce coding here
• This way, they can start testing the code for
success or failures so that we make them to
look at the code (white box)
7
8. JUnit Approach (TDD)
• Now, they start writing the code (testing code)
• They get a taste of coding
• At this stage, we give couple of unit testing
code to write
• They write more code
• We appreciate for their good work
• Boom, Boom!!
• At this stage, their transition starts
8
9. Introduce Problem solving skills
• Now, they have already have seen Eclipse
(IDE) and code
• We start giving very simple use cases /
scenario based (we don’t call it as programs
yet)
• We will ask them to solve this with paper and
pen:
• For instance: The speed of a world's fastest
Jet Plane is 689232 miles per hour. Find out
how many miles it will travel in 5 hours?
9
10. Introduce Problem solving skills
• They can definitely solve it using Pen and
Paper.
• Now, this is the time to teach them how to
convert this problem into a program
• Introduce variables, statements, expressions,
logical functions, if…else, looping
• Slowly but steadily.
• They will definitely get onto this
• Now, we would be very sure that they are into
programs.
10
11. Time for deep diving
• Now, it’s a time for deep diving.
• We should start teaching them all
programming preliminaries in Java
• Give them more problems to solve
• Constantly encourage them
• Start giving little complex problems
• They would have started thinking like
programmers at this stage.
11
12. Go for distance
• They all underwent the transition
• It’s time for pitching the programming
concepts, and other topics
• From here, we can start teaching them the
actual programming (OOPS, Core Java)
• There won’t be any hassles / road blocks for
them to accept
• Boom, Boom, Boom!!!
• Testers turned into Programmers.
• Happy coding!!!
12
13. Need not just trainer
• This is not a normal course that just teaches programs
/ technologies to the audience.
• The crowd is already experienced with testing
• We need someone who can change/bend their mindset
towards programming
• So, we need a person with technologies and soft
skills, who can read the testers’ mind and then impart
the required training.
• Since, I have already handled couple of such batches
with my methodologies that yielded 100% result, I
believe that I can complete this project with 100%
success too.
13
14. Gurumurthy Ramamurthy
The trainer’s profileGurumurthy Ramamurthy (Guru) –
International trainer
Oracle Certified J2EE Architect (Level 1)
• Experience:
– 16+ years in IT development and 7+ years in Training
– ORACLE India - worked as PMTS (Principal Member Technical Staff)
– Some of other companies I worked with are IBM, CSC,
Convansys
– My areas of expertise: Java, J(2)EE, EJB, XML, XSLT,
JavaScript, Design Patterns, Frameworks (Spring, Hibernate),
Web Services (SOAP, REST), AngularJS (2,4,5,6), NodeJS,
jQuery, ReactJS, TDD, Selenium
• Expert training freshers, testers, developers, architects
• Trained around 5000+ professions in India, USA, Mexico, Germany,
Philippines. Testimonials and references are available on request.