Friday, January 9, 2015

The ultimate series of Software testing interview questions (Part 4)

Software testing interview questions the previous articles in my series, I added few more great questions that relevant for the “Theoretical” side if testing.

Author View:
Please pay attention that memorizes my answers is NOT the right way to work in the testing industry, my goal is to help you to understand the basic questions that you may be asked during a job interview with a short explanation regarding the appropriate answer.

Q1: Explain “End-to-End” testing? 

In this type of testing, the tester will run the application (scenarios that examine the entire flow of execution) on environments that most likely to be on client sites. In addition, the tests will run while combining multiple scenarios that may be relevant in the real world, Examples:

  • Run the software on environment with network communication delays.
  • Run the software on environment with low resources.
  • Running the software on different server hardware.
  • Run the software in the same environment that holds some other applications that consuming the server resources.

The success factor is when the entire flow is working as expected and no errors will arise due to invalid dependencies the affect the execution.

Q2: Explain “Functional” testing


Functional testing, is a set of activities that used to verify the tested software functionalities against the predefined software requirements and specifications, when running those tests, the tester should see the way of use from the customer’s eyes.

In this step, the tester should consider the following questions?

  • How can you improve the quality and efficiency of the tested methods? 
  • How this function can really help the user?
  • Should the function work as defined..?
  • How the user will use the software..?

Q3: What kind of tests involved in “functional” testing? 


A Few examples, will do the work:

  • User interface testing.
  • Compatibility testing.
  • Regression testing.
  • Manual testing.
  • System testing.
  • Sanity testing.

Q4: Explain the two main categories of “Functional” testing? 


Functional testing is divided to “Positive & Negative” tests:

Positive testing – the functionality is tested against a VALID inputs/testing environments/flow Etc.

Negative testing - the functionality is tested against an INVALID inputs/testing environments/flow Etc.

Q5: Explain “Non-Functional” testing


Non-functional testing, are designed and executed to validate the “non-functional” aspects of the tested software (Tests made on all aspects that doesn’t directly related to a specific user action).

Q6: What kind of tests involved in “Non-functional” testing?


A Few examples, will do the work:
  • Configuration testing
  • Compatibility testing
  • Performance testing
  • Endurance testing
  • Usability testing
  • Security Testing
  • Stress testing
  • Load testing

Q7: Explain “White box” testing 


Testing method of testing is usually performed on the lower testing levels (Unit and Integration), testing is most likely to be performed by developers or in some cases by testers that familiar with the code structure (Code knowledge is must!).

The main goal for this type of tests, is to investigate and remove internal logic and structure errors that may cause future errors that reported as software bugs.

The keys for success:

  • Understand the logic behind the code (why it’s built in such way? Design problems Etc.)
  • Familiarity on “how the software supposed to work”.
  • Familiarity with the code interactions/integrations.
  • Familiarity with the design requirements and specifications that compared with the actual design.

Q8: Explain “Black-Box “testing? 


This testing technique, is used when the tester, making is tested without any real knowledge in the software internal code (furthermore, the tester does not have access to the application code), that’s different from “White-Box” testing that the tester must be familiar with the internal code design and structure.

When performing “Black-Box” testing, the tester is working against the software interface and test it against the predefined documentation (SRS, Spec…) that contains the software requirements and specifications.

Additional aspects:

  • The main tests for this technique is performed against the software functionality.
  • Testing made ONLY by software testers, developers are NOT relevant.
  • Most tests are performed with Inputs and expected outputs (the tester should know the expected results because he cannot see the inside process).
  • The tester doesn’t need to know programming techniques (although it can help when the tester needs to automate some tests).

Q9: Explain “Conversion” testing?


Testing technique that used to test how the data that existing on system A will be converted and available for use on system B.

Q10: Explain “Conformation” testing?


The main target, is to verify that the software meets the industry defined standards (IEEE, W3C Etc.) for software development.

This kind of testing is really important, if the software failed to be designed by the industry standards, it may severely affect the business, why?  Because businesses are built (in 99%) to make profits. 

Some public/governmental institutes want to see that the software designed and compatible with the industry standards, otherwise they simply cannot buy and use it in their institutes.


  1. The content you posted helps me to get the in depth knowledge about the various technology and it is very interesting to go through it. Thanks for sharing it.
    AngularJS Training in Chennai | AngularJS course in Chennai

  2. A debt of gratitude is in order for the enlightening article. This is one of the best assets I have found in a long while. Pleasantly composed and incredible data. I truly can't thank you enough to share.
    Manual Testing Training in Chennai | Manual Testing course in Chennai | Manual Testing Training Chennai


  3. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it. The python programming language is very popular and most widely used.
    Python Training in Chennai | Python Course in Chennai

  4. Well Said, you have furnished the right information that will be useful to anyone at all time. Thanks for sharing your Ideas.
    PHP Training in Chennai | PHP course in Chennai


My Presentations