Passing the technical question in your first interview for a software test engineer / QA position

 It wasn’t easy to get this interview. Most job descriptions require 2-3 years of experience, but how do you get 2-3 years of experience if no one gives you a chance? Still, you didn’t give up. You worked hard on your CV, and you asked your friends to review them. You talked to anyone who could help you on all possible social networks. And finally, it happened: you are invited to your first-ever QA position interview with a testing team leader! That is so great.

But after a few hours, possibly minutes, the happiness levels start to drop. You understand that there is a small issue of successfully passing the interview.

Now you start to hear little voices in your head asking: am I good enough? Will I pass the interview? And yes, how good are the other millions of candidates that compete with me for this position? Probably better than me, the one without any experience…

Of course, you don’t know them, but the ‘unknown’ might scare you even more… Actually, there might be less than a million, sometimes even a few.

Here is what you might do: try to relax. Easy to say, hard to implement, I know, I know! Just do something you like for a little while, like a hobby, and then start planning. The mere thought that you are initiating action already contributes to your success.

First, as you know, you were not invited to the interview with the knowledge that you have experience. So you don’t have to display your exceptional proven skills and knowledge, as an experienced tester would. In some ways, you have it easier than a candidate for a position that requires experience. Since the expectations in some levels are low (as it should be for an inexperienced) you can only use this to excel.

Now that you are relaxed, build a plan.

I would divided the plan into:

  1. If you haven’t done it so far, start doing it now: try to learn the basic concepts of the software testing profession. You should know what are the test documents. What is Agile testing and what is Waterfall. What are regressions and progressions? How a bug should be reported etc. If you do not know the basics, the interviewer, even if is with good will, will start thinking how hard it will be to train you from level zero. On the other hand, she will be impressed that you came prepared.

    You will not be expected to say what is the best approach for bug opening in Agile. Don’t lose your focus by going too deep.

  2. Learn about the company and its products as much as you can. Even if you could say the names of the company products while the interviewer is telling you about the company, you will earn credit.

  3. Most likely you will get a challenge, a product with a question of how to test it. And this is the purpose of this article: how to pass the technical question.

The technical question:

Since many times the question, especially for someone with no experience, is about a product we all know but never thought of testing (easy to ask a novice about a product she knows), this will be my example: an ATM machine.

So the question is: How would you test an ATM machine?

Sometimes the interviewer will leave you in the room to return later, sometimes he will remain and expect you to explain the process of your thinking, to understand how you think. This is what I would do because this is what matters to an inexperienced person.

Here I will try not to answer the question, but explain the way it should be approached so that it will give you a more general idea of how to answer those questions.

By the way, ask for paper and a pen. This will be easier for you to plan and will show that you are a serious person.

.

Tip:

  1. If you remember the test zone categories below in the interview, you already have a much bigger chance to pass the interview!

  2. You can tell the interviewer what will be your test zones.

Test zone 1: What is the purpose of the product and how does it achieve it?

Sure, to withdraw local currency. Is that all? It is also designed to deposit cash and cheques, withdraw foreign currency, and display information about your account.

I will talk about the first and more usual purpose. You can too tell the interviewer that this is what you will do, and if she wants you can go to the other purposes after this one. I don't think they will ask for that. Here it is important to show that we see the full picture.

So step one will be to state the purpose of the product.

What does it do to reach the purpose?

Tip: always think about the steps you do when you use the product!

Step two would be to break the process of using the product into steps and write them down.

** I am not an ATM expert and I am not trying to give a full answer to the ATM challenge, just trying to suggest how you might answer.

Step 1: The system identifies you.

Step 2: For withdrawal and other purposes, it needs to get your current account data.

Step 3: It registers the amount you want to withdraw.

Step 4: Check if you have enough money compared to your account balance.

Step 5: Check if the amount you entered in Step 2 is in accordance with the cash it has in the system (for example in duplicates of 20s).

Step 6: If the steps below passed it hands you the money, if not… Well, you would have expected an explanation.

