Top 50 Software Testing/SQA FAQs you may be asked in an Interview!


Long since I was being asked to compile a list of Software Testing Interview Questions by some of my blog readers/friends. So at last I have managed to compile a list of Top 50 Software Testing/SQA FAQs you may be asked in an Interview! So here it goes...


1. What is 'Software Quality Assurance'?


Software QA involves the entire software development PROCESS - monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with.

2. What is 'Software Testing'?


Testing involves operation of a system or application under controlled conditions and evaluating the results. Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn't or things don't happen when they should.

3. Does every software project need testers?


It depends on the size and context of the project, the risks, the development methodology, the skill and experience of the developers. If the project is a short-term, small, low risk project, with highly experienced programmers utilizing thorough unit testing or test-first development, then test engineers may not be required for the project to succeed. For non-trivial-size projects or projects with non-trivial risks, a testing staff is usually necessary. The use of personnel with specialized skills enhances an organization's ability to be successful in large, complex, or difficult tasks. It allows for both a) deeper and stronger skills and b) the contribution of differing perspectives.

4. What is Regression testing?


Retesting of a previously tested program following modification to ensure that faults have not been introduced or uncovered as a result of the changes made.

5. Why does software have bugs?


Some of the reasons are:
a. Miscommunication or no communication.
b. Programming errors
c. Changing requirements
d. Time pressures

6. How can new Software QA processes be introduced in an existing Organization?

It depends on the size of the organization and the risks involved.
a. For small groups or projects, a more ad-hoc process may be appropriate, depending on the type of customers and projects.
b. By incremental self managed team approaches.

7. What is verification? Validation?

Verification typically involves reviews and meetings to evaluate documents, plans, code, requirements, and specifications. This can be done with checklists, issues lists, walkthroughs, and inspection meetings. Validation typically involves actual testing and takes place after verifications are completed.

8. What is a 'walkthrough'? What's an 'inspection'?


A 'walkthrough' is an informal meeting for evaluation or informational purposes. Little or no preparation is usually required. An inspection is more formalized than a 'walkthrough', typically with 3-8 people including a moderator, reader, and a recorder to take notes. The subject of the inspection is typically a document such as a requirements spec or a test plan, and the purpose is to find problems and see what's missing, not to fix anything.

9. What kinds of testing should be considered?


Some of the basic kinds of testing involve:Blackbox testing, Whitebox testing, Integration testing, Functional testing, smoke testing, Acceptance testing, Load testing, Performance testing, User acceptance testing.

10. What are 5 common problems in the software development process?

a. Poor requirements
b. Unrealistic Schedule
c. Inadequate testing
d. Changing requirements
e. Miscommunication

11.What are 5 common solutions to software development problems?

a. Solid requirements
b. Realistic Schedule
c. Adequate testing
d. Clarity of requirements
e. Good communication among the Project team

12. What is software 'quality'?


Quality software is reasonably bug-free, delivered on time and within budget, meets requirements and/or expectations, and is maintainable

13. What are some recent major computer system failures caused by software bugs?


Trading on a major Asian stock exchange was brought to a halt in November of 2005, reportedly due to an error in a system software upgrade. A May 2005 newspaper article reported that a major hybrid car manufacturer had to install a software fix on 20,000 vehicles due to problems with invalid engine warning lights and occasional stalling. Media reports in January of 2005 detailed severe problems with a $170 million high-profile U.S. government IT systems project. Software testing was one of the five major problem areas according to a report of the commission reviewing the project.

14. What is 'good code'? What is 'good design'? 

'Good code' is code that works, is bug free, and is readable and maintainable. Good internal design is indicated by software code whose overall structure is clear, understandable, easily modifiable, and maintainable; is robust with sufficient error-handling and status logging capability; and works correctly when implemented. Good functional design is indicated by an application whose functionality can be traced back to customer and end-user requirements.

15. What is SEI? CMM? CMMI? ISO? Will it help?


