I have faced this question numerous times during interviews. Given a simple application diagram (like below) how would you test it or what will be your test plan or test strategy. I know it is a very broad question and doesn't have a right or wrong answer but that what makes this tricky during interviews.

Application Diag

  • What is the best way to answer this?
  • And what pointers should I keep in mind while answering?

Any link to good study material is appreciated. Please keep in mind, this is the most basic and generalized diagram I came up from all the similar kind of questions asked. Thanks in advance!

  • 2
    So what was your answer? You surely have some idea in mind, perhaps you can share it as well.
    – pavelsaman
    Commented Aug 6, 2020 at 19:35
  • @pavelsaman Of course I wont stand there dumb and not answer anything :P But I knew my answers, though long, were not constructed well and was all over the place, hence asked this question. Joao 's answer below does help a lot in paving the way to answer this question!
    – Reema
    Commented Aug 6, 2020 at 21:57
  • @Reema - what are your initial thoughts on how to test this ? i.e. what have you tried ? You can mention it at a high level, without getting into too many details. Ex.I would do this kind of testing in UI layer, that kind of testing in API layer etc.
    – MasterJoe
    Commented Aug 7, 2020 at 15:49

1 Answer 1


Given a simple application diagram how would you test it or what will be your test plan or test strategy.

The only answer to a question like this is: "There is no such thing as 'go there and test'". Testing is performing a risk investigation activity. Any investigation has goals and questions to be answered.

So, what type of testing one usually do in software systems with components of UI, Business Logic, and data storage?

UI -> Usability, accessibility, consistency, internationalization, etc;

Business Logic -> Error handling, boundary cases handling, code health, etc;

Data storage -> Scalability, reliability, chaos handling, etc;

System-level -> Comparison with competitors, inward and outward dependencies.

It may be important in your context to have fast feedback that we are building what we think we want to build. This is where automated checking comes into play: Unit testing, integration testing, acceptance testing, etc.

But these are the techniques to investigate some risks. To uncover these risks, you do risk analysis, with techniques such as Open Coding (extracting risk scenarios from the risk categories) and Backwards Coding (extracting risk categories from risk scenarios (in order to fuel a round of Open Coding)).

A test plan is a document showing who does what and when, and how things connect to each other to fulfil an investigative goal ("Which risks were we focused on and how did we investigate them?").

You can use Product Coverage Outlines and checklists to explain it.

enter image description here

In the end, your test plan and the test report should tell a story to your stakeholders: enter image description here

A test strategy encompasses the framework under which your test plans for a product are created, detailing the context of develop of this product. One common example is the Heuristic Test Strategy Model

enter image description here enter image description here enter image description here

  • FariasThanks a lot, this gives an awesome idea of how to construct and answer these kind of questions. I want to add something here though,first time I was asked this question, it was for a position which was heavy on the API and webservices side, do you think you could add some inputs for specially API testing part?
    – Reema
    Commented Aug 6, 2020 at 21:53
  • 1
    APIs are interfaces for machines / programs to communicate, so, your testing must be guided by how these machines / programs communicate: What are the protocols? What are the expectations (performance e.g.)? What are the risks involved in this communication? The Heuristic Test Strategy Model have points where you can think "how would a machine /program interact in relation to X aspect (e.g. time-zones)?" Then you can do Open and Backwards Encoding for risk analysis in the same way. Commented Aug 26, 2020 at 14:46

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.