To The New Tester

About once a week, I get an email like one of these:

Hi James,

I’m from Hyderabad, India. I’m working as a Testing Engineer and doing Manual Testing from the Last 1 Year. I want to know what are things I need to follow to become a good tester. I didn’t have any programming background. I want to learn automation testing for career growth, I want to improve my test case preparing skills and documentation skills. Please suggest me in this regard.

Hi, James,

I am looking for software testing jobs. Actually I’m fresher, I don’t know much about testing but I interested too. Can you please suggest me which type of testing is good?(like manual or automation or etc..) I have got some ideas about manual testing and DB-PL/SQL.

Respected Sir,

I am a Big Fan Of You.

BTech Graduate In Electrical & Electronics. Done Software testing course in QTP and Selenium. I got job as Mobile Application Tester. I am the only tester in this company. iOS and Android Apps. Now i have 3 months experience. I am mainly doing Manual testing. I dont know , whether i am going in right path.

Can you help me please? (Advice)

This blog post shall be my standard answer to these emails…

Dear New Tester/Testing Hopeful,

Thank you for choosing testing. We need smart people in our craft, and I hope you are one of them. I know you must have something going for you because, unlike most young testers, you reached out to me. That’s not easy.

Here are some general ideas:

  • Read my blog (www.satisfice.com/blog).
  • Read the materials on my website (www.satisfice.com).
  • Consider reading either of of my books: Lessons Learned in Software Testing, or Secrets of a Buccaneer-Scholar.
  • Read the materials and blog at www.developsense.com
  • Get on Twitter and watch the conversations among the Context-Driven community. Participate in those discussions.
  • Join software-testing@yahoogroups.com. It’s a quiet, moderated email forum for Context-Driven testers.
  • I offer free coaching, too, but you have to read this blog post first.
  • Practice testing things that aren’t secret, and then post your test results online so that others can see them.
  • Consider taking the RTI Online class.
  • Consider taking the BBST class.
  • Participate in sessions conducted by www.weekendtesting.com.
  • Consider attending the Let’s Test conference or the CAST conference.
  • If you want to get good at using tools while testing, try learning Python. Personally, I use Perl, but I hear Python is good.

Here are some books to read:

  • Introduction to General Systems Thinking, by Gerald M. Weinberg
  • Quality Software Management, Vol. 1: Systems Thinking, by Gerald M. Weinberg
  • Tacit and Explicit Knowledge, by Harry Collins
  • The Black Swan, by Nassim Taleb
  • Testing Computer Software, by Cem Kaner, remains a good classic testing book.

What about certification?

  • Don’t get certified. There are no respectable commercial testing certifications.
  • If you are forced to get certified for some reason, do not take it seriously. It’s not an achievement, it’s just a conveyor belt that extracts your money and gives you nothing you couldn’t get for the price of a Google search.
  • True certification remains this: the respect of respectable people.

What kinds of testers are there?

  • Automated? Manual? There is no such thing as manual or automated testing. It’s all just testing. Testing is often supported by tools that attempt to simulate user interaction with the system. This is what people call “test automation” even though it is only automating a crude approximation of one aspect of testing. If you have the ambition to be a one-man test team, it is extremely valuable to learn how to make your own tools.
  • Exploratory? Scripted? There is no such thing as an exploratory or scripted tester. All good testing is exploratory to some degree and scripted to some degree.
  • Tester. This is a testing generalist who can contribute to any test team. Sometimes called a QA analyst, QA engineer, or test engineer. I prefer the simplicity of “tester.”
  • Omega Tester. The omega tester (which I sometimes call a test jumper, after the analogy of a paratrooper) is one who can do anything. An omega tester is equipped to be the only tester in a project team, if necessary. Omega testers can lead testing, or work with a team of other testers. I am an omega tester. I aspire to be a good one.
  • Performance Tester. The performance tester understands the mathematics and dynamics of the performance of large-scale systems. They use tools that create high loads and measure the performance envelope of systems as they scale up. Performance testers often don’t think of themselves as testers.
  • Usability Tester. The usability tester is a bit mythical. I have met only two dedicated usability testers in my entire career, but I have seen more of them from a distance. A usability tester specializes in studying how users feel about using and learning a product.
  • Security Tester. Security testers also often don’t think of themselves as testers. Security is an exciting, specialized form of testing that requires the mastery of a great many facts about a great many technologies.
  • Testing Toolsmith. A testing toolsmith is a programmer dedicated to writing and maintaining tools that help testers. This is what a lot of people would call an “automated tester” but you better not use that term around me.
  • “SDET” Software Development Engineer in Test. This means a full on programmer who does testing using his programming skills.