These are all standards that determine effectiveness in delivering quality software. It helps organizations to identify best practices useful in helping them increase the maturity of their processes.

16. What steps are needed to develop and run software tests?

a. Obtain requirements, functional design, and internal design specifications and other necessary documents
b. Obtain budget and schedule requirements.
c. Determine Project context.
d. Identify risks.
e. Determine testing approaches, methods, test environment, test data.
f. Set Schedules, testing documents.
g. Perform tests.
h. Perform reviews and evaluations
i. Maintain and update documents

17. What's a 'test plan'? What's a 'test case'?


A software project test plan is a document that describes the objectives, scope, approach, and focus of a software testing effort. A test case is a document that describes an input, action, or event and an expected response, to determine if a feature of an application is working correctly.

18. What should be done after a bug is found?


The bug needs to be communicated and assigned to developers that can fix it. After the problem is resolved, fixes should be re-tested, and determinations made regarding requirements for regression testing to check that fixes didn't create problems elsewhere

19. Will automated testing tools make testing easier?

It depends on the Project size. For small projects, the time needed to learn and implement them may not be worth it unless personnel are already familiar with the tools. For larger projects, or on-going long-term projects they can be valuable.

20. What's the best way to choose a test automation tool?

Some of the points that can be noted before choosing a tool would be:
a. Analyze the non-automated testing situation to determine the testing activity that is being performed.
b. Testing procedures that are time consuming and repetition.
c. Cost/Budget of tool, Training and implementation factors.
d. Evaluation of the chosen tool to explore the benefits.

21. How can it be determined if a test environment is appropriate?

Test environment should match exactly all possible hardware, software, network, data, and usage characteristics of the expected live environments in which the software will be used.

22. What's the best approach to software test estimation?

The 'best approach' is highly dependent on the particular organization and project and the experience of the personnel involvedSome of the following approaches to be considered are:
a. Implicit Risk Context Approach
b. Metrics-Based Approach
c. Test Work Breakdown Approach
d. Iterative Approach
e. Percentage-of-Development Approach

23. What if the software is so buggy it can't really be tested at all?

The best bet in this situation is for the testers to go through the process of reporting whatever bugs or blocking-type problems initially show up, with the focus being on critical bugs.

24. How can it be known when to stop testing?


Common factors in deciding when to stop are:
a. Deadlines (release deadlines, testing deadlines, etc.)
b. Test cases completed with certain percentage passed
c. Test budget depleted
d. Coverage of code/functionality/requirements reaches a specified point
e. Bug rate falls below a certain level
f. Beta or alpha testing period ends

25. What if there isn't enough time for thorough testing?

a. Use risk analysis to determine where testing should be focused.
b. Determine the important functionality to be tested.
c. Determine the high-risk aspects of the project.
d. Prioritize the kinds of testing that need to be performed.
e. Determine the tests that will have the best high-risk-coverage to time-required ratio.

26. What if the project isn't big enough to justify extensive testing?


Consider the impact of project errors, not the size of the project. The tester might then do ad-hoc testing, or write up a limited test plan based on the risk analysis.

27. How does a client/server environment affect testing?

Client/server applications can be quite complex due to the multiple dependencies among clients, data communications, hardware, and servers, especially in multi-tier systems. Load/stress/performance testing may be useful in determining client/server application limitations and capabilities.

28. How can World Wide Web sites be tested?

Some of the considerations might include:
a. Testing the expected loads on the server
b. Performance expected on the client side
c. Testing the required securities to be implemented and verified.
d. Testing the HTML specification, external and internal links
e. cgi programs, applets, javascripts, ActiveX components, etc. to be maintained, tracked, controlled

29. How is testing affected by object-oriented designs?

Well-engineered object-oriented design can make it easier to trace from code to internal design to functional design to requirements. If the application was well designed this can simplify test design.

30. What is Extreme Programming and what's it got to do with testing?

