About once a week, I get an email like one of these:
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.
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.
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 firstname.lastname@example.org. 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.
P.S. See also what Allen Johnson has to say about this.
Awesome post. This is a great standard response. All testers take note! :- ) Thank you for posting. I will be passing it around the office.
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.
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.]
Yury Makedonov says
What does RTI in “Consider taking the RTI Online class” stand for?
[James’ Reply: I added a link that that. It stands for Rapid Testing Intensive.]
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.
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.
Navanath Surve says
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 !!!
Stephen Hill says
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.
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? https://www.satisfice.com/blog/archives/893
[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.]
Ruma Dak says
Awesome Post! Everyone can get something from this post !
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.]
Gautam M.S. says
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!
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.]
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.]
@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.]
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.]
@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.]
@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.]
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
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%5D
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?]
What if that person happens to be the boss? Maybe there should be another category besides “Invalid”
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 https://www.satisfice.com/blog/archives/852
[James’ Reply: Sure.]
This post is Just Brilliant. I am a QA engineer(tester), starting my career in industry as a fresher.
I will follow your guidelines for sure. I have also watched a couple of your videos. Withpassion hoping to become a proffesional tester with you as a inspiration.
Kim Engel says
This post saves me so much time, I refer people to it regularly.
I also recommend that new testers look for a local test meetup group to join and participate in.
Kim Engel says
I regularly refer people to this post. I also recommend that new testers check whether there’s a local tester meetup group in their area which they can join.
Thanks James for great advices. I’m not a new tester but I still see them valid and helpful.
For those who are new in testing, from my experience, it’s not because you are incapable, it’s because you are worrying too much about things that do not really matter. I cover this in my recent blog post: http://www.asktester.com/new-tester-stop-worrying-these-things-and-youll-be-fine/
Hope it helps.
[James’ Reply: That is a good post. I don’t see a lot of posts I say that about.]
Michael Bolton says
James, apparently, this passage has raised some controversy in the Twittersphere.
“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.” (I added the emphasis, there.)
For the record, could you explain why someone had better not use the term “automated tester” around you?
[James’ Reply: Because I will tease you about calling yourself a robot. You are not automated, you are human!
But that’s not the only reason. The more important issue is that there is no such thing as an automated test. Testing is not the same thing as collecting output. That is only a part of testing. And I have come to believe– after years of observation of confused managers who are strangely obsessive about test tools– that calling a test automated creates an impression that testers are mere button pushers. If we can automate testing, then the only reason we have testers is because we are too lazy or stupid to make a tool do the work for us. If we can automate testing, then testing is not a skilled craft.
I have devoted my career to studying testing. Testing IS a skilled craft. No tool jockey can match what I can do.
I use tools to help me test. That doesn’t make my testing automated.]
Michael Bolton says
A lot of people have that title, “automated tester”, or label themselves that way. Wouldn’t the context-driven approach suggest that they get to call themselves what they like? Isn’t context-free rejection of their title insulting?
[James’ Reply: It is not a context-free rejection, it is a thoughtful rejection based on asserting a moral context. The moral context is: it is wrong to mislead and confuse the innocent.
The Context-Driven way says we don’t accept practices as always good or always bad. But that doesn’t mean I can’t make statements about things that are true in the specific contexts or some general context that we probably share. I can do that, and give my reasons. Then anyone is free to debate it.
CDT is about understanding that good solutions may take different forms in different situations. It is not about how anything is as good as anything else because we are not allowed to judge.
So if someone wants to make a case for using a job title that I have declared to be silly, let them make that case. Hey, I might change my mind.]
As a new tester, I have found this extremely helpful and will definitely put to use some of the great tips you have shared! I now have new reading material to help increase my knowledge on testing. Thank you for the awesome post!
Marius Francu says
To testers, programmers, managers, team leads… who want to be better in their work :
Read James Bach Blog and Michael Bolton’s blog with discipline from the first post to the last , like an ebook if I can say so. Make notes, make parallels with your experiences and observe what will happen. You will not lose your time!
Aaa yes for Agile/agile folks who want to be convinced…: I’m following the work of James Bach because I was convinced in a video with Uncle Bob ( Robert C. Martin) . And so I discovered James Bach, then Michael Bolton, then Cem Kaner….
I am from Pune, India. I am working as a game tester since last 1.6 years and i want to switch in manual testing field from a long time. I do have knowledge on selenium. The major issue what i am facing is that i don’t have hands on experience in manual testing. So if the interviewer asks me about what is your role on your current project. i didn’t have any any answer on the real time basis because i haven’t worked on any manual testing projects. So my question is that, is there any live projects from where i can get real time knowledge about how manual testing is done in a company and how the work flow will be.
[James’ Reply: I don’t know. But I don’t think in terms of “manual” and “automated” testing. I just think about testing. If you want experience testing, just try testing something.]
Thank you for sharing this post. Before i don’t know about software testing and it is type but still i clearly know about it. and my questions is what are the basic problems in manual and scripted testing?.