I want to help everyone, but at the same time, I have my own work to do. So, I limit my attention to a special kind of student. I work with people who study and practice and want to test better and understand testing more deeply than others. If that describes you, then instead of writing to me with a question, write to me with examples of your work.

Good luck!

— James

P.S. See also what Allen Johnson has to say about this.

 

21 Responses to “To The New Tester”

  1. Alexis Says:

    Awesome post. This is a great standard response. All testers take note! :- ) Thank you for posting. I will be passing it around the office.

  2. srinivas kadiyala Says:

    Thanks for the Post.. There is always a question who are new to testing, what should i do ?

    I think there should be some pattern of learning in the companies, to follow for new testers.

    This post can give some guidance to clear the starting phase.

    – @srinivasskc

  3. Ajay Balamurugadas Says:

    And as mentioned on many blog posts, try these too:
    1. Participate in sessions conducted by http://www.weekendtesting.com
    2. Read ‘Lessons learned in software testing’ and ‘Testing Computer Software’

    [James' Reply: I added these. Thanks.]

  4. Yury Makedonov Says:

    Hi James,

    What does RTI in “Consider taking the RTI Online class” stand for?

    Yury Makedonov

    [James' Reply: I added a link that that. It stands for Rapid Testing Intensive.]

  5. Rajesh Maadireddy Says:

    Hello New Testers,

    Satisfice is a excellent place of Intellectual articles designed from James experience & discovery of over 30 Years ( Since 1983 ).

    James is very kind & help full for New learners .

    He has the knack of Unlocking your mind.

    From James, You can learn English, Science, Mathematics, Psychology, Philosophy, Humanity.

    To be his Student it requires needs dedication, discipline , patience & passion to excel.

    Welcome to James World.

  6. Inder P Singh Says:

    James, thank you for creating this list. I have experience in testing but I have bookmarked this page and will look at the tasks to ensure that I have a strong foundation in testing.

    Will also pass on this web page link to people who are serious about becoming good testers.

  7. Navanath Surve Says:

    hi james,

    though i have not sent you an email like above folks but i got answers to all my questions !!! :)

    thank you for this wonderful post !!!

  8. Stephen Hill Says:

    Hi James,

    A great post for beginning testers – I shall point people that ask me for advice towards it.

    I am getting a lot of help at the moment from http://www.amazon.co.uk/Everyday-Scripting-Ruby-Teams-Testers/dp/0977616614/ref=sr_1_1?ie=UTF8&qid=1385456055&sr=8-1&keywords=ruby+for+testers and others might find it useful too. I also found http://www.amazon.co.uk/Learning-Perl-Randal-L-Schwartz/dp/1449303587/ref=sr_1_1?ie=UTF8&qid=1385456182&sr=8-1&keywords=learning+perl to be a good introduction to Perl.

    Regards,

    Stephen

  9. Chris K Says:

    I feel like there are so many things you could say (recommend) to a new tester that sometimes its can be overwhelming. Good idea coming up with a fieldstone of sorts to point to. Do you ever worry about providing too much information that could overload them?

    In your standard answer don’t you have some bibliography or list of software testing books that you recommended to people? I’m thinking you had started something on LibraryThing? I usually recommend the Testers Syllabus because its a great model of how deep the craft is (especially if people think testing is only about one tool or one technique).

    As far as “What kinds of testers” there are, why no reference to The Seven Kinds of Testers post? http://www.satisfice.com/blog/archives/893

    – Chris

    [James' Reply: I put some books in the post! I actually do have a "tester's bookshelf" on Librarything.com. But I need to write reviews for each book. You're right that I should add the thing about kinds of testers.]

  10. Ruma Dak Says:

    Awesome Post! Everyone can get something from this post !

  11. Lena Houser Says:

    Another great and useful post, James. I remember when I met you for the first time over dinner three years (Thank Goodness I saw your post where said that you’d teach for food! ;)). I also felt like a ‘new’ tester in your presence and after talking to you I spent some time on un-learning poor testing practices that I had used in my testing jobs and considered useless. Meeting and studying with you helped me realign and pursue my professional goals, passions and aspirations, and gave a boost to my confidence. I was at a crossroads in 2010 and your candor and no-BS attitude reinforced what I sensed that I should do. I have accomplished a lot since then and am forever grateful to you for awakening me.

    [James' Reply: I am so glad to be able to play a small part in helping you. Also remember that our first dinner together resulted in a whole new exercise for my class-- now a standard part of RST.]

  12. Gautam M.S. Says:

    Hi James,
    This is an eye-opening reply to those who aspire to become great testers. Connecting to well-known testers via social media certainly helps a great deal, where-in one gets to read, understand and take part in various discussions on software testing. Being a frog inside a well doesn’t help in learning the art of testing software. This is my personal realisation!

  13. Tony Simms Says:

    Great stuff James, a couple of thoughts from me….. Certification is a MUST…not because any of them add any real value to you as a test, but because without something a lot of ignorant hiring managers wont even look at your CV

    [James' Reply: How is it a bad thing for ignorant people to avoid your resume? I think that's a good thing. Obviously, if getting a paycheck of any kind is your goal, you are free to lie, cheat and fool ignorant people until you can't stand the sight of yourself in a mirror. But I hope you won't go that route, and I won't help you do that.

    Commercial certifications are a blight upon our industry.]

    and

    Please consider putting Paul Gerrard’s “Testers Pocketbook” on the list. If you don’t have a copy, email me and I will gladly send you a copy as I think it is an excellent set of truths every tester should know.

    [James' Reply: I have considered that. But I don't think Paul Gerrard is serious about testing, and his book is not up to scratch. Instead, I recommend Rikard Edgren's Book.]

  14. @halperinko - Kobi Halperin Says:

    As there is lots of confusion around automation in role naming,
    It might be interesting to come-up with a name for testers more inclined to using automation,
    Those which their role involves more automated scripting design, execution & investigation,
    to differentiate in HR role requests from what you call a Testing Toolsmith or Automation Infrastructure developers.

    Though I agree these are mainly testers, but still its a unique expertise many seek these days, but confuse with the background knowledge requirements of a Testing Toolsmith – which is mainly development background and much less if any testing background.

    @halperinko – Kobi Halperin

    [James' Reply: It's called an "SDET." Otherwise known as a technical tester.]

  15. shilpap2c Says:

    Hi James,

    Thanks for the Post..
    Always a question rises for a new tester, Is testing right path for career? how to start? what to perform?

    [James' Reply: If you like testing, then pursue it as a career. Otherwise don't.]

    software testing is a vast field and you need to acquire the right training before you start looking for job as a software tester.

    [James' Reply: You can be an entry-level tester without any prior training.]

    Also, if you are switching your career from a non-software field to software testing or other, then it becomes even more important for you to acquire the training.
    so, I think there should be some training for beginners who are interested to start there career in software testing.

    [James' Reply: There is such training, here and there. The Per Scholas program in New York City is one example.]

  16. @halperinko - Kobi Halperin Says:

    In Cont. to prev comment – how about using something like:
    Test Automation Implementation – for testers role in automation script design, write, execute & investigation?
    As opposed to Dev. role in Automation Infrastructure as Testing Toolsmith,
    To reduce confusion between these 2 roles and required abilities?

    @halperinko – Kobi Halperin

    [James' Reply: Testing cannot be automated. So I no longer use that phrase.]

  17. @halperinko - Kobi Halperin Says:

    If Checking is part of Testing, and Checking can be automated, than at least to me it seems that Test Automation is still a valid phrase,
    it does not mean that all tests can be automated, but at least the type of tests which are checks might be automated.
    but then again – English is not my native tongue so I might be mistaken in understanding the finer issues of that phrase.

    [James' Reply: A check is not a test. Checking is part of testing, but is not itself testing. A check is never a test. A check, done well, is part of a test.

    I do think that test automation is a valid phrase in English. However, it is not the validity of the phrase that I challenge, it is the value. I have observed that it is dangerously misleading.]

  18. Rahul Says:

    Hi James,

    Thanks much for the Post.. Your posts really makes me to go more and more deeper in testing world and I expect some more motivational posts from you. I am having 1+ year of experience in testing and want to continue the same till my resume headline become “50+ year experience in Software Testing”. Hoping that i’ll have the same or even more interest at that point of time too.

    -Rahul from India

  19. subhashini Says:

    hi,

    iam learning the mobile automation tool Ranorex ,and it supports the Android it easily communicate ,but the tool Ranorex not communicating with ios could please explain the reason, and the procedure of communicating method

    [James’ Reply: Here’s a link that might help… http://bit.ly/11TMDz3

  20. Rahul Says:

    Hi James,

    I’ve raised a bug some days ago, which is now made invalid by the developer due to recent changes in requirement. What should be the next move of a tester in such situations in a Bug management tool?
    Because surely as per the previous requirements, the bug is not at all invalid and i think the invalid tag on the bugs raised by the testers creates a bad impression and is a negative KPI.
    Kindly suggest a good idea or action to proceed with.

    Thanks & regards

    [James' Reply: This is why KPI's are silly. Who would get a bad impression? Someone who doesn't pay attention to what's happening on the project? Who cares about them?]

  21. aiza Says:

    Hi,
    Apart from learning python, we should also learn the programming language used by the programmer in the company we work for right? As mentioned in one your replies to a comment in http://www.satisfice.com/blog/archives/852

    [James' Reply: Sure.]

Leave a Reply

Comments are moderated. You might want to read my commenting policy before you make a comment...