I'm doing everything I can to learn about Software QA and Software Testing. I've got a decent understanding of SQL and I'm applying that to MySql as that seems to be the most popular. I understand that QA folks should have a good understanding of that language and the RDMS's that relate to it.

In my last job, I worked very closely with the Dev team and did some front-end testing based on user complaints. I could not necessarily say I did REAL Software QA stuff.

Currently, I am in between jobs and I would like to take a step in that direction. I'd like to start doing Software QA. Can you give me some ideas in regard to where I should start? I understand the Agile process and all that good stuff...but for instance, how does (in their everyday duties) a software QA person use SQL and why?

What I mean is can you give a list of things that I should know and learn before I go for interviews?


4 Answers 4


Like Sam points out experience with SQL and/or with MySQL will greatly depend on the project and/or the company with whom you hope to work. SQL skills are one aspect of Software Testing that focuses especially on technology.

James Bach, an expert in the field of Software Testing with 20+ years experience, published a Tester's Syllabus for those who are interested in what he thinks Software Testers should know. The idea being technology skills are just one piece of the puzzle. The syllabus has 9 areas:

  • General Systems
  • Applied Epistemology
  • Social and Cognitive Science
  • Mathematics
  • Testing Folklore
  • Communication
  • Technology
  • Software Process Dynamics
  • Self-Management

I've written about the meanings of each area based on a webinar I participated in with James as the speaker. The more I understand about the big picture of software testing, the more motivated I am to become a better tester. It becomes a way to differentiate myself from all the other testers out there.

Most of the things Sam mentions (problem-solving skills, organization, etc.) fall into the categories listed above.

You've already taken a step in the right direction to becoming a software tester (or SQA) by searching for more information on a problem you have. Now continue that search. Oh and if you are new to software testing, Ben Kelly wants to welcome you (read this).

  • 2
    This is a fantastic answer. I knew in the back of my mind that QA was much bigger than Selenium and JUnit. That list of areas opens up huge areas of inquiry into stuff I've been interested about for a long time. Thank you.
    – Green
    Commented Aug 28, 2012 at 17:41
  • 1
    Testing is bigger than Selenium and JUnit in the same way that cooking is bigger than pans and spatulas.
    – corsiKa
    Commented Sep 4, 2012 at 20:56
  • @DarkTrick fixed the link Commented Mar 15, 2022 at 22:30

SQL is specific to the project you're working on. Knowledge of SQL may or may not be applicable to an SQA position. I would say there are probably more SQA positions than not that don't have that requirement.

The most important thing for an SQA position is logical problem-solving skills. Especially for entry-level SQA positions most of the focus will be on your problem-solving skills and communication skills. Depending on their interview style they could ask you brain teaser/puzzle questions or ask how you would test something. That something could be anything from a pen, to an elevator, to a web page, to a complex multi-tier application.

More important than the answer is how you approach the problem. Interviewers will be looking for organizational skills (come up with a plan before you start), basic knowledge (did you cover all of the obvious, basic cases), creativity (What about all the edge cases), communication skills (Did you ask questions, or just make a bunch of assumptions), and broad coverage (What about performance, security, localizability, etc?).

Often they will look for basic QA knowledge as well. Are you familiar with Black Box vs White Box testing? What are functional tests, regression tests, localizability/globalizability tests, security tests, performance tests, etc.

A good resource for getting started with QA is the book Testing Computer Software by Cem Kaner. It was pretty much THE resource on software testing for a long time. http://www.amazon.com/Testing-Computer-Software-2nd-Edition/dp/0471358460


There are lots of things that it helps to know to be a good tester. The specifics will vary by job. And even if the specifics of this job are not directly applicable to the next job, the fact that you were interested and able to learn implies that you are valuable as a tester.

There is another kind of knowledge that will also help you as a tester: knowing that your assumptions are wrong. We spend our careers building up a repertoire of assumptions that allow us to make quick decisions, because life without assumptions is difficult, e.g. the sun rises every morning, it's safe to cross the road when the traffic light is green, Joe's code probably works, and if Bob's code doesn't work, it's probably a problem in his database code. As a test person, you must be willing to question your assumptions over and over again. This skill is intangible, hard to detect in an interview, and orthogonal to your technical skills. Nonetheless, it is a hallmark of a great tester.

I don't know whether you can buy a book or attend a conference that will teach you how to question your assumptions, but I believe it is something you can improve with the right kind of effort.


Addition to the skills that are mentioned in the above answers, what I think are The most important factor while working as QA for me are;

  1. Know how software works. (SDLC, Agile etc)
  2. Good communication and written skills.
  3. Great interpersonal skills

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.