Software QA Engineer or Software Tester? It is time to prepare for a job interview! Review the amazing collection of Software Quality Assurance Interview Questions and Answers.

QA Interview Questions - Quality Assurance

Software Testing, Quality Assurance and Quality Control - what is the difference?

QA (Quality Assurance) refers to the systematic and planned process of monitoring the quality of process which is followed to produce a high quality product. QA tracks the outcomes and adjusts the process to meet the expectation.

QC (Quality Control) concerns with the final quality of the product. Quality Control finds the defects and recommends the improvements. The process set by Quality Assurance is always implemented by Quality Control. The QC is the responsibility of the software tester or a team of QA Testers.

ST (Software Testing) is the vigorous process of ensuring that intended product developed by the software developers meets the user requirements. The goal to perform testing is to discover the bugs and make sure that they get fixed before the launch.

Python interview question for testers!

Every QA Tester noticed that QA Interview questions become more arduous and toilsome in the last few years. Who would imagine that QA Engineer should know how to program in order to get ahead? Look at most recent job ads for QA Testers and you would observe that more than eighty percents of the ads requested programming skills. Obviously the tester who is solemn about a career in testing would do well to pick up at least one programming language. Therefore, let's return to QA interview questions for one of today’s most popular programming language - Python. I have already covered a tad of Python interview questions, but it was mainly related to presenting Python skills in QA Tester resume. Now the time has come for the coding interview questions and the most simplest query - swap values of two variables! Quite likely the answer would be something like
  • temp = foo
  • foo = bar
  • bar = temp
and this in not a Python way. In this case you could help the interviewee and suggest to swap the values without using a third variable. Most advanced tester could provide the correct answer below, but it is still not a Python way to solve the problem.
  • foo = foo + bar
  • bar = foo - bar
  • foo = foo - bar
The exact answer I am obviously trying to get is
  • (foo, bar) = (bar, foo)
and this would be a great confirmation that QA Tester has the basic understanding of Python, but of course the interview is not over yet. More Python interview question coming in the next few weeks.

Git interview questions for QA Tester

Git interview questions should help QA Manager to get to know the candidate for QA Tester position and how the tester will fit in with QA team. The most easiest way to weed out candidates is to check the spelling of this distributed revision control and source code management. If QA Engineer resume refers to Git as git or GIT, throw the resume away, there is no place for blatant spelling errors in the tester resume. By the way the same applies to the spelling of Subversion as svn or Svn instead of correct abbreviation - SVN.

Git interview questions
The next set of Git interview question are those which have a high frequency of being asked in interviews and shall identify whether QA Tester is capable of grasping the concepts involved in version control.

A little bit of version control theory:
  • What is Git?
  • Explain the difference between SVN and Git?
  • Why Git better than Subversion? Is it really better?
  • What are the advantages and disadvantages between centralized version control system and distributed version control system?
  • What is best Git book for newbie?
  • Do you know what is SHA-1?
A few practical Git interview questions:
  • Do you prefer to work with Git from the command line or GUI?
  • What is the best Git GUI client for Linux?
  • Have you found already the best Git GUI client for Windows?
  • Do you know the best Git GUI client for Mac OS X?
  • How would you start tracking an existing project in Git?
  • What command you would use to get a copy of an existing Git repository?
  • Write an example of any Git command?
  • What's the difference between git pull and git fetch commands?
  • Do you use Git aliases? What is your favourite Git alias?
  • Are you on Bitbucket, GitHub? If so, what are some examples of repos you follow? Can we see your code?
Please keep in mind that above Git interview questions contain the open ended interview questions where QA Tester can answer the questions however she choose to respond. There are no yes or no or right or wrong answers. In the same time some of questions require exact answers.

Related Best Git Books

Python interview questions for QA Testers

Python interview questions should not be a problem for QA Tester, who mentioned a few years of Python experience in the resume. In many companies Python is being used for for creating automated testing frameworks, for writing automated tests, build scripts, system monitoring and logging tools and so on. As result the demand for QA Tester with Python experience increased dramatically, but employees are looking for experienced testers and the hiring process becomes the challenging area.

The first area are to look for is QA Tester resume. I often see Python in summary of skills and qualifications section of the resume, but it is completely not clear how the interviewee was using Python, because there are not references to Python experience or tools anywhere else in resume or in the best case QA Tester mentions Python in education section as Udacity Online Course: Programming in Python (CS101). First things first - update your resume with a real life Python experience. It could something really short like "created and maintained server-side integration tests - Python and Selenium WebDriver running with every build (Git, Jenkins) on AWS (Amazon Web Services)", but it would help you to explain how you were using Python in your testing life. Keep in mind the interviewer will grill you for every word you have put in your SQA Tester Resume, so QA Engineer should not lie in resume about Python experience.

In the next article, I will cover Python coding interview questions for QA Testers. In mean time you could look at best Python books for beginners in order to prepare for an interview.

Why automated software testing fails?

Automated software testing has plenty of benefits and a lot of challenges. Despite the availability of a broad array of tools for software automation Silk Test, Selenium, HP QTP, Watir and etc), almost every QA Testing teams struggle with the similar standard architecture issues. In my opinion most of the issues are due to a lack of a preparation and training for building automated software testing framework.

The most common problems with software automation are
  • QA Training - automation testers have to study a lot before they would able to use software test automation tools
  • Tests fail under change - usually automated test would break when the application under test changes. It means QA Testers have to spend valuable time to fix existing automated software testing frameworks.
  • Person dependency - an amazing QA Tester is in charge of the all test automation efforts, but when this person leaves the company no one would support and maintain scripts. In the best case the framework and script would be rewritten by newly hired testers, in the worse case QA Team would abandon test automation and completely switch to manual testing.

What makes a good QA Tester?

There are several QA tester tricks to show uncanny abilities, improve visibility and get promoted very quickly:

  • Submit every typo, misprint as a separate Jira or Bugzilla bug report to inflate the bugs count.
  • In case your QA manager keeps track of number of test cases you written, churn out test cases by copying existing ones or copying the software requirement into another document as detailed test cases.
  • Request one more machine for you desk from QA Manager and make sure that you constantly have an automation test running on this machine
  • Never mention that you have found the bug by a weird accident. All your bugs are results of carefully planned test plan and test cases.
  • Never admit that you forgot to execute some tests, you just keep track of executed test cases on your computer.
  • Never admit that you forgot to submit the bug to Jira or Bugzilla bug tracking tool, you are still working on reproduction steps.
  • If you do not know how to test the certain feature in the application under test, just keep waiting till another QA Tester will test it.
  • When someone catch you sleeping on your desk, tell that you are testing time out feature of web based application.

Happy Testing! :)

How to evaluate QA tester's work?

Tricky Test manager interview question may sound like : Imagine being a test manager and trying to evaluate the performance of your QA testers. As we all know staff performance reviews is a one of the responsibilities of QA Managers. Software quality assurance engineers do a wide variety of tasks, such as bug hunting, bug reporting, test planning, and test tool development. To fully evaluate the work of the QA tester, Test Manager would evaluate the quality of work on each of the tasks. As I noticed during several interviews, some Test managers prefers to focus on quantitative measures like number of bug reports or number of bug reports returned as duplicates, but in my opinion any performance review that is based on number, can be easily gamed. The successful QA manager would focus on qualitative measures while providing performance evaluation for software QA Testers like quality of test plans, test cases and bug reports. Another measurements could be the ability of SQA Engineers to research and acquire a new testing skills, attitude towards coworkers, ability to manage time effectively, capacity to respond to changing priorities.

Common QA engineer interview questions