Extreme Programming (XP) is a software development approach for small teams on risk-prone projects with unstable requirements. For testing ('extreme testing', programmers are expected to write unit and functional test code first - before writing the application code. Customers are expected to be an integral part of the project team and to help develop scenarios for acceptance/black box testing.

31. What makes a good Software Test engineer?

A good test engineer has a 'test to break' attitude, an ability to take the point of view of the customer, a strong desire for quality, and an attention to detail. Tact and diplomacy are useful in maintaining a cooperative relationship with developers, and an ability to communicate with both technical (developers) and non-technical (customers, management) people is useful.

32. What makes a good Software QA engineer?

They must be able to understand the entire software development process and how it can fit into the business approach and goals of the organization. Communication skills and the ability to understand various sides of issues are important. In organizations in the early stages of implementing QA processes, patience and diplomacy are especially needed. An ability to find problems as well as to see 'what's missing' is important for inspections and reviews

33. What's the role of documentation in QA?

QA practices should be documented such that they are repeatable. Specifications, designs, business rules, inspection reports, configurations, code changes, test plans, test cases, bug reports, user manuals, etc. should all be documented. Change management for documentation should be used.

34. What is a test strategy? What is the purpose of a test strategy?

It is a plan for conducting the test effort against one or more aspects of the target system.A test strategy needs to be able to convince management and other stakeholders that the approach is sound and achievable, and it also needs to be appropriate both in terms of the software product to be tested and the skills of the test team.

35. What information does a test strategy captures?



It captures an explanation of the general approach that will be used and the specific types, techniques, styles of testing

36. What is test data?


It is a collection of test input values that are consumed during the execution of a test, and expected results referenced for comparative purposes during the execution of a test

37. What is Unit testing?

It is implemented against the smallest testable element (units) of the software, and involves testing the internal structure such as logic and dataflow, and the unit's function and observable behaviors

38. How can the test results be used in testing?

Test Results are used to record the detailed findings of the test effort and to subsequently calculate the different key measures of testing

39. What is Developer testing?

Developer testing denotes the aspects of test design and implementation most appropriate for the team of developers to undertake.

40. What is independent testing?

Independent testing denotes the test design and implementation most appropriately performed by someone who is independent from the team of developers.

41. What is Integration testing?

Integration testing is performed to ensure that the components in the implementation model operate properly when combined to execute a use case

42. What is System testing?

A series of tests designed to ensure that the modified program interacts correctly with other system components. These test procedures typically are performed by the system maintenance staff in their development library.

43. What is Acceptance testing?

User acceptance testing is the final test action taken before deploying the software. The goal of acceptance testing is to verify that the software is ready, and that it can be used by end users to perform those functions and tasks for which the software was built

44. What is the role of a Test Manager?

The Test Manager role is tasked with the overall responsibility for the test effort's success. The role involves quality and test advocacy, resource planning and management, and resolution of issues that impede the test effort

45. What is the role of a Test Analyst?

The Test Analyst role is responsible for identifying and defining the required tests, monitoring detailed testing progress and results in each test cycle and evaluating the overall quality experienced as a result of testing activities. The role typically carries the responsibility for appropriately representing the needs of stakeholders that do not have direct or regular representation on the project.

46. What is the role of a Test Designer?

The Test Designer role is responsible for defining the test approach and ensuring its successful implementation. The role involves identifying the appropriate techniques, tools and guidelines to implement the required tests, and to give guidance on the corresponding resources requirements for the test effort

47. What are the roles and responsibilities of a Tester?

The Tester role is responsible for the core activities of the test effort, which involves conducting the necessary tests and logging the outcomes of that testing. The tester is responsible for identifying the most appropriate implementation approach for a given test, implementing individual tests, setting up and executing the tests, logging outcomes and verifying test execution, analyzing and recovering from execution errors.

48. What are the skills required to be a good tester?

A tester should have knowledge of testing approaches and techniques, diagnostic and problem-solving skills, knowledge of the system or application being tested, and knowledge of networking and system architecture

49. What is test coverage?

Test coverage is the measurement of testing completeness, and it's based on the coverage of testing expressed by the coverage of test requirements and test cases or by the coverage of executed code.

50. What is a test script?

The step-by-step instructions that realize a test, enabling its execution. Test Scripts may take the form of either documented textual instructions that are executed manually or computer readable instructions that enable automated test execution.
Share on Google Plus

About Debasis Pradhan

Debasis has over a decade worth of exclusive experience in the field of Software Quality Assurance, Software Development and Testing. He writes here to share some of his interesting experiences with fellow testers.

21 Comments:

  1. Hi debasis...
    This is shilpa. I ve been lookin for these intw questions since long time....Finally got it on ur blog! Thanx!!!

    ReplyDelete
  2. Hi Debasis,

    I believe you are a James Bach student of skilled testing group as I and Pradeep are ....

    By compiling a list of interview questions, I think you are giving a wrong signal to your blog readers that one can get away with mugging up a set of questions and become a tester - get a tester job.

    Note that blogs of James, Michael, Cem, Micheal Hunter and other well known tester - does not contain post with words like "interview questions", "QA proceces" and other FActory school stuff ---

    you have passion for testing, channelise it in a proper direction - you can become big one one day ...

    Just keep following what your "gurus" in testing do - till you can stand on your own ...

    Shrini

    shrinik.blogspot.com

    ReplyDelete
  3. Hi Shrini,

    You are right. I follow people like Cem Kaner, James Bach, Michael Bolton. And I subscribe to James Bach's school of thinking. I try to follow some of his ways of testing too. But I am not as lucky as you or Pradeep are, to be his student as yet.

    As far as mugging up a series of questions is concerned, I am a strong antagonist of such belief. May be that is the reason, why I don't belive in the so called Testing Certification programs. (http://software-testing-zone.blogspot.com/2007/04/best-certification-in-software-testing.html).

    I understand you point. But this post was in no way intended to give the wrong signal. I had posted this just just to be used as a guideline.

    Any way, I think I have evolved a lot as a tester since the day I had compiled this post. I understand and agree with your point. You won't see such posts in my blog in future. :)

    Thanks,
    -Debasis.

    ReplyDelete
  4. Hi, Debasis,
    Not sure where this goes, but here goes: Here's a multi-faceted bug, so the question is, "Where do I start?" The ingredients are as follows: Verizon FIOS, Router, Windows 94, Compaq computer, new Ethernet port installed, new Ethernet software installed. Still, no Ethernet connection. There is no green light at the port, either.
    What does work? I am using a Netwear wireless connection on my other computer to the same router: works fine. Running Windows XP.
    So where should I start? The computer boots up fine, I can do computer stuff all day long, just so long as I don't try to connect to the Ethernet.
    Thanks,
    alicecbrown
    Love your comments because I can extrapolate to other testing areas.

    ReplyDelete
  5. @ AliceBrown,

    Let me summarize what I understand from your question:

    a) You are using (rather trying to use) Verizon FIOS fiber optics connection as a means to connect to the Internet.

    b) A Router (may I know of which type)!

    c) Windows 94 - Did you mean Windows 95 instead? As far as my knowledge in computing goes I don't remember an OS called Windows 94! However some people do use Windows 94 to mean Windows 95, as Win 95 was actually scheduled to be released in 1994! Which OS are you using exactly?

    d) A Compaq computer, new Ethernet port installed with new Ethernet software installed!

    Problem: No Ethernet connection! No green light on the port!

    More Info: Works fine when you are using a Netwear wireless connection on your other computer (Running Windows XP) to the same router!

    Before I could comment on this problem, let me confess that I am neither a hardware professional nor a networking guru. :) However, from the above problem summary, I am inclined to think that probably the installed OS (Windows 94/95) might be the culprit here. I doubt the compatibility of such an OS with a fiber optic connection like Verizon FIOS. [NOTE: Fiber optics became more popular towards the late 90’s – i.e. well after the lunch of Windows 94/95!] You may verify the compatibility by contacting with your nearest Verizon FIOS technical support team.

    I believe your problem has nothing to do with your Router as it works fine on your other machine running on Win XP. This further strengthens my doubt that this problem has more to do with the OS installed on your Compaq machine.

    Let me know if my suspicion was right. Happy Testing ...

    Regards,
    -Debasis

    ReplyDelete
  6. I don't understand whats wrong in posting these "Interview questions".

    I for one am new to software testing and this post helped me in getting an idea of what kind of questions are asked in the interview (and what kind of areas I need to focus on before applying for a job as a software tester).

    Anyway. Thanks for the great post Debasis.

    ReplyDelete
  7. Hi Debasis,

    There are some questions in my mind. Please answer.

    Q1: What is difference between QA and QC?
    Q2: There is saying QA is preventive and QC is Corrective. How? Correct me if I am wrong about preventive and corrective methods. I dont know exact words
    about them.
    Q3: What is meant by "context of the project"?
    Q4: What is Unrealistic and Realistic schedule?
    Q5: What is CMM, CMMI, SEI, ISO. Please explain in detail. How One can came to know which standard followed by company? Who controlled these standars?
    Q6: What is objective, scope, and approch of project?
    Q7: What is Golden Bug?
    Q8. What is Agile, Exploratory and Rapid Testing? Which is mostly opted now a days.

    Preeti
    preeti.sharma0903@gmail.com

    ReplyDelete
  8. @ Preeti,

    Wish I could answer all the above questions here. But the comment box is too short for it, I believe. In the meantime, why don't you try Google and Wikipedia? I'm sure you would get answers to most of your questions by that way.

    ReplyDelete
  9. I was recently on a phone interview were I was asked "What's the appropiate amount of manual to automated testing?" I don't know of a good answer to this question save "it depends on the company, resources, and project".

    Do you have a good answer?

    ReplyDelete
  10. Hi

    I read this post two times.

    I like it so much, please try to keep posting.

    Let me introduce other material that may be good for our community.

    Source: Building inspector interview questions

    Best regards
    Henry

    ReplyDelete
  11. Hi

    Tks very much for post:

    I like it and hope that you continue posting.

    Let me show other source that may be good for community.

    Source: Interview questions answers

    Best rgs
    David

    ReplyDelete
  12. Hi

    I read this post 2 times. It is very useful.

    Pls try to keep posting.

    Let me show other source that may be good for community.

    Source: History teacher cover letter

    Best regards
    Jonathan.

    ReplyDelete
  13. Hi

    I like this post:

    You create good material for community.

    Please keep posting.

    Let me introduce other material that may be good for net community.

    Source: Test manager interview questions

    Best rgs
    Peter

    ReplyDelete
  14. It's nice to find a site you can trust. I like the privacy of shopping online, but you never know what sites are okay. Visit W21099.com this site was recommended by a friend so I tried it. They provide a w2 software, 1099 Software, w-2 software, 1099 misc, 1099 misc software, w2c software, w-2c software, w2 electronic filing, w-2 electronic filing and 1099 electronic filing at affordable price.Their service was great! I'm becoming a frequent shopper!

    ReplyDelete
  15. I have been working on SQA for many years and I can tell you summarized pretty well the concepts.

    Great blog!

    ReplyDelete
  16. Hello,
    I am very impressed with the article I have just read,so nice.......

    epub format

    ReplyDelete
  17. If I am a software testing guy I will surely take a look of these questions before leaving for an interview..

    ReplyDelete
  18. Thank you for sharing a lots of things inside your blog. I like it and hope that you are continue posting w2 software

    ReplyDelete
  19. This is a great inspiring article. I am pretty much pleased with your good work. You put really very helpful information. Keep it up. Keep blogging. Looking to reading your next post.

    ReplyDelete
  20. Hi Guys This is Dineshkumar.

    Please share your interview Experience it is very useful us.

    ReplyDelete

NOTE: Comments posted on Software Testing Tricks are moderated and will be approved only if they are on-topic. Please avoid comments with spammy URLs. Having trouble leaving comments? Contact Me!