Step 7: Update the balance if needed.

Now that you have the steps, think about how to test each and every one of them. This is called functional tests.

Think of positive and negative tests per step:

  • Step 1: The system identifies you.

    - What if it is by credit card and the card is OK? (positive)

    - How many card companies it supports? Check them all probably. (positive)

    - What if the card expires? (Negative)

    - What if the card can’t be read? Is there another way? (negative)

  • Step 2:

    - If the the account is OK we should get the account data. (positive)

    - What if it can’t get the data? Is there a workaround? (negative)

And so on and so forth.

Notice: So far you don’t have to be a technical or test expert for that. You do have to be analytical - and this is what the interviewer wants to see.

Test zone 2: User experience, AKA UX:

After you verify the functionality of the ATM works, check that:

  • the process was easy,

  • well explained,

  • Friendly

  • Has Help etc.

Even think of the ATM height - is it usable for all the users?

Test zone 3: the technical side of the system.

Yes, with less experience it is not easy, but even here some common sense might help.

What do you know for sure?

You know the ATM needs to check who you are and your account balance. How does he have the data? Does it keep it locally?

Well, when I was young it did, so when I was broke and couldn’t withdraw as much as needed I used to do an ATM round and withdraw a little from a few ATM machines. But today it will not work.

Anyway, you don’t have to know the truth, you just have to give a good explanation.

So you could say:

There are servers with all the customer's data and the clients - ATMs connect to the server for identification and data updates.

That is enough to find issues. Again, think you are now at the ATM in the process of withdrawing and something doesn’t work. What is it?

  • Maybe the connection to the server is bad? We should test that.

  • What if I get approval to withdraw and then the connection dies while the money is received - will the server get updated anyway or did I just win free money because the ATM didn’t ensure the transaction was done?

  • Do the ATMs connect with each other? What if one loses connection?

There are of course more tests.

Test Zone 4: Data integrity

Since it is so an important issue (money, you know) how can we make sure the data is protected from corruption and loss? You may not have answers, but you were aware of the question!

You might say that the data should be backed up in real time. (the how to do it is not something you must know at that moment).

The tests are:

  • Remove one hard drive from the server. ATM,

  • Delete data,

  • Stop in the middle of a transaction.

etc.

Test Zone 5: Performance

Again - it is a logical issue and no need to be experienced QA for this:

What if for some reason many people want to withdraw at once? (e.g. rumors that the bank is going bankrupt and we must take out as much money as we can).

Two issues:

  • will the server work well and will not ‘lose’ transactions, and

  • will the users at the ATM not encounter slowness.

Test Zone 6: Security

This is usually the first answer I get. So yes,

  • Is the communication secured?

  • In case of thieves do I get an alert? Test it.

  • Does the system have a mechanism to see unusual activities? Test it.

  • I know they have a camera in each ATM. What should happen if the camera will not function?

  • Of course, the verification of your code is important (correct code, a close code number) etc.

OK, but if I get another question?

Now if the question is how to test the amazon.com site - use the same logic: check the functionality, UX, System-wise, Data integrity, performance, and security.

If it is a notepad, cool. Maybe security is not applicable but its functionality, UX, System (here the notepad vs the operating system), data integrity (that it saves files with all data even if there are nonregular chars or long text), and performance (bulk of data).

It is recommended that you complete the tests I started above and apply what you have learned to other questions.

Conclusion:

There are other important guides to pass an interview, but I concentrated on the technical questions.

It is important to say that all the above is not limited only to the interview. Whether you are on your way to becoming a test engineer or you have been in the profession for many years - this is the way you plan the test activities. There are more test areas and tests we didn’t cover, but I think that sometimes more is less and it might be confusing.

It is understood that you have no experience. It is OK. and you might not be as specific as I was (even if I didn’t specify all issues). Also, it is understood that you probably don’t know how the system is built.

But if you state: that I would test the product functionally, security, etc., then start to detail, as I showed above, you will probably have a better chance to succeed in the interview.

Good luck!.

Comments